KYC and Identity Verification

Before you can serve a customer in a regulated business, you have to answer a deceptively hard question: are they really who they claim to be? KYC turns that question into an engineering pipeline — collect, verify, screen, risk-assess — and getting it right means balancing legal rigor against an onboarding experience that doesn't drive legitimate customers away.

Every regulated customer relationship starts with KYC (Know Your Customer) — the obligation to verify a customer’s identity before (and during) doing business with them. It exists to stop criminals, fraudsters, and sanctioned parties from using your service, and it’s the first compliance system a customer encounters. This post covers KYC as an engineering problem: the verification pipeline, the risk-based approach, the perpetual tension between rigor and friction, and why KYC is never truly “done.”

What KYC is and why it exists

KYC is the set of processes for establishing and verifying who your customer is. In financial services it’s a legal requirement — you cannot open accounts for unverified or prohibited parties — and its purpose is to prevent your service from being used for fraud, money laundering, terrorist financing, or sanctions evasion. The formal umbrella is often CDD (Customer Due Diligence): understanding who the customer is and the risk they pose. KYC is the front door of compliance — if you don’t correctly know who your customers are, every downstream control (AML monitoring, sanctions screening, reporting) is built on sand.

For engineers, KYC is a pipeline: take the identity information and documents a customer provides, verify them against authoritative sources, screen the person against watchlists, assess their risk, and record every step — turning a legal obligation into a sequence of automated (and sometimes manual) checks.

The verification pipeline

A KYC flow typically moves through stages, each an engineering task:

1. Collect     → gather identity data + documents (name, DOB, address, ID document, selfie)
2. Verify      → confirm the identity is real and belongs to this person
3. Screen      → check against sanctions/PEP/adverse-media lists (next posts)
4. Risk-assess → assign a risk level (drives how much scrutiny)
5. Decide      → approve, reject, or escalate to manual review
6. Record      → log every input, check, and decision immutably (auditability)

The engineering goal is to automate as much as possible (for scale and speed) while routing genuine uncertainty to humans, and to record everything.

The risk-based approach

A defining principle from the last post: KYC is risk-based, not uniform. Regulation generally expects you to apply more scrutiny to higher-risk customers and less to lower-risk ones, rather than treating everyone identically. This means KYC comes in graduated levels:

For engineers, this means the KYC system is not a single fixed flow — it’s a risk-scoring engine that assesses each customer and applies the appropriate level of due diligence. You build a system that computes risk (from geography, product, customer type, behavior) and branches the verification depth accordingly. This graduation is central: it focuses effort where risk is, and applying uniform heavy checks to everyone is both wasteful and worse for legitimate low-risk customers.

The rigor-versus-friction tension

KYC embodies the balance principle acutely: it must be rigorous enough to satisfy regulators and stop bad actors, yet frictionless enough not to drive legitimate customers away. These pull hard against each other:

The engineering art is maximizing rigor per unit of friction: use automation to verify quickly and invisibly where possible (instant checks against data sources, seamless document capture), reserve heavy friction for genuinely higher-risk cases (the risk-based approach), and make the necessary friction as smooth as possible. A well-engineered KYC flow verifies most legitimate customers in moments while catching and scrutinizing the risky ones — that’s the target, and it’s a genuine product-and-compliance co-design problem, not a pure legal one.

KYC is ongoing, not one-time

A crucial and often-missed point: KYC is not just an onboarding gate — it’s continuous. Verifying a customer once at signup isn’t enough, because circumstances change:

So KYC engineering isn’t a one-shot pipeline but a lifecycle: verify at onboarding, then continuously monitor, periodically refresh, and re-screen. Designing for the whole lifecycle — not just the signup form — is what makes KYC genuinely compliant. With customers verified and continuously known, the next question is watching what they do: AML and transaction monitoring.

Key takeaways

Further reading

Sources & References