LiveHow do we verify a Presence Record ourselves?
Verify a record
Download the verification bundle from any decision and check it offline against our published key. Nothing is sent to us.
Two independent checks
The chain check recomputes SHA-256 over the previous chain hash and the canonical payload, and compares it to the record's chain hash. That is what proves the record has not been altered.
The signature check verifies an Ed25519 signature over the canonical form of the chain hash and payload, against the JWK whose key id the record names. That is what proves we signed it.
A ~100-line dependency-free script does both. OpenSSL verifies the signature too, but reproducing the canonical bytes with shell tools is the error-prone step — which is why we ship the script rather than only a command line.
Check it yourself
The artifacts behind this page
- The offline verifier, and its checksum.verify-dossier.mjs →
- The keys it checks against./proof/signing-keys →
- Run a decision and download its bundle./demo →