Audit log — every action, one trailOWNER: ENGINE — audit (admin-core) (Mav's map, 2026-08-09): FG Governance→Audit log converges with Receipt /admin/audit; all three products write the same actor · action · target · time shape. Per brand: folo.link shows the UNIFIED stream with platform dots; each product admin shows its own slice of the same store. FOUNDER-PARKED: whether audit_log becomes ONE physically shared store or stays per-product-with-a-composed-read is an open founder decision — this page is honest about rendering the composed read either way, so the design doesn’t pre-empt the ruling. folo.link scope (§17): on folo.link this page is a pure READ composed over the per-product audit stores, merged by time; it changes NOTHING — the log is append-only by construction and this surface carries no mutating control, not even a deep-link write.
Actor · action · target · platform · time — including every ghost session open and close.
Demo dataPartial · store decision parked
Entries · 24h
412
across all platformsDEMO DATA · source: composed audit readStaff actors
9
humans · named on every rowDEMO DATA · source: identitySystem actions
167
actor = SYSTEM · retries, syncs, probesDEMO DATA · source: composed audit readGhost sessions · 7d
6
every open AND close is a rowDEMO DATA · source: ghost session logReading: Folo + Fanogram + Receipt stores, merged by time — a composed read over three per-product audit stores; whether they become ONE shared store is the FOUNDER-PARKED decision, and either answer leaves this read (and these filters) unchanged.
Unified stream All platforms · dots per rowSame shape everywhere (already true on live FG, Folo and Receipt): actor · action · target · time, full audit-id per row. Ghost rows follow the ghost.html contract — a session is TWO rows, open and close, with the acted-as identity named. Read-only: the log is append-only by construction; no admin surface edits it.
| Time | Actor | Action | Target | Platform | Audit id |
|---|---|---|---|---|---|
| 14:52 | Brian W. | payout.approve | creator @delisha · $20,759 | au_99412 | |
| 14:31 | Simon O. | ghost.session.open | view-as creator @delisha · read-only · 30m box | au_99408 | |
| 14:20 | SYSTEM | webhook.retry | WEBHOOK_EVENT stripe · evt_88231 | au_99401 | |
| 13:58 | Dana R. | kyc.manual_verify | creator @sophiajansen · Ondato webhook pending | au_99396 | |
| 13:47 | Simon O. | ghost.session.close | view-as creator @missaria · 22m elapsed · 0 writes | au_99390 | |
| 13:12 | Mara T. | rating.override | post p_66120 → suggestive · strict_overrides | au_99384 | |
| 12:55 | SYSTEM | flag.cascade | module ai-media OFF → chat + vault surfaces | au_99377 | |
| 12:30 | staff@test.receipt | tier.override | USER demo → INDIE | au_99371 | |
| 11:49 | Brian W. | ghost.session.open | act-as agency Northlight · impersonate permission · 30m box | au_99362 | |
| 11:33 | Simon O. | featuring.slate.schedule | 6 creators · Aug 12 → Aug 19 | au_99355 | |
| 11:02 | SYSTEM | agerules.rescan | 3 jurisdictions re-flagged for review | au_99348 | |
| 10:58 | Brian W. | ghost.session.close | act-as agency Northlight · 27m elapsed · 2 writes (audited inline) | au_99340 | |
| 10:15 | Brian W. | entitlement.grant | creator @missaria · comp — reason required + logged | au_99333 | |
| 09:44 | SYSTEM | integration.stale_flag | shopify · no sync in 7d+ | au_99327 |
≡
14 of 412 demo rows (24h). Unified stream composed over the three product stores — the FOUNDER-PARKED shared-store decision changes the plumbing, not this read.