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
15
Tracking since
June 2026
Last entry
2026-06-28
Integrity
✓ verified

Current head

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

556c9126709ba5991d99d404447bd8fef585015429282efe0dc570efb05d99bf

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.