10s10-second perishable proofs
A presentation is valid for only 10 seconds. Within that window a single bound session can satisfy multiple predicates against one credential or across several, then it expires and cannot be replayed — not even across a verifier restart.
⊞Full cryptographic binding
Every presentation is bound to a unique challenge and nonce you issue, the exact audience and origin, the requested policy, the current issuer status root and a finalized chain height. Nothing about it transfers to another context.
◉Online verification
Before accepting, you check the latest finalized issuer and verifier state on-chain — reads verified cryptographically against the chain’s own headers, so you never have to trust an RPC endpoint. Verification is online; offline acceptance is out of scope for the MVP, so you never act on stale trust.
≥Predicates & selective disclosure
You request only the facts you need: grade ≥ A3, an age threshold, credential active, issuer accepted, credential unexpired. The holder proves the predicate without revealing the underlying data.
▤Minimal decision record
Presentations never enter the chain. You keep only a minimal decision record of the outcome — not the full proof and not the person — so there is nothing sensitive to leak or subpoena.
✓KYC-approved verifier registry
To request proofs you must be registered and KYC-approved on-chain, hold a current authorization status, and prove control of every domain, origin and signing key you use.