Provenance · Audit ledger

Cryptographic audit ledger

Every change to the dataset is committed to an append-only, SHA-256 hash-chained log. Each dated entry hashes the entire published dataset and links to the previous entry's head, so altering any past figure — or the order in which we recorded it — breaks every entry after it. Priority of discovery becomes something you can verify, not just trust.

Chain length
77
Tracking since
June 2026
Last entry
2026-09-05
Integrity
✓ verified

Current head

The head digest commits to all history before it. Quote it to pin the dataset's exact state on 2026-09-05.

edcd05afbe940416007592eff45ce18b96186364cd397e59b1cc371cf06e2f68

Verify it yourself

  1. Download the chain: /data/ledger.jsonl (one JSON entry per line: d, n, filesHash, prevHash, headHash).
  2. For each entry, recompute headHash = SHA256(prevHash + ":" + filesHash + ":" + d + ":" + n) and confirm it matches, and that each prevHash equals the previous entry's headHash (the first is GENESIS).
  3. To check the data itself, recompute filesHash: SHA-256 each file under data/products, data/sections, data/catalog plus data/price-history.jsonl, join as path:sha lines sorted, and SHA-256 the result. The build script is scripts/build-ledger.mjs.