Sanctions screening sounds like a lookup: is this name on the list? In practice it is a matching problem, across alphabets, spellings and deliberate disguise. Get it wrong one way and a sanctioned party passes. Get it wrong the other way and analysts drown in false alarms.
This piece walks through how Saolix Eagle decides whether a name matches, step by step.
Step 1: make names comparable
Before any comparison, Eagle normalises the name. Accents and diacritics are stripped, and names in other scripts are transliterated into Latin characters using established romanisation systems:
- Cyrillic, following a BGN/PCGN-style mapping
- Arabic, following ALA-LC, with diacritics removed
- Mandarin, converted to Hanyu Pinyin without tones
- Korean, using Revised Romanization
- Japanese kana, using Hepburn
Eagle also folds homoglyphs: characters from other alphabets that look identical to Latin letters. A Cyrillic "а" typed in place of a Latin "a" is an old trick for slipping past exact-match systems. After folding, both read the same.
Step 2: an exact match on identity, when you have one
If the screening request includes identifiers, such as a date of birth or a document number, Eagle first checks them against hashed identity keys for listed parties. A match here, backed by an identifier, is the strongest possible signal, and the screening stops with a FAIL.
A name alone never takes this shortcut. Many people share names with listed parties, so a name-only exact match continues through the full comparison like any other.
Step 3: find candidates, then score them
Eagle first finds candidate matches in the lists, then scores each one:
- Trigram similarity, which compares overlapping three-letter fragments, finds candidates that are close despite typos and small spelling differences. Where enabled, a character n-gram embedding, computed deterministically rather than by a neural model, finds candidates by the overall shape of the name.
- Each candidate is then scored by a deterministic lexical measure that combines edit distance and the overlap of name tokens.
Step 4: floors that can only raise a score
Some signals work as floors: they can raise a candidate's score to a minimum, but never lower it. Eagle has three. A near-exact match lifts the score close to certain. Where enabled, one name fully contained in the other sets a lower floor. The third needs two signals together: high Jaro-Winkler similarity, which rewards names that agree at the start, and the same phonetic code, from Double Metaphone and, by default, Daitch-Mokotoff (designed for Slavic and Germanic surnames, where one name can have many spellings). A strong signal in one method cannot be diluted by weaker ones.
Step 5: a verdict from configured thresholds
Configured thresholds map the fused score to one of three verdicts. Administrators can change them, but only with a second person's approval:
- PASS: no meaningful match
- REVIEW: a possible match for an analyst
- FAIL: a strong match
With one important condition. A FAIL is capped at REVIEW unless a date of birth or an identifier was supplied with the screening. A name that looks exactly like a listed name goes to an analyst. It is not blocked automatically.
A name that looks like a listed name goes to a person. It is not blocked by a score.
Which lists, and how fresh
Eagle maintains its registry from the major sanctions sources, including the US OFAC SDN list, the UN consolidated list, the EU financial sanctions list and the UK Sanctions List, along with further lists and politically exposed persons. Each ingest is a single transaction that adds new entries, updates changed ones and removes delisted ones, and it is stamped with a version label. Every interactive screening records which version was in force, and how old each list was at that moment.
Where AI fits
Nowhere in the steps above. The verdict is produced entirely by the deterministic pipeline. Eagle's copilot works afterwards, helping the analyst understand a REVIEW: explaining why the names matched and what to check next. It can never turn a REVIEW into a clearance on its own. We explain that line in The determinism boundary in practice.
You can screen names yourself in the Eagle Simulator.