Skip to the workspace
Activity and audit

What happened, and who decided it.

Two records. The public activity stream is everything the site already publishes, in one place, each event with the table it came from. The audit chain is every privileged decision: who made it, on what, with what outcome and why, each linked by hash to the one before. The chain is for the owner; the server refuses it to anyone else.

What the chain proves

Each record carries the SHA-256 of the record before it and its own SHA-256 over a canonical form of its fields. Change one word in an old record, remove one, or slip one in between, and every hash after it stops matching. This page recomputes every hash in your browser, with the same code the server runs, rather than trusting the server's own verdict.

The table refuses updates, deletions and truncation at the database, and two decisions made at once cannot fork the chain, because a hash can be the predecessor of only one record.

What it does not prove

Whoever controls the database could switch the guard off and rewrite the whole chain consistently from the first record. A chain that checks out says the records agree with one another; it does not say they are the records that were first written. That is why the head hash can be downloaded: keep a copy, and a later rewrite will not match it.

The timestamps are the application's clock, not an independent timestamping authority. Nothing here is described as immutable, because it is not.