Audit log
Who approved what,
and when.
Every approval, denial, and delivery attempt is written to an append-only log you can open, filter, and point a compliance reviewer at.
Workspace · Acme
Decision history
Filter what you need
Slice by channel, status, or reviewer.
The history view is searchable and filterable out of the box. Jump to one channel, to one reviewer's decisions, or to every denial in the last week.
- Filter by channel, status, date range, or reviewer
- Free-text search across titles and bodies
- Export filtered results as CSV for the auditor
Row-level detail
Open any row. See the whole story.
Every row expands to show the original body, the data payload, the delivery log, and the reviewer's denial reason if there was one. Nothing is hidden once a decision has been made.
- Original HTML body preserved verbatim
- Structured data payload shown beside the rendered view
- Full delivery attempt trail with status codes
Reason
Migration touches a table we're actively indexing. Re-run after the index build completes tomorrow AM.
Delivery log
Append-only
You don't edit the record. You add to it.
Approvals are immutable once resolved. Denials, retries, and manual replays append new rows instead of mutating the original. The log reads like a ledger.
- No edits, no deletes — by design
- Manual replays create a new delivery row, not a new decision
- Retention controlled at the workspace level
- t+0sapproval.createdapr_4f9c
- t+32sapproval.viewedby pm@
- t+41sapproval.resolvedapproved
- t+41swebhook.attempt503
- t+71swebhook.attempt503
- t+3mwebhook.attempt200 · delivered
An audit trail the compliance team can actually read.
Nothing to set up. Every approval your team resolves joins the log automatically.