Responsible disclosure

Scope, severity tiers, SLA, and safe-harbour are published and binding today. Cash rewards activate once Vault closes its first paying pilot — researchers who file before that are paid retroactively at the tier we confirmed them into.

๐ŸŸก Scope live ยท cash payouts coming soon
โš  Honest status โ€” no cash rewards yet

Vault is pre-revenue. Advertising dollar bounties we cannot pay would be dishonest — we've seen enough "bounty ghosting" in this industry to know it damages researchers more than the companies doing it. This page publishes the full scope, safe-harbour clause, and report path today so good-faith researchers have everything they need. Specific dollar ranges per tier publish on the same commit that flips Vault's status from pre-revenue to first-paying-customer, and pay out retroactively against every confirmed tier in the hall of fame.

Why this exists

Vault holds the plaintext-to-ciphertext conversion for regulated data: patient records, payment cards, SSNs, insurance IDs. A bug in Vault is worse than the bug it was meant to prevent — customers trust Vault to keep plaintext off the CDN layer, and a silent bypass is a regulator-reportable breach.

The scope is deliberately narrow. We want depth on the highest-impact classes — cryptographic bypass, key extraction, timing side-channels — not volume on low-severity UX issues.

Scope

In scope

AssetDescription
products/zoza-vault/vault.goCore Seal/Open primitives — Curve25519 + HKDF + AES-GCM
products/zoza-vault/padding.gov2 fixed-block padding wire format. Length-inference attacks in scope
products/zoza-vault/timing.goConstant-time decrypt wrapper. Timing-side-channel escapes in scope
products/zoza-vault/server.goHTTP API — app register/rotate, decrypt, public-key, applications
products/zoza-vault/applications_handlers.goApply + admin approve/reject. Admin-token escapes in scope
products/zoza-vault/sdk/vault.jsBrowser SDK — X25519 + HKDF + AES-GCM in Web Crypto
vault-api.zoza.worldProduction HTTP API
frontend-web/public/developers/vault.htmlDeveloper docs + public apply form. XSS / injection in scope

Out of scope

What counts as critical

Severity tiers · cash rewards coming soon

SeverityRangeCriteria
CriticalComing soonCryptographic break, key extraction, auth bypass at admin layer, stored-ciphertext decrypt without key
HighComing soonPartial plaintext leak (e.g. reliable length distinguisher), timing distinguisher, admin-role escalation
MediumComing soonReliable DoS against decrypt path, app-confusion attack, cross-account info leak (not plaintext)
LowComing soonReflected XSS in docs, CSRF on non-mutating endpoints, CORS hardening without demonstrable exploit

Tier classification is binding today — confirmed reports enter the hall of fame at the confirmed tier. Dollar ranges per tier publish and backfill retroactively once the program is funded by a paying pilot. Reports that include a reproducible test case against main (2×) or a working patch (3×) earn the multiplier on the tier they land in.

Rules of engagement

โœ“ Safe harbor

We will not pursue legal action against researchers operating in good faith within this scope. This commitment is binding and published — not a "we'll decide later" promise.

How to report

  1. Email security@zoza.world, encrypted with our PGP key (fingerprint in security.txt).
  2. Include: bug class, minimal reproducer, commit hash, and preferred future-payout rail (USDC on Arbitrum / Base / Solana, or USD wire after KYC). Rail honoured when the program activates.
  3. We acknowledge within 24 business hours and issue a triage ID within 72.

Hall of fame

Every confirmed report is listed here with reporter credit (unless opted out) + assigned tier + resolution date, starting today. Tiers here are what retroactive dollar payouts pay against once the program is funded. No planting of straw reports.

Last updated 2026-04-17. ยฉ 2026 Zoza. Source code copyright LD-16949/2026-CO.