VERIFY A RECORD
Check it yourself.
Don't ask us.
A Northn record is arithmetic anyone can redo. This page redoes it in your browser; the receipt lookup shows the same result from our side, plus the ledger.
HAVE THE FILE?
Verify it here, offline
Paste or drop a record export, proof pack, or receipt. It never leaves this tab — the hashes are recomputed in your browser.
THE WHOLE RECIPE
About fifty lines in any language
Four steps, no secrets. If your implementation and ours ever disagree, every root fails loudly — that is the point.
01Chain
For each entry in order: sha256 of the sorted-key JSON of { kind, payload, prev, seq }, where prev is the previous entry's hash (null for seq 1). Must equal the entry's sha256; prevSha256 must point at the entry before.
02Receipt
Each field hashes to a leaf: sha256("name:salt:canonicalValue"). Pair the leaves in sorted field-name order and hash pairwise up to one root. Must equal merkleRoot.
03Signature
Ed25519 over the raw 32 root bytes, under the key named by signingKeyId. Keys are published at api.northn.dev/.well-known/northn-verification.json with signed rotation edges.
04Ledger
The public ledger entry holds { v, t, id, root, sig, kid } — never content. Read it back at the coordinates the receipt names and compare.
A PASS MEANS
Nothing in the file was edited after it was sealed, a real Northn key signed it, and — if you read the ledger — the same commitment sat in public at a time we don't control.
A PASS DOES NOT MEAN
That the work was good. It means the record of the referee's verdicts, refusals, and the client's approval is exactly what it was. Judgment is in the entries; integrity is what this checks.
WHAT NEVER LEAVES
The ledger holds a root, a signature, and a key id. No content, names, amounts, or media. The file you hold is the only place the facts are.