tenant-adminUpdated 2026-05-01

Audit Log

What this covers

The audit log records a trail of significant actions across the tenant: who did what, when, and to which object. This page explains what is logged, how to configure the logging level, how to search and export the log, and how to set a retention policy.

Why audit logging matters

Compliance and governance require a record of material changes to data models, user accounts, security rules, and platform settings. Without an audit trail, investigating an incident means sifting through service logs or guessing from database state. The audit log gives tenant administrators a single, searchable, exportable record of every significant action, anchored to the actor who performed it.

Beyond compliance, the audit log is a diagnostic tool. When a model behaves unexpectedly after a settings change, the log shows exactly which setting was changed, by whom, and when — without needing shell access.

What is logged

Events fall into six categories. Each event records the actor (email), the action performed, the target object (type, ID, and display name), a severity level, a JSONB detail payload with action-specific context, and the actor's IP address when available.

CategoryExample actions
Model lifecyclemodel.create, model.deploy, model.undeploy, model.revert, model.delete
Connectionsconnection.create, connection.update, connection.delete
Usersuser.create, user.delete, user.role_change, user.password_reset
SecurityRow-security rule create/update/delete, persona changes
SettingsTenant, project, and model setting changes
Authenticationauth.login_success, auth.login_failure

Audit log level

The AUDIT_LOG_LEVEL tenant setting controls which events are recorded. The four levels form a hierarchy — each level includes everything in the levels above it:

Set the level in Admin > Settings. Changes take effect immediately — no service restart required.

Choose your level based on compliance requirements. Most organisations start with info and tighten to warn or critical only if storage or noise becomes a concern. Setting off is appropriate only for development environments where no compliance obligation exists.

Viewing the audit log

Navigate to Admin > Audit Log. The page is available to tenant administrators only.

Filter bar

Five filters narrow the results:

Filters combine with AND logic. Clear a filter to remove it.

Results table

Each row shows:

ColumnContent
TimestampWhen the event occurred (local time).
ActorEmail of the user or "system" for automated actions.
ActionThe action string.
TargetObject type and display name.
SeverityColour-coded chip.
DetailExpandable — click to see the full JSONB payload.

The table paginates. Default page size is 50.

CSV export

Click Export CSV to download the current filtered results. The export respects all active filters and includes the full detail payload as a JSON string column.

Retention

The AUDIT_RETENTION_DAYS tenant setting controls how long events are kept:

A daily scheduler job (audit_purge) deletes events older than the retention threshold. The job runs once per day per tenant.

Shortening the retention period does not delete existing events retroactively on the next save — it takes effect on the next scheduler run. If you need to purge immediately, reduce the setting and wait for the next daily run, or contact a system administrator.

API reference

MethodEndpointPurpose
GET/api/v1/admin/audit-eventsList events (paginated, filterable by actor_email, action, target_type, severity, from_date, to_date, limit, offset)
GET/api/v1/admin/audit-events/exportCSV download with the same filter parameters

Both require tenant_admin role.

Best practices

Related