Audit log — every action, one trail
OWNER: 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 read
Staff actors
9
humans · named on every rowDEMO DATA · source: identity
System actions
167
actor = SYSTEM · retries, syncs, probesDEMO DATA · source: composed audit read
Ghost sessions · 7d
6
every open AND close is a rowDEMO DATA · source: ghost session log
Reading: 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 row
Same 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.

TimeActorActionTargetPlatformAudit id
14:52Brian W.payout.approvecreator @delisha · $20,759au_99412
14:31Simon O.ghost.session.openview-as creator @delisha · read-only · 30m boxau_99408
14:20SYSTEMwebhook.retryWEBHOOK_EVENT stripe · evt_88231au_99401
13:58Dana R.kyc.manual_verifycreator @sophiajansen · Ondato webhook pendingau_99396
13:47Simon O.ghost.session.closeview-as creator @missaria · 22m elapsed · 0 writesau_99390
13:12Mara T.rating.overridepost p_66120 → suggestive · strict_overridesau_99384
12:55SYSTEMflag.cascademodule ai-media OFF → chat + vault surfacesau_99377
12:30staff@test.receipttier.overrideUSER demo → INDIEau_99371
11:49Brian W.ghost.session.openact-as agency Northlight · impersonate permission · 30m boxau_99362
11:33Simon O.featuring.slate.schedule6 creators · Aug 12 → Aug 19au_99355
11:02SYSTEMagerules.rescan3 jurisdictions re-flagged for reviewau_99348
10:58Brian W.ghost.session.closeact-as agency Northlight · 27m elapsed · 2 writes (audited inline)au_99340
10:15Brian W.entitlement.grantcreator @missaria · comp — reason required + loggedau_99333
09:44SYSTEMintegration.stale_flagshopify · 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.