AI Fraud Document Review
MII Fraud Detection: OCR and two-pass LLM procurement review, with offline development-set evaluation. The hybrid engine remains in shadow mode only.
Key results
90.9% to 36.4%
False-positive rate on noisy clean packets, offline development set
76.2% to 0%
Fail-open rate, offline development set
0 of 3,780
Production runs with user-visible output changed by the shadow engine
- Creator and sole engineer, responsible for design, AI coding agent direction, review and release
- May 2026 to Oct 2026
- Key project
- L3:fraud-review-platform
Situation
Procurement teams needed timely, trustworthy fraud review across document packets. Early versions flagged clean packets, undermining confidence in the results. As the creator and sole engineer of MII Fraud Detection, I had to show that false positives could fall without missing real fraud.
Role and key decisions
Split review into per-document findings and a cross-document verdict
Why: The pipeline runs over OCR output: the first pass records findings for each document, the second pass reaches a verdict across the documents, and live progress streams while it runs.
Gated changes on gold sets for false positives, recall and fail-open
Why: I first set up gold sets and CI gates for false-positive rate, recall and fail-open, then replaced the majority-vote guardrail and the overly broad safe patterns.
Kept the hybrid risk engine in shadow mode after it failed recall
Why: It cut offline false positives to 9.1%, but recall dropped to 0.841 and it failed its gate. I kept it in shadow mode, where it changed user-visible output in 0 of 3,780 production runs.
Results
90.9% to 36.4%
False-positive rate on noisy clean packets, offline development set
76.2% to 0%
Fail-open rate, offline development set
0 of 3,780
Production runs with user-visible output changed by the shadow engine
11.1% to 3.7%
Prompt-injection success rate in a live evaluation, not production
Lesson
Write the release gates before running the evaluation; if a change fails a gate, it does not become the decision maker, even when another number looks better. One good development run is encouraging, but it is not the bar for letting the engine decide.
Architecture
Gallery
Tech stack
Next.js
FastAPIAzure OpenAI
Document Intelligence
Microsoft Agent FrameworkAzure AI Content Safety
Cosmos DB
Blob Storage
App Service
Bicep
GitHub Actions
Azure Managed Applications
More AI Engineering projects
Technical Consultant, Software & AI, Metrodata (PT Mitra Integrasi Informatika)