Forensis
An auditable AI investigation layer for financial fraud teams.
- Domain
- Fraud investigation. Reviewing a flagged payment is slow, manual work, and every conclusion has to stand up to an audit later.
- Role
- Solo, 2 months alongside my forensics internship at EY. Research with 5 practitioners, the object model, the rules and the full seven-stage workspace.
- Question
- How can structured reasoning speed up an investigation while a named person still makes every decision?
- Outcome
- A workspace that tests every explanation for a flagged payment at once, where a suggestion counts only when a named person grants it. 87,380 logic cases checked, and the final rules pass 9 of 9 tests.
Built independently during my internship at EY. Forensis is not an EY product or service, and uses no EY or client data.
Problem
Where investigations lose time
Calling a payment fraud is a serious charge. Before anyone can, an investigator has to read every file, weigh every possible explanation and show why each one fails, and every conclusion has to stand up to an audit later.
The people who do this are fraud investigators. North Quay, the case shown here, is one I wrote to test the product, so it's fictional, though it starts the way a practitioner's real case did. Two invoices for the same week of work arrive seven minutes apart, ₹48.6 lakh and then ₹84.6 lakh (about $58,000 and $101,000), the same digits swapped. A manager overrides the duplicate warning and the higher one is paid. It could be a correction, a clerical slip, a glitch or fraud, and the investigator has to show which.
INV-447A
- Vendor
- Vale Systems Maintenance
- Work order
- Emergency conveyor work
- Service window
- Same week of work
- Arrived
- Email thread
₹48.6 lakh
Not paid
INV-447B
- Vendor
- Vale Systems Maintenance
- Work order
- Emergency conveyor work
- Service window
- Same week of work
- Arrived
- Separate email thread7 minutes apart
₹84.6 lakh
Paid after manual override
In ACFE's 2026 study of 2,402 fraud cases, more than half involved a control that was missing or overridden.
Their tools stop at the flag. Detection tools are good at flagging a payment like this one; the investigation that follows is slow, manual work. The explanations are tracked by hand, the first plausible story tends to stick, all the more when a summary hands it over, and most of the reasoning lives in notes and slides, ending up as "a ppt or a word doc", in one practitioner's words. None of the tools on the market records what was ruled out, or why, so when someone challenges the finding or reopens the case, the team rebuilds the reasoning from the start.
Summaries settle early
Reopening means rebuilding
How might investigators test every explanation at once, and reach a finding that holds up in less time?
Overview
What Forensis does
Forensis is a reasoning layer, powered by AI, that is designed to shorten fraud investigations by testing several hypotheses at once, while the investigator keeps the decision.
The reasoning layer, a language model working inside fixed permission rules, reads the case files and turns them into evidence pinned to its source. It proposes every plausible explanation, the innocent ones included, sets each piece of evidence against each one, and names the check that would tell two explanations apart. Rhea, the investigator, spends her time on those checks instead of rereading the file, and Arjun, the investigation lead, signs the explanation that survives, with every rejected one and its reason already attached.
Workspace
- Matters
- North Quay
Matter M-204
- Evidence
- Hypotheses
- Questions
- Determination
- Case comparison
- Interventions
- Reasoning Record
- 01Register, Complete
- 02Explain, Complete
- 03Inquire, Open
- 04Determine, Open
- 05Compare, Open
- 06Intervene, Open
- 07Record, Open
Hypotheses
Each cell shows its reasoning. The matrix adds no totals.
Select any cell to inspect its reasoning link
| Rejected for determination | Rejected for determination | Rejected | Retained | Rejected within logging boundary |
|---|---|---|---|---|---|
Best accounts for the jointly supported claims while preserving limits on guilt, benefit and unobserved service.
Kept visible until the predicted remote-work traces failed to appear within the documented search boundary.
Rejected for determination- Five explanations, set against the evidence that bears on them
- Any cell opens that explanation
- What H4 rests on, and its limits
Decision
Keeping the rejected explanations on screen
Forensis keeps all five explanations in view after the decision, the four rejected ones dimmed beside their reasons.
The cost is room: four dead ends sit on screen every time the matrix opens. In return, the investigation lead signs with every rejection in view, and whoever reopens the case later sees why each one lost without redoing the work.
| Evidence | H4Intentional payment for unsubstantiated servicesMost likely |
|---|---|
| E-05 duplicate warning then override | Supports, E-05, H4. |
| E-06 one manager, three stages | Supports, E-06, H4. |
| E-09 17 of 160 gate hours | Supports, E-09, H4. |
| E-12 director is sibling | Supports, E-12, H4. |
| E-13 no disclosure | Supports, E-13, H4. |
| Evidence | H1Authorised invoice correctionRejected for determinationNo change request or remote-work trace found | H2Administrative or version-control errorRejected for determinationDoesn't explain the override or the undisclosed relationship | H3ERP or email duplication failureRejectedTwo distinct files, and a manual override | H4Intentional payment for unsubstantiated servicesRetainedMost likelySigned in D-01 | H5External account compromiseRejected within logging boundaryNo unusual login in the retained logs |
|---|---|---|---|---|---|
| E-04 revised copy instruction | Supports, E-04, H1. | No material bearing, E-04, H2. | Weakens, E-04, H3. | Supports, E-04, H4. | No material bearing, E-04, H5. |
| E-05 duplicate warning then override | No material bearing, E-05, H1. | No material bearing, E-05, H2. | Weakens, E-05, H3. | Supports, E-05, H4. | No material bearing, E-05, H5. |
| E-06 one manager, three stages | No material bearing, E-06, H1. | Weakens, E-06, H2. | No material bearing, E-06, H3. | Supports, E-06, H4. | No material bearing, E-06, H5. |
| E-09 17 of 160 gate hours | Weakens, E-09, H1. | No material bearing, E-09, H2. | No material bearing, E-09, H3. | Supports, E-09, H4. | No material bearing, E-09, H5. |
| E-11 no remote-service trace | Weakens, E-11, H1. | No material bearing, E-11, H2. | No material bearing, E-11, H3. | Supports, E-11, H4. | No material bearing, E-11, H5. |
| E-12 director is sibling | No material bearing, E-12, H1. | Weakens, E-12, H2. | No material bearing, E-12, H3. | Supports, E-12, H4. | No material bearing, E-12, H5. |
| E-13 no disclosure | No material bearing, E-13, H1. | Weakens, E-13, H2. | No material bearing, E-13, H3. | Supports, E-13, H4. | No material bearing, E-13, H5. |
| E-14 manager cites remote diagnostics | Supports, E-14, H1. | No material bearing, E-14, H2. | No material bearing, E-14, H3. | Missing trace: trace absent, E-14, H4. | No material bearing, E-14, H5. |
| E-15 director names no personnel or logs | Weakens, E-15, H1. | No material bearing, E-15, H2. | No material bearing, E-15, H3. | Supports, E-15, H4. | No material bearing, E-15, H5. |
| Auth logs (reviewed authentication and mailbox logs) | No material bearing, Auth logs (reviewed authentication and mailbox logs), H1. | No material bearing, Auth logs (reviewed authentication and mailbox logs), H2. | No material bearing, Auth logs (reviewed authentication and mailbox logs), H3. | No material bearing, Auth logs (reviewed authentication and mailbox logs), H4. | Weakens, Auth logs (reviewed authentication and mailbox logs), H5. |
The strongest innocent explanation stayed open until the remote-work traces it predicted failed to turn up.
If it kept only the winner
H4Intentional payment for unsubstantiated services
Most likely
Forensis, after the decision
H4Intentional payment for unsubstantiated services
RetainedSigned in D-01H1Authorised invoice correction
Rejected for determinationNo change request or remote-work trace foundH2Administrative or version-control error
Rejected for determinationDoesn't explain the override or the undisclosed relationshipH3ERP or email duplication failure
RejectedTwo distinct files, and a manual overrideH5External account compromise
Rejected within logging boundaryNo unusual login in the retained logs
The strongest innocent explanation stayed open until the remote-work traces it predicted failed to turn up.
Research
Practitioner research
Practitioners talked me out of my first idea and toward the job every case shares: explaining one anomaly properly.
My first idea, a model that predicts how a fraud would route around a fix, didn't survive them. Fixes depend on what each client will adopt, and patterns pooled across cases lose what decided each one.
- 5Practitioners
- 2Full interviews
- 20 to 25Minute interviews
- What they told me
An invoice arrived twice, minutes apart, with different totals.
What it becameQuestions became an object, each naming the explanations it can separate.
- What they told me
Findings end up in "a ppt or a word doc".
What it becameEvery explanation stays beside its evidence, rejected ones included.
- What they told me
"All we can really give is suggestions."
What it becameFixes are proposals, each with an owner and a review period.
- What they told me
"Every fraud is extremely different."
What it becameForensis learns from a case only once someone has reviewed it.
Quotes are from my notes of the first conversation. Desk research covered ACFE, NIST on how AI fails, Heuer's Analysis of Competing Hypotheses, which became the main screen, and EY on showing the reasoning.
Where the market stands
None of them records what was ruled out, or why.
Compare the tools
| Tool | Good at | Leaves out |
|---|---|---|
| Relativity aiR | Facts with citations and a timeline | Who changed a fact's status, and when |
| Hummingbird | Case management for financial-crime teams | How rival explanations compare |
| Link-analysis tools | People, accounts and connections | Why one explanation beat another |
| General chatbots | Fast, fluent summaries | Sources, or any record of what was ruled out |
Personas
Who it's for
One builds the case, the other signs it.

