DecisionLog — AI Decision Audit Trail
A working audit-trail UI for AI-assisted decisions in regulated industries. 32 seeded decisions across underwriting, fraud review, hiring, and clinical triage flows. Filter, drill-down, approve, reject, export to CSV/JSON.
What it is
The most complete prototype in this batch. A multi-screen audit-trail UI for AI-assisted decisions — the exact evidence shape an EU AI Act Article 13 audit or a SOC2 reviewer wants when they ask “show me how this system makes decisions.”
What’s in it
- 32 seeded decisions across four regulated flows: underwriting (auto loans, mortgages, personal credit, revolving lines), fraud review (transactions across velocity / cross-border / gift-card / high-amount patterns), hiring screen (sr backend, jr designer, CFO, marketing lead, DevOps), and clinical triage (ED arrivals, telehealth, walk-ins, pediatric).
- Each decision preserves: model + version, prompt template version, the actual input (PII redacted at seed level — none of these are real people), the structured output, the model’s recommendation, a confidence score, the eventual outcome, the reviewer (auto-approve / auto-block / specific email), the timestamp, and the full audit trail of every state change.
- Filterable by flow, outcome (approved / rejected / needs review / pending), model, and free-text search across all fields.
- Sortable by any column. Selection persists.
- Drill-down panel with full input, output, model fingerprint, prompt version, confidence bar, audit trail timeline (system events, model output, reviewer notes, customer follow-ups, retrospective audits).
- Approve / reject / mark-review actions append to the trail. The data mutates client-side — no server, no leak.
- Export to CSV or JSON, respecting active filters.
Why this shape
The schema is the deliverable. What an AI Act auditor cares about is not the model’s accuracy — it’s whether the operator can reconstruct, for any decision the system made, exactly:
- What the inputs were
- Which model + version + prompt produced the output
- What the output was, verbatim
- What the recommendation was
- Who reviewed it (human, automated, or routed)
- What the outcome was, and how that differed from the recommendation
- The full trail of state changes with timestamps
This UI proves the schema works. Every column maps to an Article 13 transparency requirement. Every drill-down maps to a SOC2 evidence packet.
The trail in DL-21040 (clinical triage, STEMI patient) shows how this matters in practice — model recommended cath-lab activation in 4 minutes, doctor confirmed, auditor reviewed retrospectively that the patient outcome (PCI within 60min) matched. Three named timestamps, three named actors, one decision lineage.
How it ships
Single HTML file, ~38KB including the seed data. Zero dependencies. The filter+sort+detail+CSV-export pipeline is 320 lines of vanilla JavaScript. Works offline, mutations stay in-page, no telemetry.