SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

new-designation-screening-test

Documentos

Generate a spreadsheet of test entries — newly designated names from OFAC, OFSI, and EU sanctions lists plus deliberate variations of those names — to validate that a sanctions screening system catches fresh designations and is tuned to the right fuzziness threshold. Use this whenever the user asks for sanctions list update test data, screening regression test data, screening QA, fuzzy match calib

4estrelas
Ver no GitHub ↗Autor: amir-the-sanctions-guyLicença: MIT

New Designation Screening Test Generator

This skill produces a spreadsheet that compliance teams can run through their sanctions screening system to verify two things at once:

  1. Coverage — the screening list is current (catches names added in the most recent designations).
  2. Fuzzy tuning — the screening engine is tuned to catch realistic name variations (transliterations, transpositions, alphabet swaps), not just exact strings.

Each row in the output is a single test entry: a designated name or a deliberate variation of one, plus the metadata an analyst needs to interpret a hit (or a miss).

When to run

Run when the user asks for:

  • New designation test data / screening regression set
  • Validation that their sanctions list is up to date
  • A fuzzy-match calibration test set
  • Anything matching "test my screening" or "check our [SDN/OFSI/EU] coverage"

If the user doesn't specify a lookback window, default to the trailing 7 days. If they say "since last run" and provide a prior date, use that.

Workflow

Step 1 — Pull recent designations from the Big 3

RegulatorSourceWhat to capture
OFAChttps://ofac.treasury.gov/recent-actionsAdditions to the SDN List or sectoral/Non-SDN lists. Exclude amendments, removals, FAQ updates, and republished general licenses.
OFSIhttps://www.gov.uk/government/publications/the-uk-sanctions-list plus the matching OFSI notice PDF (see sub-procedure below)Entries marked "Added" only — exclude "Amended" and "Removed".
EUTwo sources used together: (1) https://data.europa.eu/apps/eusanctionstracker/ — the EU Sanctions Tracker; the middle of the page lists the most recently designated individuals and entities, used to identify in-window additions. (2) The relevant Council Implementing Regulation in the Official Journal (e.g., Regulation (EU) 2026/509 for the 20th Russia package), accessed via EUR-Lex — the canonical legal source for identifiers, addresses, designation reasoning, and listing references.New entries on the consolidated CFSP financial sanctions list.

OFSI sub-procedure

The UK Sanctions List page tells you the list changed and on what date. The designee detail you need (identifiers, designation reasoning, regulator-published name variations) lives in the matching OFSI notice PDF, published as a separate document.

Always expand the full change log. The "Updates to this page" section on https://www.gov.uk/government/publications/the-uk-sanctions-list is collapsed by default. The visible portion is partial; in-window entries can sit below the fold. Click "show all updates" (or expand the #full-publication-update-history anchor) every time, before reading the log.

Workflow:

  1. Open https://www.gov.uk/government/publications/the-uk-sanctions-list#full-publication-update-history and expand "show all updates" so every entry is visible.
  2. Read every entry within the lookback window. Identify those that list "Added" — exclude entries that are only variations, administrative amendments, corrections, or revocations. Note the date and the sanctions program(s) named.
  3. For each program with additions, web-search OFSI notice [program name] [day] [month] [year] (e.g., OFSI notice Sudan 29 April 2026) and locate the matching PDF. The URL begins with https://assets.publishing.service.gov.uk/media/... followed by the notice name.
  4. Confirm the PDF's publication date matches the change-log entry. If multiple notices for the program exist, only the one tied to the in-window date is the right source.
  5. Parse the notice. The PDF itself states whether each entry is an Addition, Variation, or Removal. Pull only entries under "Additions". For each addition capture: primary name, unique ID, regime name, sanctions imposed, DOB, town/country of birth, all nationalities, all passports, national ID(s), address, position, designation source (UK / UN), date designated, and any UN reference number (e.g., SDi.011).
  6. If the UK is implementing a UN Security Council listing, note the UN reference number in the identifiers column and check whether OFAC has the same individual — divergent transliterations across regulators produce useful test rows (see cross_regulator_variant in the taxonomy).

For each new entry across all three regulators, capture:

  • Primary name as listed
  • All AKAs / aliases the regulator publishes
  • Entity type (individual, entity, vessel, aircraft)
  • Sanctions program / authority
  • Designation date
  • Identifiers: DOB, POB, nationality/jurisdiction, address, passport / national ID / tax ID / IMO number / aircraft tail number
  • Source URL (link directly to the listing or notice page, not just the homepage)

Default scope: individuals and entities only

By default, exclude vessels and aircraft from the test set. Most sanctions screening in financial transactions runs against payment narratives, beneficiary names, and counterparty entities — not ship registries or aircraft tail numbers. A general-purpose screening test seeded with vessel and aircraft names produces noise more than signal for typical compliance teams (banks, fintechs, professional services firms).

Vessel and aircraft screening does matter for:

  • Trade finance and letter-of-credit operations
  • Ship and aircraft financing
  • Marine and aviation insurance
  • Shipping, freight forwarding, and logistics companies
  • Port operators and bunker / fueling services

If the user specifically requests vessel or aircraft test data, generate a separate spreadsheet for those entity types using the same column schema — don't fold them into the default output. Filename suggestion: screening-test-vessels-YYYY-MM-DD.xlsx or screening-test-aircraft-YYYY-MM-DD.xlsx.

In the response that delivers the default output, briefly note that vessels/aircraft were excluded and that a separate set is available on request.

Volume control

Apply this rule to each individual regulatory action separately (a single OFAC Recent Action page, a single OFSI notice, a single EU Council Implementing Regulation), after removing vessels and aircraft from the population unless the user requested them. Apply per-action, not to the combined cross-regulator total.

  • 5 or fewer additions in the action → take all of them.
  • More than 5 additions → sample 5 random entries plus 10% of the total (round up). E.g., a 120-designee EU package → 5 + ⌈12⌉ = 17 entries; a 30-designee OFAC action → 5 + 3 = 8 entries.

When sampling, stratify the random pick across entity_type (individuals vs entities) and program where possible, so the sample isn't accidentally one-sided. State in the response which entries were selected, the total post-exclusion population, and that the rest are available on request.

Step 2 — Generate 6–8 variations per name, categorized by failure mode

Each variation must be tagged with the failure mode it tests, so the analyst can read the resulting hit/miss pattern as diagnostic information about their screening tool. Pick 6–8 modes per name from the taxonomy below, biased toward the modes most relevant to that name's origin and structure (e.g., transliteration and script substitution are critical for Arabic/Persian/Russian/Chinese names; legal-form variants matter most for entities).

Variation taxonomy

#ModeWhat it testsExample: "Mohammad Reza Hosseini"
1TranspositionWord-order handling"Hosseini Mohammad Reza"; "Hosseini, Mohammad Reza"
2Initials / abbreviationPartial-string matching"M. R. Hosseini"; "Mohammad R. Hosseini"
3Spacing & punctuationTokenization edge cases"Mohammad-Reza Hosseini"; "MohammadReza Hosseini"; "Mohammad Reza Hosseini" (double space)
4Diacritic & special-character strippingUnicode normalization"Hosseini" → "Hoseyni"; "José" → "Jose"; "Ḥusayn" → "Husayn"
5**Transliteration d

Como adicionar

/plugin marketplace add amir-the-sanctions-guy/new-designation-screening-test

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.