What Zoza Verify stores. What we never see. How long we keep metadata. The sub-processor list. The DPA template.
Zoza Verify never sees the content of the SMS, email, push, or RCS messages a business sends after signing. The business calls POST /v1/sign with a message, we return a signature, and the business sends the signed message via their own SMS gateway. We do not log message content past the sign call, do not record who it was sent to, and do not see whether the recipient ever received or read it.
The consumer-side verification path is designed to run offline against a cached public-key registry. When a consumer verifies a signed message this way, Verify's servers never see the call. The only consumer-side data we might see is if a consumer opts into server-side verify (POST /v1/verify), in which case we see the business_id, the message_id, and the signature bytes — never the identity of the consumer and never the message content tied to them.
| Data class | Purpose | Retention |
|---|---|---|
| Business metadata id, name, domain, api_key_hash, public_key, channels, verified flag, active flag, created_at, message_count | Authenticate API calls; rate-limit; serve public-key lookups to consumers | For the life of the account + 90 days after deletion request |
| Private signing keys Ed25519 private key, encrypted at rest with the per-business KDF derivative of the root key | Sign messages on behalf of the business when they call POST /v1/sign | Until key rotation; old keys destroyed 30 days after rotation so any in-flight signed messages can still be verified |
| Public-key registry id, business name, domain, public_key, channels, verified flag, active flag | Exported via GET /v1/registry for offline consumer verification | Active businesses: live. Revoked: marked inactive in the registry for 365 days so old signed messages remain verifiable with context |
| Application queue company, email, website, use_case, use_case_details, volume_tier, plan_requested, status, submitter_ip, created_at | B2B apply workflow; admin approve/reject; abuse rate-limiting | 12 months after approval/rejection decision |
| Request logs timestamp, business_id, endpoint, status code, bytes in/out, response time, Fly-Client-IP | Incident response, billing usage metering, abuse detection | 30 days rolling; aggregated metrics retained indefinitely |
| Audit log (planned v0.2) hash-chained entries: business register/rotate/revoke/verify-domain, application approve/reject, admin token use, daily registry-snapshot Merkle-roots | Transparency; tamper-evident record of registry mutations | Indefinite — append-only, cannot be deleted |
POST /v1/sign are hashed into the Ed25519 signature and discarded from memory. They are never persisted, logged, or backed up.POST /v1/verify, we never ask for or receive any identifier tying the call to a person.Businesses can rotate their Ed25519 keypair at any time via an authenticated call to POST /v1/businesses/{id}/rotate (planned v0.2 — today requires admin assist). On rotation:
crypto/rand.superseded_at for 30 days, so messages signed before rotation remain verifiable.business_rotate.Customers can delete their business account at any time via hello@zoza.world. Within 7 business days:
verify_applications.deleted_at for 365 days so old signed messages remain context-verifiable ("yes, this was a real SBI signature, but SBI has since withdrawn from Verify").We route traffic and store data through the minimum number of third parties. Each is listed with its function and jurisdiction. We notify customers 30 days in advance of any change.
| Processor | Function | Jurisdiction |
|---|---|---|
| Fly.io | Application hosting (Singapore + Ashburn VA), managed Postgres | USA (Delaware) |
| Cloudflare | DNS for zoza.world zone (no proxy; DNS-only for verify-api) | USA (California) |
| Immunefi | Bug bounty platform (scope docs only, no customer data) | Netherlands |
That's it — we don't use third-party analytics, APM, email marketing platforms, or CRM for Verify customers. Billing uses Stripe (when activated); Stripe sees your billing info, not your Verify usage. SMS gateway connections (MSG91, Gupshup, Twilio, Kaleyra) are your integrations — we never broker the SMS itself.
| Framework | Zoza's role | Status |
|---|---|---|
| DPDP 2023 (India) | Data Processor / Data Fiduciary (tbd by customer) | Grievance officer designated; consent integration on roadmap |
| TRAI UCC / DLT (India) | Optional trust layer above DLT — not a DLT replacement | Aligns with TRAI 2023 amendments on sender-verified messaging; not DLT-mandated |
| RBI circular on fraud (India) | Supporting tool for regulated entities' fraud-prevention obligations | Non-mandated; offered as a fraud-reduction control |
| eIDAS / ETSI TS 119 312 (EU) | Advanced electronic signature provider | Ed25519 recognised; QES-level certification on roadmap (needs Qualified Trust Service Provider accreditation) |
| NIST FIPS 186-5 (US) | Approved Ed25519 signature scheme | Ed25519 approval finalized Feb 2023; Verify's scheme aligns |
| GDPR (EU) | Data Processor | DPA template available; sub-processor list above |
| CCPA / CPRA (California) | Service Provider | Service-provider agreement template aligned with §1798.140(v) |
| CERT-In empanelment (India) | For regulated BFSI customers — audit conformance | Engagement planned Q3 2026 |
Our standard DPA (GDPR Art. 28 + CCPA Service-Provider clauses + DPDP processor provisions) is available as a PDF on request. Non-standard terms require Enterprise contracts — email hello@zoza.world. Key provisions:
Changes to this policy are committed to frontend-web/public/about/verify-retention.html in the Zoza source-code repository. Customers can git log the file for a full history. Material changes trigger email notification to all active customer contacts 30 days in advance.
Questions about this policy: hello@zoza.world
Data deletion requests: hello@zoza.world
GDPR / DPDP rights (access, portability, erasure): your end-users should contact you, since you're the controller; we route requests you make to us about your business account.
Last updated 2026-04-17. © 2026 Zoza. Source code copyright LD-16949/2026-CO.