Audit Logs — Viewing, Filtering, and Exporting

Last updated: 2026-08-03
Audience: Users with audit:read (export needs audit:export:create)


A. Viewing Audit Logs

Open the list

Side rail Audit/audit/logs.

The list is newest-first by default (sortable by Occurred). Pagination uses previous/next controls. Default page size is 10.

Table columns

Column Description
Occurred Local date/time of the event
Activity Human description when available
Action Colored action badge (CREATE, UPDATE, DELETE, LOGIN, …)
Target Entity type + entity id
Actor Avatar, display name, and email / role / id as available

There is no Tenant column — you always see the current organization. On narrow screens the table scrolls horizontally.

Detail

Tap a row to open detail at /audit/logs/detail/:id. The page fetches the log by id (and can reuse in-memory data when you navigate from the list).

Section Contents
Summary Action badge, description, occurred time, severity when present
Actor Name, email, role, copyable user id
Resource Entity type/id, action, changed field names
Context IP, user agent (if present)
Changes Before/after per field when recorded
Technical Request/session ids; expandable JSON (old / new / metadata)

B. Filtering

Control Behavior
Search Debounced free-text search (q)
Action Single dropdown: CREATE, UPDATE, DELETE, LOGIN, LOGOUT, READ, EXPORT, IMPORT, APPROVE, REJECT
Date range Inclusive calendar range on occurrence date
Clear Clears search, action, and dates

Not in the current UI: multi-select action namespaces, actor autocomplete, dedicated target-id field, filter bookmarks / URL sync.

Use Search to approximate actor email or entity id when those values appear in searchable fields.


C. Export

Requires audit:export:create.

  1. Optionally apply filters and load the rows you need (page through results).
  2. Tap Export and confirm.
  3. The app builds a CSV of the currently loaded list rows and opens the system share sheet (file), not a full server-side dump of every matching row.
Format Notes
CSV (client) Includes id, entity, action, actor email/id, occurred_at, IP, user agent, changed fields
JSON export Not offered

There is no background email export job in the app.


D. Tips

  • Narrow with date range first on busy organizations.
  • Combine action + search to find who changed a resource.
  • Export only after paging to the rows you care about — export does not pull the entire filtered server set.
  • You can reopen a log later via its detail URL if you still have audit:read for that organization.

Back to: Overview
Related: Roles overview