← All features
security

Audit log

Every change, with who + when + what.

Every create, update, delete, payment, reversal, plan change, impersonation, password change writes to audit_logs. Tenant admins see their own tenant. Super-admin sees everything.

  • Structured rows (user_id, user_email, action, entity, entity_id, details)
  • Never updated or deleted from application code
  • Filter by entity or action in the UI
  • Retention by plan: 7 / 90 / unlimited days

How it works

services.audit.log() is called from every write path. No decorators, no magic — explicit and greppable.

See it at /dashboard/audit.

More security features