KibiPay
HomeBlog › OFAC & Sanctions

Name Transliteration and Sanctions Matching

6 min read OFAC & Sanctions
SanctionsScreeningName matching
Name Transliteration and Sanctions Matching

Sanctions screening sounds simple — check a name against a list — until you realize that a name is not a fixed string. The same person's name can be written a dozen ways when it crosses scripts, languages, and clerical conventions. Transliteration is at the heart of why sanctions matching is a fuzzy, probabilistic problem rather than a database lookup, and why screening systems throw so many false positives.

The transliteration problem

Transliteration is the process of representing a name from one writing system in another — rendering Arabic, Cyrillic, Chinese, or other scripts into the Latin alphabet. Crucially, there is no single correct answer. The Arabic name commonly written Muhammad also appears as Mohammed, Mohamed, Muhammed, and Mohammad. The Russian surname often written Yusuf may appear as Yusof or Youssef. Libyan leader's name has been rendered as Gaddafi, Qaddafi, Kadafi, and many more. Sanctions lists themselves often carry multiple spellings and known aliases for exactly this reason.

Because the underlying source scripts encode sounds differently and different languages transliterate differently, a payment message and a sanctions entry can refer to the same person while sharing not a single identical character in some fields.

Why exact matching fails

Given this, exact string matching is useless for sanctions screening in two directions. It produces false negatives — a genuine sanctioned party spelled slightly differently slips through undetected, which is a serious compliance failure. And any attempt to catch variants by loosening the match produces false positives — innocent customers whose names happen to resemble a listed name get flagged, generating huge volumes of alerts that analysts must clear by hand. The two error types trade off directly against each other.

Fuzzy matching techniques

Screening systems therefore use fuzzy matching to score similarity rather than demand identity. Common techniques include:

Each candidate pair gets a similarity score, and the system flags matches above a configured threshold.

Tuning the threshold

The matching threshold is the central control, and it embodies a risk decision. Set it high (demanding near-identical names) and you reduce false-positive noise but risk missing a real match — a compliance and legal risk. Set it low (accepting looser similarity) and you catch more variants but bury analysts in alerts, most of them innocent. There is no threshold that eliminates both errors; the job is to calibrate it to the institution's risk appetite and then manage the residual alerts efficiently. Many programs use different thresholds by context — stricter for high-risk corridors, and combined with secondary data like date of birth, nationality, or address to disambiguate a name match.

Reducing false positives without missing hits

Because loosening the match is dangerous, the better lever is adding corroborating data. A name match alone is weak; a name match plus a matching date of birth, nationality, or identifier is strong. Screening systems reduce false positives by requiring or weighting these secondary attributes, by maintaining good-guy/whitelist records for previously cleared customers, and by using list metadata (aliases, weak-AKA flags) that indicate how reliable a given spelling is. Analysts also build institutional knowledge — documenting why a particular alert was cleared so the same false positive does not consume time repeatedly. The strategic point is that transliteration guarantees noise, so a mature program invests as much in disambiguation and alert management as in the matching algorithm itself.

Key takeaways

See these rails in motion

KibiPay connects UK Faster Payments, Bacs, CHAPS, Mojaloop mobile money and Solana behind one API, with ISO 20022 messaging and real-time fraud & AML screening.

Open the live console How it works