A receipt for every decision
Every verification comes back with what it decided and why: the score for each step, the required threshold, the model version and the media hashes, signed with your organization's key.
Anatomy of a receipt
- The resultApproved, rejected or human review — never a hidden "maybe".
- Each checkWith the score it got and the threshold it needed.
- The yardstick usedThe hash of the policy in force at that exact second.
Decision receipt5b0e…
Approved
- Quality0.99 / 0.60
- Liveness0.97 / 0.80
- Randomized gestures3 of 3
- Same face throughout the video0.92 / 0.70
- Face × ID0.74 / 0.70
face-engine 2026.09.20 · ISO/IEC 30107-3 profile
Ed25519 · 9f3a…c21d
Ed25519 · 9f3a…c21d
- The engine and versionSo you know, months later, which model decided.
- The signatureYour organization's Ed25519 key. Check it with the public key.
- The hashesOf the video, the best frame and the ID.
Nine states, none ambiguous
The status tells you what to do: proceed, reject, send to a person or try again. Only an engine error retries on its own.
Verifiable without Catalisa
Months later, in an audit or a dispute, anyone can check the signature with your organization's public key.
Download the public key
Your organization's, at GET /evidence-keys.
Get the receipt
At GET /sessions/:id/evidence, with the signature.
Verify
openssl pkeyutl -verify — on your own machine, with Catalisa offline.