Every action performed in the system is recorded as an immutable event. 185+ domain event types, 27 action categories, 16 business contexts β append-only, tamper-proof, always available.
Every command handler in the system emits a structured audit event after successful execution. Events are written to an append-only store β no update, no delete.
Command completes β domain event emitted with actor, timestamp, resource ID, and payload diff.
Events stored with full context: actor_id, resource_type, resource_id, action, old_value, new_value.
Append-only storage model. No row can be updated or deleted β only written and archived.
Configurable retention period per context. Older records auto-archived to cold storage without deletion.
Every audit event stores the complete before/after diff of the changed record. Investigators can trace exactly what changed, when, by whom β and correlate events across contexts by session.
Audit events are emitted by every business context in the system β not just sensitive financial operations.
Lead status changes, pipeline moves, sales target modifications, manager reassignments.
Contract creation, approval steps, amendments, Incoterms changes, activation and termination.
Invoice creation, payment posting, credit note issuance, journal entries, account balance changes.
Stock movements, lot operations, zone transfers, FIFO/FEFO picks, QA status changes.
Production order lifecycle, BOM version changes, material consumption, output recording.
Purchase order approval, goods receipt, 3-Way Matching decisions, supplier evaluation.
Employee hire/termination, position changes, payroll run approvals, salary modifications.
Login, logout, failed attempts, role assignments, permission changes, session revocations.
Filter audit events by any combination of dimensions. Useful for compliance audits, incident investigation, and user activity reviews.
Define retention windows per context. Records past the window are moved to cold archive automatically β still queryable, never deleted.