PerpVault

Verify a snapshot

Every run writes a snapshot and a SHA-256 hash over the file exactly as published. The daily hash is kept here for every day, so that a figure shown today can be checked against the record tomorrow. Anyone can recompute it — on this page, in your own browser.

Today

The daily snapshot is the 08:00 Vienna-time run. Intermediate runs every four hours update the screen but are not the daily record.

Loading…

Check it right here

Your browser downloads the snapshot file, computes its SHA-256 itself and compares it with the published hash. Nothing here trusts our server's arithmetic; the hash is computed on your machine.

Or check it yourself, anywhere

  1. Download the snapshot file of the day: /api/snapshot/<date>
  2. Compute the SHA-256 of the file exactly as downloaded — nothing to reformat:
Linux / macOS:   sha256sum perpvault-<date>.json
Windows:         certutil -hashfile perpvault-<date>.json SHA256
Python:          import hashlib; print(hashlib.sha256(open("perpvault-<date>.json","rb").read()).hexdigest())
  1. Compare the result with the hash for that day in the table below. If they match, the file you hold is the one that was published.

The file is canonical JSON (keys sorted, no whitespace, UTF-8) and does not contain its own hash, so the same bytes give the same hash in any language and on any system.

What this shows: that the numbers were not altered after publication. What it does not show: that they are correct. If we find an error, we publish a correction as a new snapshot rather than rewriting an old one — the change log records it.

Corrections

When we find an error in our own figures, we do not rewrite the snapshot that carried it — those days stay in the record and in the chain. The fix appears as a new snapshot, and every correction is listed here with what was wrong, why, and from when. An empty list means none so far, not that there is no list.

Loading…

Last 30 days

Loading…