Recompute the seal. Trust the integrity check, not the issuer's word.
Paste or edit a TrustEnvelope to verify whether the sealed fields match the stored digest. Everything runs in your browser — no data leaves the page, no network call is made.
Receipt to verify
Result
awaiting inputDemo only. This seals a claim with an ephemeral key generated in this tab and held in memory only. The result is a locally-verifiable envelope for learning the seal→hash→compare loop.
It is not an issued or certified receipt: it has no manifest binding, so it will not pass online verification. Issuance and certification are controlled operations.
Claim to seal
Sealed receipt
not sealed yetCanonicalize → hash → compare.
Canonicalize
Serialize the sealed fields to one deterministic byte string — keys sorted, encoding fixed. Same fields, same bytes, every time.
Hash
Take SHA-256 over those canonical bytes to get the digest. Any change to any sealed byte produces a completely different digest.
Compare
Match the recomputed digest against the one stored in the receipt. Equal means intact; different means the record changed after sealing.
This verifies integrity, not truth.
A valid seal means the envelope matches its digest, and any present signature checks out against the key you supplied.
It does not prove legal compliance, issuer authority, or that the underlying claim is true. Local verification also does not authenticate the key reference — that binding is an online-mode property. See the limitations.