Build complete timelines
Use metadata to capture actor, channel, and reason for each event (metadata keys must start with@ and stay within the size limit):
Verify integrity
Recompute the Merkle root and share it with auditors alongside the snapshot:verify.json contains the aggregate type/id and Merkle root. Pair it with the exported snapshot so auditors can detect tampering. Per-event proof paths are not emitted; use the Merkle root as the checksum.
Schema change audit log
Schema versions carry an audit trail of who published or activated them and why:--actor) and optional reason (--reason) supplied to dbx schema publish / dbx schema activate.
Tamper-evident exports
When exporting data for regulators or partners:- Generate a domain backup:
dbx backup --output /backups/eventdbx.tar.gz. - Sign the archive (e.g.,
gpg --detach-sign /backups/eventdbx.tar.gz). - Provide the signature plus aggregate Merkle roots in the transfer manifest.
Operational playbook
- Incident review: pull the relevant aggregates, replay commands, and attach proofs to the RCA.
- Access review: compare aggregate histories and schema audit logs with token issuance records to confirm only authorized actors touched sensitive data.
- Policy enforcement: reject events that violate schema (set
--restrict strict) and require metadata keys so context is always captured.