OPS-26-H4KYC / AML

KYC adverse media screening automation for compliance

Hybrid browser automation + Claude agent. 40+ news sources, 11 languages, compliance-grade audit trail. KYC analyst review time dropped 84%.

-84%analyst review time
Sector
RegTech · KYC/AML · Tier 2 EU bank
Surfaces
Browser · AI agent · Compliance UI
Runtime
6 months production
Published
2025-11-14

Challenge

A Tier 2 European bank handles ~3,500 KYC reviews per month for its corporate banking division. Every review requires adverse media screening — reviewing public media, regulatory databases, court records, sanctions lists, for persons of interest and their UBOs (Ultimate Beneficial Owners).

Process in 2024: every analyst spent 90–180 minutes per review manually searching ~40 sources in languages from Polish and German through Russian and Ukrainian to Chinese for cross-border transactions. Compliance audit required documentation of every source, query, and signal found. The bottleneck was brutal — the review queue was always 6–8 weeks behind.

They tried standard KYC vendors (LexisNexis, Refinitiv World-Check, Dow Jones). Each covered 60–70% of the need, expensive ($150–400 per query), and still required manual review of every match (false positive rate in those tools is high).

Approach

We designed a hybrid system: deterministic browser automation for structured sources (sanctions lists, regulatory registers, court databases) + AI agent (Claude) for unstructured news search across 40+ portals in 11 languages.

Critical decisions: separate parser per source (sanctions lists are stable, deserve dedicated extraction), agent for news (formats shift, sources disappear, LLM adapts). Every AI agent decision logged in full — compliance audit requires "what the model saw, what it returned, how it categorised" for every review.

Architecture: Temporal as orchestrator of the review workflow (5–15 minutes wallclock per review), Playwright pool for browser automation, Claude API (Sonnet 4 for research, Haiku for initial categorisation), PostgreSQL with full audit log per query, custom compliance UI in Next.js for analyst review.

Critical safeguards: every match (sanctions, adverse media signal) requires human analyst review before review approval. The AI does not make final decisions — it only surfaces signals with reasoning. Every reasoning step lands in the audit log. Every source has a timestamp and a page snapshot preserved for regulatory inspection.

Outcome

Analyst review time fell from 90–180 minutes to 12–28 minutes average (-84%). Analyst time now spent mostly on reviewing surfaced signals, not hunting through sources.

Review queue lag fell from 6–8 weeks to 5–7 days. The compliance team could accept 4× more clients per analyst without new hiring.

False negative rate (missed adverse signal): <0.4% measured by quality assurance team. False positive rate: ~12% (analyst must disqualify), acceptable for compliance — better to surface than miss.

Compliance audit passed without findings by two external auditors. Full audit trail per review accessible in <30s — vs the previous process where reconstructing the trail from analyst notes took days.

Cost: ~$11k/month operationally (LLM + proxy + compute) vs ~$25k/month for KYC vendors plus the previous manual cost. Net saving ~€520k per year.

Stack

TemporalPlaywrightClaude API (Sonnet 4 + Haiku)PostgreSQLNext.js compliance UIBright Data residentialSentryDatadog

Metrics

  • 3,500+Reviews / month
  • 40+Sources monitored
  • 11Languages
  • -84%Analyst time per review
  • 6–8 wks → 5–7 daysQueue lag
  • <0.4%False negative rate
  • ~€520kAnnual saving
Similar problem in your business?

Every project is different, but patterns repeat.

If you recognise pieces of this case study in your own situation — write. We usually see in the first call whether it is hours-per-week scale or months of infrastructure.