master-zapier-plan-draft/docs/01-product/features-a-m.md
George Lambert 645a24909a Adjacent work: PDF receipts, encrypted blob+share mock, NATS tunnel, SHA256 Zapier action
Around remaining blockers (Zapier login, live Verae): generate PDF receipts
without extra deps; AES-256-GCM object store with tenant isolation and share
tokens; scripts/nats-tunnel.sh to NS1; SHA256 Hash Text local Zapier action;
scripts/test-offline.sh for the no-login suite.

Learned: other-tenant object GET is 403; share token is the mock unwrap path.
2026-09-09 02:59:06 -04:00

27 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# README features am
Source: [workspace-brief.md](../00-sources/workspace-brief.md). Owners after composition: [composition.md](../02-architecture/composition.md).
| ID | Capability | Owner | Status in imported code | Live Verae OpenAPI |
|----|------------|-------|-------------------------|--------------------|
| a | Customer gets own API key | zappier `/portal` signup + regen | Built (`x-api-key`) | No |
| b | Billing after usage limit | zappier meter + credit + portal reload + Stripe + admin PO | Built | No |
| c | Register SHA256 or return original timestamp + ref | verae middleware mock + zappier `/v1/timestamp` | **Mock done** — second create returns original `jobId` + `existing: true` | Live OpenAPI still `data` only |
| d | Lookup by SHA256 | `GET /zapier/v1/hashes/{sha256}` and zappier `/v1/hashes/{sha256}` | **Mock done** | No live Verae route |
| e | Timestamp + public/private metadata | verae mock | Missing | No |
| f | e + encrypted LTS binary | `POST/GET /zapier/v1/objects` AES-256-GCM mock | **Mock done** | No |
| g | Share file/dir + decryption key | `POST .../share` + `GET /zapier/v1/shares/:token` | **File mock done**; directory tree still TBD | No |
| h | Retrieve SHA256 + metadata | verae status/verify | Partial by `jobId` | `GET /api/status/{jobId}`, `GET /api/verify/{jobId}` |
| i | Certified retrieval receipt (PDF/JSON) extra seal | `GET /zapier/v1/receipts/{jobId}?format=json\|pdf` | **JSON + PDF mock done** | No |
| j | Setup payment method | zappier portal reload (Stripe) | Built (prepaid reload; card-on-file TBD) | No |
| k | Get invoices | zappier portal + admin | Built | No |
| l | Get payment receipts | zappier invoice HTML/print | Built as invoices | No |
| m | Subscription management | zappier tiers `free`/`pro`/`business` | Built as customer type, not Stripe Subscription | No |
## Zapier Platform nouns (today vs target)
**Today (`packages/verae-zapier`):** Create Timestamp, Create Timestamp and Wait, Batch, Verify, Find Job Status, Timestamp Completed (REST Hook). Auth: Bearer `zmw_`.
**Target public edge (`packages/zappier` `/v1/*`):** same operations, metered, `x-api-key`. Plus Find Usage / List Invoices from zappier.
**Not in v1 listing:** Verae admin HTML, user CRUD, get-block-by-hash.