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)

  1. Generate a receipt on /proof (run the demo).
  2. Copy the receipt JSON.
  3. Compute the hash: sha256(JSON.stringify(receipt)).
  4. 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