Skip to main content

Module audit

Module audit 

Source
Expand description

The audit log: who did what, to whom, and when.

Two properties make it worth a table rather than a log line (ADR 0010). It is queryable - “everything that happened to this person” is a WHERE, not a grep across rotated files. And it is part of the data, so it survives wherever the database is backed up to.

Writing an entry must never cost a request its work. Every recorded action has already happened by the time it is logged; a failure here is reported loudly and swallowed, because refusing a token revocation because its audit entry would not write is worse in every direction.

Modules§

action
What happened. Dotted, past tense, subject.verb.

Structs§

AuditQuery
Which slice of the log to read.
AuditRow
An entry as the admin screens read it.
Entry
One entry being written.

Functions§

list
Reads the log. Administrators only.