FraudLens
Checks a suspicious message, link or document before you pay, in English, French and Kreol Morisien.
- Status
- Livefraudlens.site
- Built for
- Finnovate Web and AI Hackathon 2026
- When
- 2026
- Team
- Dhruv & Friends, four developers
- My role
- Quality, testing and document checks
- Built with
- Node and Express, Next.js 15, Chrome extension, Outlook add-in, SQLite, Tesseract OCR, Python forensics service
The problem
Scams in Mauritius arrive in mixed Kreol and French: an SMS saying your MCB account is blocked, a WhatsApp "bank" asking for the one-time code it just sent, a fake MRA refund page. Generic filters don’t read Kreol, don’t know that mcb.mu is real and mcb.nu isn’t, and hand back a score nobody can explain.
How it works
- A language model reads the message and may only return tactic codes from a fixed list, each with a quote copied from the message. Code checks every quote against the original and drops anything it can’t find there.
- A versioned rules engine turns those findings into the score, the verdict and the advice, and lists every point it added.
- A registry of official domains for seven Mauritian banks, telecoms and government bodies catches look-alike links, including Cyrillic letter swaps.
- The web app, a Chrome extension and an Outlook add-in all call the same backend. None of them has its own copy of the detection logic.
- PDFs and Word files are checked for how they were made, such as a pasted signature or edits after signing, and reported as warning signs, never as “forged”.
Design decisions
- It still works when the AI is down. If the model fails or times out, the rules return a full verdict on their own. It was designed for a live demo on bad Wi-Fi.
- The same findings always give the same score. The model never scores anything.
- Phone numbers, emails and account numbers are redacted in the browser before a message is sent.
My part
- Built the test pages, ran the QA rounds and wrote the fix-check harness.
- Built the PDF and Word document forensics.
- Reviewed the Kreol scam dataset and tested Kreol consistency. Only the 61 human-reviewed rows are used.
| Rules only, model off | 46 of 63 scam messages caught, 0 of 21 legitimate messages flagged |
|---|---|
| Backend tests | 631 passing |
| Web app tests | 99 passing |
| Outlook add-in tests | 77 passing |
| Chrome extension tests | 46 passing |
| Document forensics tests | 48 passing, 2 skipped |
More screenshots





Not done yet
- No user accounts or per-user access control yet.
- SQLite and in-process rate limiting suit one demo instance, not real traffic.
- Uploaded documents are stored unencrypted, and nothing deletes them yet.
