Screen names against OFAC, the UN Security Council, the UK Sanctions List and the EU Financial Sanctions Files.
Matching is approximate — these lists carry transliterated names, aliases and date-of-birth ranges — so treat every hit as a candidate for human review rather than a confirmed match.
Summary
Functions
Browse the underlying sanctions entities.
Maximum number of names accepted by screen_names/3.
Provenance of the loaded lists: sources, publication dates, record counts.
Screen a single name.
Screen up to 500 names in one request.
Whether the screening dataset is loaded and ready.
Types
@type result() :: {:ok, map()} | {:error, KYCCentral.Error.t()}
Maximum names per batch, as declared in the API schema.
Functions
@spec entities( KYCCentral.t(), keyword() ) :: result()
Browse the underlying sanctions entities.
Options
:search— substring filter on entity name.:entity_type— e.g."person"or"organization".:sanctioned— filter to currently-designated entities.:dataset— restrict to one source list, e.g."gb_fcdo_sanctions".:page,:page_size
@spec max_names() :: pos_integer()
Maximum number of names accepted by screen_names/3.
@spec meta(KYCCentral.t()) :: result()
Provenance of the loaded lists: sources, publication dates, record counts.
@spec screen(KYCCentral.t(), String.t(), keyword()) :: result()
Screen a single name.
Options
:threshold— minimum overall match score to return, between 0 and 1. Raising it returns fewer, stronger candidates.:vector_threshold— minimum semantic-similarity score for the nearest-neighbour stage that shortlists candidates.
@spec screen_names(KYCCentral.t(), [String.t()]) :: result()
Screen up to 500 names in one request.
Far cheaper than a loop over screen/3: one request against your rate limit
instead of one per name.
@spec status(KYCCentral.t()) :: result()
Whether the screening dataset is loaded and ready.