Verification guide
Proof has to be checkable without trusting the UI. This page describes how to verify the public demo receipt offline.
Public demo verification (hash match)
- Generate a receipt on /proof (run the demo).
- Copy the receipt JSON.
- Compute the hash:
sha256(JSON.stringify(receipt)). - Confirm it matches the displayed hash.
Example (Node.js)
import crypto from "node:crypto";
const receipt = /* paste JSON object */;
const hash = crypto.createHash("sha256").update(JSON.stringify(receipt)).digest("hex");
console.log("0x" + hash.slice(0, 16));
What this proves (and what it doesn’t)
- Proves: the receipt you are looking at matches the hash you computed (tamper-evident at the artifact level).
- Doesn’t prove: identity, key custody, or ledger immutability (those require signatures + storage semantics).
Production verification
Production receipts can add: chain-of-custody, signatures, and append-only storage. Those layers are what convert “hash match” into “auditable record”.
See: Security