LLM-written analyst commentary over an assessment.
Requires an active Professional subscription, except for status/1. These
calls invoke a language model, so they are slower and dearer than the
deterministic rule engine — and, like any LLM output, the narrative is a
drafting aid for an analyst, not a compliance decision.
Summary
Functions
Summarise adverse media results into a short overview.
Write a narrative risk analysis for one company.
Read a filing PDF with an LLM.
Which AI providers are configured. Available without a subscription.
Types
@type result() :: {:ok, map()} | {:error, KYCCentral.Error.t()}
Functions
@spec adverse_media_overview(KYCCentral.t(), String.t(), keyword()) :: result()
Summarise adverse media results into a short overview.
Options
:provider:results— search results to summarise, as returned byKYCCentral.News.screen_company/2orKYCCentral.News.search_names/2.
@spec company(KYCCentral.t(), String.t(), keyword()) :: result()
Write a narrative risk analysis for one company.
Options
:rule_set_id— rule set whose findings should frame the analysis.:provider— override the AI provider, e.g."claude","gpt","gemini". Defaults to whichever the API is configured with.:sections— restrict the write-up to named sections. At most 50.:fca_frn— FCA Firm Reference Number, when the company is regulated and you already know it.:context— evidence gathered elsewhere (confirmed screening hits, selected filings, analyst-confirmed identity links) folded into the prompt, so the analysis reflects your review rather than raw unconfirmed matches.
@spec filing_extract(KYCCentral.t(), String.t(), String.t(), keyword()) :: result()
Read a filing PDF with an LLM.
Options
:mode—"extract"to pull structured data out of the filing, or"verify"to check an existing extraction against the document. Defaults to"extract".:provider
@spec status(KYCCentral.t()) :: result()
Which AI providers are configured. Available without a subscription.