Skip to content

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