Skip to main content

The black box

Everything that touches a crisis goes through an append-only log. This is not an audit layer bolted alongside the application: it is the only write path.

What makes the log tamper-evident

The constraint is not in application code — that would be discipline, and discipline is worked around. It is held by the database, by triggers that refuse every update and delete on the event table.

-- A trigger also applies to the database owner, unlike a mere grant revocation,
-- which a superuser can grant back to themselves.
create trigger journal_pas_de_modification
before update or delete or truncate on evenement
execute function journal_refuser_mutation();

Every event carries the SHA-256 hash of its own content and of the previous hash. Removing, altering or inserting an event breaks the chain from that point on, and it shows.

The event carriesWhy
Its author, its sessionWho did it, from which device
Its cellDecision-making or operational
Its recorded timeThe server's time — the one that orders events
Its entry timeThe one declared by the client, kept but never authoritative
Its originHuman, automatic, or injected by an exercise tool
Its hash, and the previous oneThe chain

Rewinding

Replay does not re-read a list of entries: it rebuilds the complete state of the crisis at a given moment. The rewind slider puts the interface into read-only and shows the crisis as it stood — decisions taken, actions open, applications recorded as down, deadlines remaining.

On a long crisis, replaying a million events on every slider move would be unusable: projection snapshots are frozen periodically, and replay starts from the nearest one.

What enters the log, and what does not

This is a product boundary, stated rather than suffered.

Enters the logDoes not
Room messages, reactions, pinsDirect messages between two people
Decisions, arbitrations, actionsLive whiteboard strokes
Situation reportsTyping indicators, presence
Document references and their hashesThe bytes of the documents
Continuity checks, notifications sentThe external monitoring feed
Failed sign-in attempts

Two reasons, always the same. Volume: a log that cannot be purged and that anyone can flood is a handle offered to an attacker. Third parties: writing in the words of people who do not know we exist would be permanent collection dressed up as a crisis record.

What this means operationally

An append-only log is never purged. Data that enters it stays for the retention period of the crisis. That is the price of evidential value, and you should know it before going live.