# Changelog of Sanctions & Watchlist Screener 🛡️ (OFAC, UN, EU, UK) (`tagadanar/sanctions-screener`) Actor

- **URL**: https://apify.com/tagadanar/sanctions-screener/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/sanctions-screener.md

## Changelog

### 2026-08-30

- Every run now finishes with a status message that carries the evidence behind
  its verdict. On a screener the dangerous claim is the CLEAN one: an all-clear
  is what you act on, so it now reads "N names screened against L watchlists
  holding P listed parties and A searchable aliases, newest list date D, at a
  T% match threshold" instead of a blank green line. A watchlist that could not
  be downloaded, or that downloaded and parsed to zero listed parties, still
  stops the run — and now says which list failed and that partial coverage is
  never reported as clear.
- A run stopped by its charge limit now states that the unscreened names were
  NOT checked and must not be treated as clear.
- README: the per-name price is stated per 1,000 with the real plan-discount
  steps, and there is a new FAQ entry on how to trust a clear result.

### 2026-07-17 v0.1.0

- Initial release. Screens people and companies against five official lists
  downloaded fresh from the issuing authorities on every run: OFAC SDN (+ ALT
  aliases and weak akas parsed from remarks), UN Security Council Consolidated,
  EU FSF Consolidated, UK OFSI Consolidated, US Consolidated Screening List
  (trade.gov).
- Matching: exact, token-sort, name-in-name containment, initials and fuzzy
  (OSA distance with a bit-parallel Levenshtein prefilter), diacritics folding
  and basic transliteration. Low-quality aliases only match exactly; single
  common names are guarded; per-list match cap of 20.
- One output row per input name (clean no-hit rows included) with list
  versions, threshold and per-match explanation (list, alias, score, type,
  weak flag).
- Fleet conventions: list-input coercion with alias unwrapping, bad input
  exits SUCCEEDED with a status message, fail-closed billing (charge before
  push), actor-start floor charged before validation.
- Live-tested 2026-07-17: 57,274 parties / 143,183 names indexed in ~22 s,
  known hits (Sberbank, Wagner Group) at score 100, misspelled "Sberbnak of
  Rusia" at 89, clean name clear on all five lists. Peak RSS 314 MB at 10k-name
  worst case bounded by the flat index, memory 1024 MB (3.3x measured peak).
- Intended pricing (Console, at publish): `name-screened` $0.02 list with
  Bronze/Silver/Gold tiers, `actor-start` $0.001 floor. Cost per run is pure
  compute plus ~55 MB of list downloads (~$0.002 at 1024 MB for a 100-name
  run), which clears the we-pay 1/3 rule by orders of magnitude at any batch
  size. No proxy input exists.
- Published 2026-07-17 (we pay platform usage, all-in pricing): `name-screened` $0.02, `actor-start` $0.001, Bronze/Silver/Gold discounts. Measured platform cost $0.37 per 1,000 names (dominated by the fixed per-run list download and index build).
