Definition
NIST defines a hash chain as an append-only structure in which each block includes a hash of the previous block, so a change to any block shows up in the block after it. NIST Computer Security Resource Center, read 2026-10-05.
Why it matters
An ordinary audit table is only as trustworthy as everyone who can write to it. If an administrator, a vendor engineer or an attacker edits a row, the table looks the same afterwards. A hash chain changes that. Each entry stores a fingerprint of the entry before it, so altering or removing one entry breaks the fingerprints that follow, and anyone who walks the chain can see where.
In a deal that matters at two moments. During the process, it lets a seller show a bidder exactly what was disclosed and when. After closing, it supports the record in a warranty claim, when the buyer says a liability was never in the room and the seller says it was opened on a named date. The chain does not make the record admissible; that is for counsel and the court. It makes the record checkable.
How the Sifrsys audit log builds its chain
Every row in the Sifrsys audit log gets a SHA-256 hash computed by the database itself, over the row's id, event type, actor, resource, timestamp and the previous row's hash. The previous hash is read from the same organisation's chain, under a per-chain lock, so two events written at the same moment cannot both claim the same predecessor. A database trigger refuses any update or delete on the table, so there is no application path, ours included, that edits a row in place.
A verification function walks an organisation's chain in order and recomputes each hash. If a row was changed, its recomputed hash differs; if a row was removed, the next row points at a hash that no longer exists. The capture shows the activity view of a demo room: each row names who acted, including an AI assistant acting for a named person, what it did and when, with an export to CSV.

Common mistakes
Questions to ask a vendor
- Ask the vendor which fields the hash covers, and whether the timestamp is the server's or the browser's.
- Ask what happens when two events are written at the same moment, and whether the chain can fork.
- Ask for a verification you can run, and what it reports for rows it cannot link.
- Ask whether any role, including the vendor's own staff, can update or delete a row.
- Ask how long the log is kept after the room closes, and what happens to it when the account is deleted.