Aller au contenu principal

ADR-0116 : Audit chaîné, scellés et outbox

Contexte​

Kit section 11 : audit critique non échantillonné et durable.

Décision​

hash = sha256(prev_hash + JSON canonique) par tenant ; scellés, outbox, legal holds, journal d'accès aux preuves. Chaque mutation écrit un événement chaîné.

Conséquences​

Le WORM n'est revendiqué que si le stockage le prouve.

Preuves​

  • services/control-plane/src/eai/audit.py
  • sql/postgres/V150__audit_outbox.sql
  • sql/postgres/V151__audit_seals.sql
  • sql/postgres/V152__audit_legal_holds.sql
  • sql/postgres/V153__audit_access_log.sql
  • services/control-plane/src/eai/domains/evidence/seals.py
  • services/control-plane/tests/test_audit_mutation_coverage.py