Investigator, R-01
Rhea Shah
Every observation tied to where it came from.
- Frustrated by
- Reasoning that ends up in slides, and summaries she can't trace back to a source.
- In Forensis
- Checks each extraction the reasoning layer makes and keeps the rival explanations open.

Investigation lead, R-02
Arjun Mehta
To see exactly what was left out.
- Frustrated by
- Conclusions handed up without their limits.
- In Forensis
- Signs the finding, and can reopen it without erasing the old one.
The names are invented to match the demo, the photographs are illustrative, and the needs come from the interviews.
Methodology
The objects in an investigation
I studied how investigators explain one flagged payment, in five steps, and each step decided part of the product.
Interviews with 5 practitioners came first, two of them full interviews. They talked me out of my first idea, a model that predicts how a fraud would route around a fix, because fixes depend on what each client will adopt and patterns pooled across cases lose what decided each one. The job every case shares, explaining one anomaly properly, became the brief.
Desk research covered ACFE, NIST on how AI fails, Heuer's Analysis of Competing Hypotheses and EY on showing the reasoning. Heuer's method, which sets every explanation against every piece of evidence, became the main screen.
A review of the tools on the market, Relativity aiR, Hummingbird, link-analysis tools and general chatbots, found that none of them records what was ruled out, or why. So rejected explanations stay on screen beside their evidence.
Object-oriented UX then broke an investigation into eight core objects, from the source document to the signed finding. Every case I heard about had the same few parts: a document, what it shows, what someone claims, and the explanations competing to account for it, which a deck or a summary blurs into one story. Object-oriented UX usually stops at planning screens; in Forensis it also sets what the reasoning layer is allowed to touch.
Last, before the final screens, I tested the rules on their own against every situation the model allows, 87,380 of them. The first version broke its core rule in 77,540, and the repaired rules pass 9 of 9 tests.
- SourceS-04ERP audit exportRegistered by Rhea
- EvidenceE-06One manager requested the vendor, certified receipt and approved the exceptionSuggested by the reasoning layer, reviewed by Rhea
- ClaimC-04One manager controlled request, confirmation and exception approvalAccepted by Arjun
- HypothesisH4Intentional payment for unsubstantiated servicesSuggested by the reasoning layer, kept open by Rhea, selected by Arjun
- DeterminationD-01The signed findingSigned by Arjun
North Quay's trail, from the ERP export to the signed finding. The letter marks the object: S source, E evidence, C claim, H hypothesis, D determination.
The object map: the eight objects on a ring, joined by their relationships. Matter contains Source. Source is the origin of Evidence item. Evidence item bears on Claim. Evidence item bears on Hypothesis. Hypothesis motivates Question. Question records its result as Evidence item. Question changes the reasons for Claim. Determination accepts or excludes Claim. Determination decides Matter. Reasoning Record keeps every consequential event for Matter. Principle and Intervention sit on an outer dashed ring.
MatterThe case, its scope and its standard
contains Source
SourceA document, kept as it arrived
is the origin of Evidence item
Evidence itemOne thing a source shows, pinned to where it came from
bears on Claim
bears on Hypothesis
HypothesisOne explanation, open until the evidence rules it out
motivates Question
QuestionA check that tells two explanations apart
records its result as Evidence item
changes the reasons for Claim
ClaimA statement the evidence has to hold up
DeterminationThe signed finding, and what it doesn't establish
accepts or excludes Claim
decides Matter
Reasoning RecordEvery change, and who made it
keeps every consequential event for Matter
Principle
Intervention
Eight core objects, with Principle and Intervention on the outer ring for what a case leaves behind. IDs: M matter, S source, E evidence, C claim, H hypothesis, Q question, D determination, L record entry, P principle, I intervention, R a person's role.
Object and relationship tables
| Object | What it is | What it carries | Its rule | In North Quay |
|---|---|---|---|---|
| Matter | The case itself, with its scope and the standard it's decided on | Decision standard, basis, state | No status implies guilt or permission to reuse | M-204, decided on the balance of probabilities |
| Source | An original document, kept as it arrived | Original reference, version, locator | The original and its version history are kept | S-04, the ERP audit export |
| Evidence item | One thing a source actually shows, pinned to where it came from | Observation, locator, review state | Observation and interpretation stay separate | E-05, a duplicate warning someone overrode |
| Claim | A statement the evidence has to hold up | Proposition, reasons, state | Unsupported claims stay visible as unsupported | C-04, one manager requested, confirmed and approved the work |
| Hypothesis | One possible explanation, kept open until the evidence rules it out | Account, supporting links, weakening links | Seeming plausible never turns it into a finding | H4, payment for work nobody can show was done |
| Question | A check that can tell two explanations apart | Question, records sought, result | A search that finds nothing only speaks for what it searched | Q-02, can the extra remote work be traced? It couldn't. |
| Determination | The signed finding, with what it doesn't establish written beside it | What it covers, excluded claims, who authorised it | Only an authorised investigation lead approves or reopens it | D-01, signed by Arjun |
| Reasoning Record | Every change and who made it, in order | Actor role, action, reasons | History is added to, and earlier events are never silently edited | L-001 to L-012 |
| Object | Relationship | Object | How many |
|---|---|---|---|
| Matter | contains | Source | One to many |
| Source | is the origin of | Evidence item | One to many |
| Evidence item | bears on | Claim | Many to many |
| Evidence item | bears on | Hypothesis | Many to many |
| Hypothesis | motivates | Question | Many to many |
| Question | records its result as | Evidence item | One to many |
| Question | changes the reasons for | Claim | Many to many |
| Determination | accepts or excludes | Claim | Many to many |
| Determination | decides | Matter | Many versions to one |
| Reasoning Record | keeps every consequential event for | Matter | One to many events |
Two rules the product depends on
Evidence is what a document shows.
Each item is pinned to the exact spot it came from.
Every step up needs a named person.
The reasoning layer suggests at every step and promotes nothing.
Who can do what
Who can do what to each object: the investigator, the investigation lead and the reasoning layer. Each action is a rung on its role's lane; the reasoning layer's rungs end in a hollow ring, and the lead's Determination rung is filled.
The risk in keeping a person in the loop
Someone approving every suggestion may stop reading them. A pilot should test that first.
Testing the logic first
Before the final screens, I tested the rules on their own, and the first version broke one of them.
Forensis only learns from a case once someone has reviewed it. I checked that rule against every situation the model allows, 87,380 of them. The first version broke it in 77,540, nearly nine in ten, and the screens gave no sign of it.
scenarios
tests
- Fictional or unreviewed cases are refused
- Duplicates count once
- Conditions from separate cases aren't counted together
- The reasoning layer can't make the decisions reserved for people
Information architecture
How one case moves through Forensis
Seven stages around one case, each where one object gets made or decided, and one inspector that opens any object with its source and history.
The information architecture of Matter M-204. Eight places around it: Matters, then 01 Register to 07 Record, each with the object it works on. Any object opens in the same inspector, with three tabs: Object, Relationships and Record. A review queue runs from Record back to Matters. 05 Compare is blocked, and hatched.
MatterM-204
- MattersMatter
- 01 RegisterSource, Evidence
- 02 ExplainHypothesis
- 03 InquireQuestion
- 04 DetermineDetermination
- 05 ComparePrinciple, blocked
- 06 InterveneIntervention
- 07 RecordReasoning Record
Any object opens in the same inspector: Object, Relationships and Record.
UI
Working a case, stage by stage
North Quay, through all seven stages.
Workspace
- Matters
- North Quay
Matter M-204
- Evidence
- Hypotheses
- Questions
- Determination
- Case comparison
- Interventions
- Reasoning Record
M-204Procurement
North Quay Service Exception
- sources
- 11
- evidence items
- 16
- rival hypotheses
- 5
3 objects need a decision
Responsibility cannot be delegated to AI
AI can propose at every stageOnly a person can raise an object's status
- Source
- Evidence
- Claim
- Hypothesis
- Determination
Object: MatterDecided by: Rhea and Arjun
Every open case, and a queue of what's waiting on a person.
Where the rules show up on screen
- Proposed by the AI assistant
E-17 candidate, not reviewed
The revised invoice may have been intentionally separated from the original thread.
A suggestion from the reasoning layer arrives marked as one. Rejected, it stays on record and can't bear on any claim.
A correction is added beside the original, which stays.
Search boundaryUnsubstantiated is not the same as impossible. The inquiry found no independent trace for the additional service volume in the repositories searched. The determination retains that exact limit.
An empty search says where it looked, and the finding keeps that limit.
What the prototype proves
What the prototype proves
The demo case runs end to end, from eleven documents to one signed finding.
- 5 to 1Explanations tested, one kept, four rejections on file with their reasons
- 8 of 8Questions answered, each tied to the explanations it separates
- 32 to 8Things investigators handle, merged into eight core objects
Limits
What I haven't tested yet
Next is a pilot on a real case, against a general chatbot.
North Quay is fictional, I wrote every output the reasoning layer shows, and nobody has used Forensis for real. The pilot would give two investigators one anonymised case, one with a chatbot and one with Forensis, and compare how long each takes to reach a finding, what each conclusion assumed, and how long a second person takes to check it.
The same object model should fit other anomaly work, perhaps an audit query or an insurance claim.



