Audit logs (dashboard)
Find, filter, and export the audit log from inside the dashboard — and worked examples for incident review.
This page covers the audit log from the dashboard operator's angle: how to find the screen, how to filter, how to export, and worked examples for the situations you'd reach for the log in. For the underlying data model, retention rules, compliance posture, and SIEM ingest, see Security → Audit logs — the canonical reference.
Two surfaces
| Surface | What it shows |
|---|---|
/[orgSlug]/settings/audit | Audit log for this organization. Org admins and viewers see it. |
/admin/audit (platform admins only) | Cross-tenant feed for support and incident response. |
The org-level view at /[orgSlug]/settings/audit is the one most operators will use. The platform-admin view is intended for AACsearch staff and self-hosted operators.
What is recorded
The full list of recorded actions lives in AUDIT_LOG_ACTIONS (packages/api/modules/audit-log/types.ts). The 30+ entries fall into these groups:
| Group | Example actions |
|---|---|
| Indexes | create_index, delete_index, clone_index, truncate_index, update_schema, run_reindex |
| API keys | create_api_key, revoke_api_key, create_scoped_token |
| Members | add_member, remove_member, change_member_role |
| Relevance | update_synonyms, update_curations, update_rules |
| Connectors | create_connector, delete_connector, sync_connector |
| Webhooks / Widgets | create_webhook, delete_webhook, update_widget, delete_widget |
| Data export | export_documents, delete_documents, delete_documents_by_filter |
| Billing / Plan | change_plan |
Search queries, document payloads, and individual document reads are not audit events — their volume is too high for an audit log. See Analytics for query-level history.
Filtering
The toolbar at the top of the audit page supports:
- Action — pick one of the recorded action strings from a dropdown.
- User — limit to a specific actor (member email or user ID).
- Target type —
index,api_key,member,webhook,widget,connector. - Date range —
dateFrom/dateTo(ISO-8601). Defaults to the last 7 days.
Filters compose with AND. Click a chip to remove it from the active set.
The list paginates at 50 rows per page; the URL preserves the filter set so you can share a link to a specific view.
Reading a row
Each row shows:
- When — UTC timestamp (hover to see the local-time conversion).
- Who — actor name, email, and avatar.
- Action — colored badge with the action string.
- Target — clickable; opens the affected resource if it still exists.
- Source — last 2 octets of the source IP and a truncated User-Agent.
Click the row to expand and see the full details payload — action-specific metadata. For example, change_member_role carries { oldRole, newRole }; update_schema carries the JSON-Patch diff.
Exporting
Two formats are supported, both via the export drawer:
- CSV — comma-separated, headers in the first row. Easiest for spreadsheets and ad-hoc analysis.
- NDJSON — one JSON object per line. Easiest for SIEM ingest.
Click Export to open the drawer. You can:
- Use the current filter set, or override per-export.
- Pick the date range (defaults to the current filter range).
- Pick the format.
- Submit. The export runs in the background.
When the file is ready (typically seconds; up to a few minutes for very large ranges) you get a notification with a pre-signed download link valid for 15 minutes.
Audit-log export is also available as an oRPC procedure for programmatic / scheduled use — see Security → Audit logs → Exporting for the request shape.
Retention by plan
Retention is plan-dependent:
| Plan | Audit log retention |
|---|---|
| Free | 7 days |
| Starter | 90 days |
| Pro | 180 days |
| Business | 365 days |
| Enterprise | Custom (1–7 years) |
Rows past retention are soft-deleted (deletedAt) and purged in a background job within 30 days. For longer retention than your plan offers, schedule a nightly export to your own storage.
Full retention rules: Security → Audit logs → Retention.
Worked examples
"Who created this API key?"
- Open
/[orgSlug]/settings/audit. - Filter: Action =
create_api_key, Target type =api_key. - Find the row matching the key's name or prefix.
- The Who column shows the actor.
If the key has been revoked, the target is no longer clickable, but the details payload preserves the name and prefix.
"We had an incident at 03:14 UTC — what changed in the previous hour?"
- Open
/[orgSlug]/settings/audit. - Filter: dateFrom =
2025-10-15T02:14:00Z, dateTo =2025-10-15T03:14:00Z. - Export to NDJSON for archival in the incident folder.
- Scan for any of:
update_schema,delete_index,truncate_index,change_plan,update_curations,revoke_api_key.
Pair this with Analytics → Failed queries for the same window to correlate operator actions with user-visible failures.
"Contractor left two weeks ago — did they create anything that's still live?"
- Filter: User = the contractor's email, dateFrom = their start date.
- Look for
create_api_key,create_connector,create_webhook. - For each row, click the target and verify it has been rotated, revoked, or deleted.
- Export the filtered view as evidence for your access-review log.
For broader access-rotation guidance: Members & Roles → Removing a member.
"Plan change — when and by whom?"
- Filter: Action =
change_plan. - The row's
detailspayload includes the old plan, new plan, and provider transaction ID.
The same event is also recorded by the payment provider — cross-check there if you need an independent witness.
"We're going through SOC 2 evidence collection."
Schedule monthly NDJSON exports and write the output to your evidence vault. The full SIEM-grade audit posture is documented in Security → Audit logs → Integrity.
Enterprise
Enterprise plans can opt into streaming audit delivery (Splunk HEC, Datadog Logs, generic webhook). Events arrive at your endpoint within seconds of the event, in addition to the searchable in-product log. Talk to your account manager to enable it.
Related
- Security → Audit logs — data model, retention, compliance posture, integrity guarantees.
- Members & Roles —
add_member,remove_member,change_member_roleactions. - API Keys —
create_api_key,revoke_api_key,create_scoped_tokenactions. - Analytics — query-level history outside the audit log.
- Plans & Limits —
change_planevent details.
Members & Roles
Invite members, assign roles, manage seat usage, transfer ownership, and understand the permission model in the dashboard.
Tableau de Bord Analytique
Analytiques et métriques de recherche — CTR, requêtes principales, requêtes échouées, journal d'activité et tableaux de bord par période.