Check a record
Proof you can check, not proof you have to trust.
This page recomputes a record from scratch: every message's fingerprint, every link in the chain, and the signed checkpoint that holds them. Only fingerprints are checked. Your words are never published, and your file never leaves this device.
The record check
1. Choose a record
Loading the sample record.
Drop a SIGIL export file here.
2. Check it
Every check runs on this device with your browser's own cryptography.
3. Try to change it
This receipt checks the record. It does not judge what the message says, and it does not show who typed it.
Checkpoint 000421 · verify at sigil.avowal.ai/verify
Messages in this record
Each message's words are shown as they are in the file. A red line marks exactly where the record stops matching.
What this page checks
Four checks, all on your device
The words
Each message's words, sender, recipient, subject and sent time are fingerprinted again with its salt. The result must equal the fingerprint recorded when it was sent.
The chain
Each message must point to the exact fingerprint of the one before it. A deleted, added or reordered message breaks the chain at that spot.
The checkpoint
Every message the checkpoint covers must be in the file and included in the signed checkpoint, and all of them together must rebuild the checkpoint's root. The signature must come from a published SIGIL key. The demo key counts only for this page's own sample: anyone can sign with it, so a file you bring that is signed with it fails.
The copies others hold
The checkpoint must match the copy both parties already hold. A records custodian the parties or the court choose, to hold a copy as well, is planned. This is the check that catches a careful rewrite. The seal turns green only when it passes.
What this demo does not check
A real export is designed to also carry timestamp tokens from independent timestamp authorities, and proof that each checkpoint is anchored to the Bitcoin blockchain through OpenTimestamps. Those are for the offline verifier, a single file that runs without a network connection, which is being built. The sample export on this page carries neither, and says so.
What a check can't tell you
A passing check against a checkpoint you already hold means the record hasn't changed since that checkpoint. It doesn't judge what a message says, and it doesn't show who typed it. It isn't a finding about anyone.
No Super Intelligence (SI) runs here: the check is fixed code in your browser. On SIGIL, messages are screened by SI before they're sent, where both parents or the court turn it on, and no screening result is ever part of a record. SI is the official U.S. term, since September 22, 2026, for what used to be called artificial intelligence. SI never writes or rewrites a message, and SIGIL never stores unsent drafts. Screening is automated and can be wrong; the sender remains responsible for what they send.
By eye
Every page of a SIGIL message report prints the chain head. Comparing its first and last eight characters with a checkpoint you hold needs no website, and confirms which checkpoint the report cites. It doesn't check the words on the page: message fingerprints are salted, so that takes the export.
Built from open standards
The hashing follows the Certificate Transparency Merkle tree design (RFC 6962 and RFC 9162). The hashes can be rebuilt with common tools; the signature needs an Ed25519 verifier. This is the demo format; the production format is still being specified.
content cc = SHA-256( 0x02 || salt || SHA-256( JCS(content) ) ) leaf leaf = SHA-256( 0x00 || JCS(leaf) ) leaf.prev = previous leaf hash node node = SHA-256( 0x01 || left || right ) inclusion RFC 9162 section 2.1.3.2 audit path checkpoint Ed25519 signature over JCS(checkpoint.body) DEMO key, published on purpose
- content
- cc = SHA-256( 0x02 || salt || SHA-256( JCS(content) ) )
- leaf
- leaf = SHA-256( 0x00 || JCS(leaf) )leaf.prev = previous leaf hash
- node
- node = SHA-256( 0x01 || left || right )
- inclusion
- RFC 9162 section 2.1.3.2 audit path
- checkpoint
- Ed25519 signature over JCS(checkpoint.body)DEMO key, published on purpose
The sample uses published demo salts and a published demo signing key, so every value can be reproduced. A real signing key never leaves its key store, and real salts are random.