Audit log.
Per-project change history. Owners and admins only.
Every project has its own audit log — a chronological record of state-changing actions. Reachable from the project's audit page (link in the project settings panel; URL /o/<workspace>/project/<slug>/audit).
Who can see it #
Workspace owners and admins only. Editors and viewers cannot open the audit page, even on projects they own. This is intentional — the audit log is the workspace's compliance artifact, not a per-user activity feed.
What gets logged #
Every state-changing action against the project, including:
- Phase lock and unlock
- Interview field captures (with provenance — AI-extracted vs hand-typed)
- Manual field edits
- Field reverts
- Wish filed, accepted, rejected, converted
- Amendment proposed, accepted, rejected
- Asset uploaded, deleted
- Share link created, revoked
- Export run (with format and operator)
- Project settings changed
- Member added, removed, role changed (project-scoped only)
- Project archived, restored
What does not get logged:
- Read-only views (opening a panel, scrolling)
- Interview chat turns (only the resulting field write)
- Live preview re-renders
What each entry contains #
| Field | Example |
|---|---|
| Timestamp | 2026-04-26 14:32:11 UTC |
| Author | Display name (or "deleted user" if the account is gone) |
| Action | phase.lock, wish.accept, export, etc. |
| Phase | Phase code if relevant |
| Detail | Short human-readable line (varies by action) |
| Severity | Normal, warning (e.g. unlock), or destructive (delete) |
Filtering #
The toolbar offers two filters:
- By phase — show only entries scoped to a particular phase.
- By action type — locks, wishes, amendments, settings, exports, etc.
Filters compose. Entries are paginated; "Load more" fetches the next page on demand (the page never streams the whole log unbounded — that was a Convex traffic problem in earlier versions).
Exporting the log #
The audit page has a Download CSV button. The download contains the currently-filtered view. For the full log, clear the filters first.
Auditors typically want the unfiltered CSV plus the corresponding spec.md export from the same date — together they tell the complete story of what was decided and when.