The audit trail is append-only and EU-resident. It is the source of truth when a regulator or your internal audit asks "who did what, when?" — especially around BYOK and policy changes.
What's captured
BYOK lifecycle
store, test, rotate, delete; written to byok_audit_events with actor, provider and timestamp.
BYOK runtime
Invalid-key responses, provider errors and silent fallbacks. Lets you reconcile a member-facing failure to a specific event.
Strict-mode changes
Toggling Strict BYOK on/off is audited (strict_mode_changed) with the previous and new value.
Policy changes
Sharing, Export, EU-Model Restriction and Prompt Sanitiser changes record actor, time and new value.
Member lifecycle
Invites, role changes, removals and deletions on the workspace.
Consent events
Opt-in / opt-out for AI-graded competence and marketing, with timestamp.
Who can read it
- Members can see their own consent and BYOK events
- Org admins can read the org-scoped audit log via RLS
- Keypra staff only see what's needed to operate the platform; access is itself audited
Org admins receive a 09:00 UTC email summarising BYOK failures and silent fallbacks per provider for the previous day. It's the fastest way to catch a failing key without staring at logs.
Export the audit log periodically and store it alongside your other compliance evidence. The format is stable and machine-readable.