live demo · not a mockup
The whole instrument, running in your browser
One light, one room — both checking a real receipt chain right now, in your browser, with no server. Flip the switch to see how the room composes itself when the data is clean, when it needs a second look, and when a number has been changed. Then take the data out and watch it re-verify across formats.
The light
One light, one room
The light is the whole footprint on your dashboard. Click it and "view receipts →" lands in the room below — the attested table, the chain, the inspector, the log, and the export, one surface.
The Signal Room
Take the data with you
Export the verified rows above and the proof comes with them. The fingerprint is taken over the data, not the file format, so the same rows exported as CSV and re-checked as JSON produce the same hash and stay green. Use the room's "Take your data" control to download a bundle; the panel below proves the round-trip live.
# bring an edited file back under your key (re-attests; never silent): tamper-signal ingest report.csv --as period --key keys/signing.key
new in v2.0 · the live-source watcher
Data that watches itself
Point the watcher at a live feed and it keeps that source on the same signed chain — new readings append on their own. But a retroactive edit to an already-settled value is never signed unattended: it's judged against the declared band, withheld, and paused for a human. Below is a real chain of hourly temperatures for New York, signed. Flip the switch to see what happens when a settled day's number is quietly changed.
Live-source console
# the whole thing is one scheduled command writing signed files — no server: tamper-signal watch --config feed.json --key keys/watch.key --out receipts/ tamper-signal review accept <hash> --reason "confirmed by the weather desk"