Babelguard · open early warning for scams
Scam operations reuse one playbook in many languages, but defences are built and tested in English. Babelguard recognises the same scam as it reappears translated, in another script, in another country, and links it to the operation behind it.
Made-up messages showing what the engine does; no real report is reproduced on this page.
Share of reported scams caught by an English keyword filter, the simplest baseline, in each language with at least 30 reports in the largest open set of reported scam SMS (IMC 2025, 33,869 messages, 49 languages).
A keyword list is a floor, not a product: real filters do better. The point is the shape: the same method loses most of its power outside English, and loses the most in the languages with the least data. Results for real multilingual detectors and AI models are being measured next.
South Asia is a quarter of humanity and 0.8% of the open scam data. Africa: 0.1%.
Hindi has 175 reported messages; Tamil, Telugu, Odia and Marathi have none. Hausa, Yoruba and Amharic have none. A detector trained or tested on open data has not seen them.
Every message passes three stages on arrival. A campaign that starts in Hindi is recognised when it reappears in Odia or English, from its first few reports.
Removes the invisible characters and look-alike letters scammers use to slip past filters, while keeping the joiners that Hindi, Bengali, Odia, Urdu and Thai need. Native digits (०–९, ୦–୯, ٠–٩) become 0–9. Every removal is counted: a disguise is evidence.
Links, phone numbers in any digits, UPI IDs, emails and crypto wallets, checked by checksum. Victims' OTPs, card, Aadhaar and PAN numbers are masked before anything is shared.
Messages join one campaign when they share an indicator, are near copies, or say the same thing in another language.
1.5% → 85%of translated scams recognised: plain text matching against Babelguard's multilingual meaning link (11,333 messages, 45+ languages).
The streaming engine, measured on synthetic campaigns built from real reported templates, each with its own links, numbers and payment IDs, and real translations.
Built for the languages that today's defences serve least, and published with every number reproducible.
Where open scam data comes from, language by language, and how much protection an English-built method loses in each, with confidence intervals and the small samples marked rather than ranked.
A cleaner that removes disguises without breaking the scripts that need joiners, and an indicator extractor that reads phone numbers in native digits, UPI IDs and wallets, with victims' details masked.
Cross-language recognition from 1.5% to 85%, so one fact-check or takedown can cover every language version of a campaign.
Streaming, crash-safe linking at 4,057 messages a second on four cores, with 50 crashes and nothing lost: built to run on a CERT's own machines, so no report leaves them.
Free to quote with credit to “Sankur Kundu, Babelguard”. Every figure links back to code and data.
Babelguard runs on your own systems; no report leaves them. I will set it up with your team and write up what it finds, at no cost.
@software{kundu2026babelguard,
author = {Kundu, Sankur},
title = {Babelguard: an open early-warning system for scams across languages},
year = {2026},
url = {https://github.com/Shakhtar-Sankur/babelguard},
license = {Apache-2.0}
}