Design Principle
The value of an audit log is traceability and proof. Each record should answer who did what, when, from where, to which object, with what result, and where supporting evidence lives.
Large Theory
An audit log is not an ordinary timeline. Security, compliance, and support teams use it to reconstruct events: permission changes, member additions, token creation, product-setting changes, exports, failed requests, and third-party app behavior. The interface must let users narrow a large event stream, open details, copy structured data, export filtered results, and understand latency, retention, and permission boundaries.
Small Points
- Search and filter dimensions should include actor, target/user, action/category, resource, repo/project/site, date range, IP/location, result, and source app.
- The detail panel shows both a human summary and raw JSON. Copy/export should preserve query, date range, and export time.
- Time zones are explicit. Security investigation usually needs absolute timestamps, not only relative time.
- New events may arrive with latency; the UI should explain last updated, retention, plan/permission limits, and export caps.
- Risk events should be highlighted and connected into context, such as permission change followed by export, token creation followed by API calls, or group membership change followed by sensitive project access.
- Empty states explain whether there are no events, insufficient permission, too-narrow filters, delayed logs, or retention expiration.
Design Judgment
The audit UI works when an investigator can move from one anomaly to a related event chain and export reviewable data. If users can only scroll an unfilterable activity list, it cannot support forensics or compliance.
Implementation Notes
Create an audit event schema: id, timestamp, actor, actorType, action, category, target, resource, resourceScope, result, ip, userAgent, sourceApp, requestId, metadata, rawJson, retentionUntil, and exportBatchId. The frontend uses a filter bar, result table, detail side panel, and export flow. The export button shows current filter scope and likely limits. Sensitive events provide related-event suggestions and copy JSON action.
Counterexamples/Risks
Relative time only, missing timezone, search limited to full text, no raw payload in details, export lacks filter explanation, insufficient permissions render a blank state, log delay is mistaken for no event, and risk state relies only on red color.
Case Study
Atlassian audit log documentation describes searching by users, email addresses, activity names, sites, and dates, with detailed side panels and JSON views. GitHub organization audit logs support qualifiers such as action, actor, user, org, repo, and created, plus JSON/CSV export. Microsoft Purview audit search emphasizes date ranges, activities, users, and permission roles. The reusable lesson is that audit log UI should be designed around investigation queries, structured detail, and exportable evidence rather than a decorative timeline.
Source Links
Atlassian audit activities in Jira: https://support.atlassian.com/jira-cloud-administration/docs/audit-activities-in-jira-applications/ Atlassian view audit log activities: https://support.atlassian.com/security-and-access-policies/docs/view-audit-log-activities/ Atlassian export audit logs: https://support.atlassian.com/security-and-access-policies/docs/export-audit-logs/ GitHub reviewing audit log: https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization Microsoft Purview audit search: https://learn.microsoft.com/en-us/purview/audit-search
Agent Directive
Before generating audit log UI, define structured event schema, filters, detail side panel, raw JSON, export flow, and empty-state reasons; do not output only a chronological card feed.