Seal a record, then try to break it

A record is sealed in your browser with a real signature. Then you alter it, and the verification tells you exactly which part broke and why.

What is real here, and what is not. The keypair, the content hash, the signature and every verification are computed by your own browser using Web Crypto — Ed25519, the same algorithm the production system uses. When a check fails below, it fails because the mathematics says so.

The timestamp is illustrative only. A browser cannot reach an outside timestamp authority from this page — the site's content policy forbids it, and so it should. The attestation block is built locally to show its shape and the difference between the two grades. It is not evidence of anything. Faking a timestamp in a demonstration about timestamps would be the exact thing this architecture exists to detect.

1 · Compose a decision

The deliberation

2 · What the browser did

  1. Took the deliberation as written
  2. Generated an Ed25519 keypair
  3. Hashed the content, canonical JSON, sorted keys
  4. Signed everything except the signature field
  5. Sealed

The attestation is folded in before signing, which is the whole design: because it sits inside what was signed, a receipt cannot afterwards be re-stamped, back-dated or stripped of its timestamp without breaking the signature. The buttons below let you try.

3 · Try to get away with it

Nothing to break yet — press Seal this record above, and five ways to attack it appear here.

4 · The record itself

The sealed record will be printed here in full, exactly as a holder would have it.

Then look at the real thing

This page is a demonstration, not the product. The records under /records/ were produced by the real system and can be checked with a tool that runs on your machine and contacts nobody.