# Changelog of Sanctions Screening: OFAC, EU, UN & UK Lists (`offerastudio/sanctions-screening`) Actor

- **URL**: https://apify.com/offerastudio/sanctions-screening/changelog.md
- **Full Actor documentation**: https://apify.com/offerastudio/sanctions-screening.md

## Changelog

### 1.1 (2026-10-02)

- The EU list is back in the default lists, read from the European Commission's official **EU Sanctions Map** JSON API (`sanctionsmap.eu`, no login, no key) as list id `eu-sanctions-map`. The Commission's FSF file download now redirects automated clients to EU Login; it is still tried first (one attempt), and the Actor falls back to the Sanctions Map automatically. The old `eu-fsf` id still works as the file download alone.
- The map is read one regime at a time, about 300 ms apart, with retries on 429 and 5xx. The merged list (6,224 unique FSF ids on 2 October 2026, plus sectoral-list members without an id, keyed by name and regime) is kept for 12 hours in the named store `sanctions-lists-cache`. A refresh that misses regimes is flagged as incomplete and never replaces a complete copy.
- Every candidate has a `source` (for the EU list: `sanctionsmap.eu (European Commission)`) and every `listsVersion` entry says where its entries were read from; new status `cached` (a copy under 12 hours old was used).
- The Sanctions Map has fewer fields than the FSF XML (often no date of birth or nationality): country and date-of-birth adjustments apply only when the entry has them.

### 1.0 (2026-10-02)

- First version.
- Screens up to 10,000 names against the official OFAC SDN and Consolidated lists, the EU financial sanctions list (FSF), the UN Security Council consolidated list and the UK sanctions list, downloaded from the publishers.
- Lists are downloaded once per run, with a conditional request (ETag / Last-Modified) against the copy kept in the named key-value store `sanctions-lists-cache`; every row records each list's publication date (`listsVersion`). A list that cannot be loaded is reported in every row (`listsUnavailable`), never skipped silently.
- Fuzzy matching: case, accents, punctuation, word order, legal forms, Cyrillic and Greek transliteration, common spelling variants, aliases; optional country, date of birth and type adjust the score. Up to 5 candidates per name with list entry ID, matched alias, programmes, countries, dates of birth, listing date, official link and score breakdown.
- Pay per event: `name-screened` at $0.003 per name. Invalid entries and run notes are free.
