Skip to content

Audit Log - cross-entity audit trail

StageBuilding
StatusPartial
Design statusIn progress
EstimateS
ConfidenceMedium
LinearPIN-620 ↗ PIN-117 ↗
Linear statusDone · +1 backlog
DesignDesign ↗
Linear epicPlatform Foundation
ModuleSettings & Admin ↗

Priority: High

Scope

Admin-facing Audit Log: every create/update/delete across the app captured with actor, entity, timestamp, and field-level diff, queryable by entity or by user. Adds a paginated, searchable/filterable admin list page (not yet built) on top of the existing capture service. (Source: PIN-620, PIN-117.)

Acceptance criteria

  • Every mutating action (create/update/delete) logged with user, action, entity type/ID, timestamp, IP address
  • Field-level diff recorded per edit (old value to new value)
  • Admin Audit Log list page with server-side search, filters, and pagination (currently missing — no route/nav entry today)
  • Lookup by entity (cross-entity trail) or by user
  • Loading / empty / end-of-list states on the list page
  • Visible only to admin + compliance-officer roles

Conor's comments

Jonny provided comments, do we need to make adjustments?

Notes

INFRA / NO DESIGN - not a Claude Design surface; build item, not awaiting design sign-off. AuditLogEntry model exists

Open question for Conor

Not in Claude design - keep as-is or surface it?