Proof, not a claim
The risk-blocker, run live, on a synthetic example
This page calls FairFile's real risk-flag engine — the exact function
(detectRiskFlags()) that gates /api/generate-letter in production — against
one fixed, clearly-synthetic fact pattern, and renders whatever it returns. Nothing on this page is a real
employee, a real account, or hand-typed sample output.
Synthetic scenario: "Jordan Ellis" is not a real person and "Example Co." is not
a real employer. This exists only to demonstrate the mechanism.
1 · The scenario
A manager is about to issue a final written warning for attendance, ten days after the
employee returned from FMLA medical leave, with no prior documented discussion on file.
- Document type
- Final written warning
- Employee
- Jordan Ellis (synthetic example)
- Role
- Warehouse Associate
- State
- Texas
- Issue
- Attendance
- Facts
- "Jordan returned from FMLA medical leave 10 days ago. Since returning, Jordan has missed two shifts without calling in. This is intended as a final warning before termination if attendance does not improve immediately."
- Prior discussion
- (none on file)
2 · What the engine caught, live
Fetched just now from GET /api/risk-demo, which runs the scenario above through the
same engine the product uses before a letter can generate:
Loading live result…
3 · What this proves and what it does not
- It proves the mechanism is real and deterministic: the same fixed input always produces the same flags,
because it is rules-based (regex + structured checks), not a model call.
- It does not prove the flag set is exhaustive. The engine is deliberately inclusive (favors flagging over
missing a real signal), documented in
src/risk-flag-engine.js, and is a drafting/risk check, not
a legal review.
- In production, a high-severity flag blocks letter generation server-side until the user explicitly
acknowledges it — not only a client-side warning. Full capability inventory: /capabilities.