Audit Column Standard¶
Purpose¶
The Audit Column Standard defines common traceability columns for future table specifications.
Standard Columns¶
| Column | Purpose |
|---|---|
created_at |
Creation timestamp. |
created_by |
Actor that created the record where applicable. |
updated_at |
Last update timestamp. |
updated_by |
Actor that last changed the record where applicable. |
version |
Optimistic locking version for mutable records. |
correlation_id |
Request, workflow, event, or integration correlation. |
causation_id |
Prior request or event that caused the change. |
deleted_at |
Soft delete timestamp where soft delete is used. |
deleted_by |
Actor that performed soft delete where applicable. |
delete_reason |
Structured reason for deletion where required. |
Rules¶
- Mutable source tables should include optimistic locking.
- Material commands must preserve actor and correlation context.
- Sensitive audit details belong in audit records, not arbitrary payload columns.
- Soft-deleted records must remain tenant-scoped and access-controlled.
- Audit columns do not replace domain events or audit logs where those are required.
Audit Flow¶
flowchart LR
Command[Command]
Actor[Actor Context]
Correlation[Correlation Context]
Table[(Table Audit Columns)]
Audit[Audit Log or Event]
Command --> Actor
Command --> Correlation
Actor --> Table
Correlation --> Table
Table --> Audit