Onboarding is the only screen in your product where two teams with opposite incentives are forced to share a code path. Growth wants the funnel wide open. Compliance wants every applicant interrogated. Most fintechs resolve this tension badly, they build onboarding as a legal checkbox, bolt a vendor SDK onto a signup form, and then act surprised when their approval rate is 60% and their fraud team is drowning. The truth is that KYC and AML onboarding is the single highest-leverage engineering surface in a money-moving product. Get it right and you have a compliant, low-fraud, high-conversion front door. Get it wrong and you're either bleeding good users at the gate or laundering money for criminals. There is no version where you ignore it.
I want to talk about onboarding as what it actually is: a real-time risk decisioning system that happens to wear a signup form as a costume.
KYC and AML are two different problems wearing one form
People conflate these constantly, so let's separate them. KYC, Know Your Customer, is about identity. Is this person who they claim to be? That breaks into document verification (capturing and validating a government ID, checking the MRZ, the security features, whether it's a photo of a screen), and liveness/biometric checks (a selfie matched against the document, with active or passive liveness to defeat someone holding up a printout or a deepfake). It also includes verifying the data points themselves, name, date of birth, address, against authoritative sources.
AML, Anti-Money-Laundering, is about behavior and association. Even a perfectly verified real human can be a sanctioned individual, a politically exposed person, or a mule. So AML onboarding means screening the applicant against sanctions lists (OFAC, EU, UN), PEP databases, and adverse media. And it doesn't stop at signup, the AML obligation extends into ongoing transaction monitoring: velocity rules, structuring detection, unusual counterparties. Onboarding is where you set the user's risk baseline that monitoring will measure against later.
Engineering-wise, the mistake I see most is treating these as a single synchronous call. They aren't. Identity verification is a user-facing, latency-sensitive interaction. Sanctions screening is a list-matching problem with fuzzy logic and false positives. They have different failure modes, different latencies, and different owners. Model them as separate steps in a decision pipeline, each emitting a structured signal.
The number that matters is a ratio, not a rate
Here's the discipline almost nobody enforces: onboarding must be measured on conversion and approval/fraud rate simultaneously. Optimizing either one alone produces garbage.
If you only chase conversion, you'll strip out friction until your fraud rate explodes and your sponsor bank or card network sends you a remediation letter. If you only chase fraud prevention, you'll add so many checks that legitimate users abandon, and a 40% abandonment rate on a verified-funnel is a business that quietly dies. The right frame is a frontier: for a given fraud tolerance, maximize approvals. Every product change moves you along that curve, and you should know which direction before you ship it.
Concretely, instrument the funnel step by step, document capture started, document passed, liveness passed, screening cleared, account funded. You'll find the drop-off cliffs are rarely where you assumed. A common one: forcing manual address entry when you already verified it from the ID. Another: liveness checks that fail on dark-skinned users or in low light, which is both a conversion bug and a fairness problem. These are engineering defects, not "user error."
Risk scoring and routing is the actual product
The heart of onboarding is not the checks, it's what you do with their results. Every applicant should produce a risk score assembled from independent signals: document confidence, liveness confidence, screening hits, device and network fingerprint, email/phone age, and behavioral signals like paste-detection or implausible typing speed. Then you route.
- Auto-approve the clean majority instantly. This is where conversion lives, every second of delay costs you users.
- Auto-decline the unambiguous bad actors, confirmed sanctions matches, document forgery, known-fraud device fingerprints.
- Route the ambiguous middle to a manual review queue: a real human compliance analyst with a purpose-built case-review tool, the applicant's evidence laid out, and an audit trail of every decision.
That manual queue is not an afterthought; it's a piece of software you have to build well. Analysts need SLAs, escalation paths, and a feedback loop where their decisions retrain your scoring thresholds. A queue with no SLA becomes a black hole where good applicants rot for five days and churn. And every decision, auto or manual, needs an immutable, timestamped record of why, because a regulator or auditor will eventually ask, and "the vendor said so" is not an answer.
Tiered onboarding: let people in, then earn trust
The single best lever for the conversion-versus-fraud tradeoff is to stop treating onboarding as one binary gate. Use progressive, tiered verification. Let a user in fast with minimal friction and minimal capability, they can hold a small balance, receive funds, look around. As they try to do more, raise their limits, send larger amounts, withdraw to external accounts, you escalate verification in step with the risk they're introducing.
This is good for everyone. The user gets immediate value and a reason to complete the harder steps later, when they're already invested. You collect heavy PII and run expensive checks only on users who've demonstrated intent, which cuts both your verification costs and your data-liability footprint. The architecture this demands is that capability must be a function of verification level, enforced server-side at the point of every action, not a UI flag. The limit check lives next to the ledger, not in the onboarding flow. Your ledger and your KYC tier are two sides of the same authorization decision: can this verified-to-level-N user move this amount right now?
Edge cases are where products are actually judged
The happy path is easy. Your onboarding's real quality shows in the failures. What happens when verification fails? A blurry photo, a glare-obscured ID, a liveness timeout on a legitimate user with a bad camera, these are the majority of failures, and they're recoverable. You need clean retry flows that explain what went wrong ("we couldn't read your ID, try again in better light") without coaching actual fraudsters, and without burning so many attempts that you train a bad actor to brute-force their way through.
You need an appeals path for users wrongly declined, because you will decline real people, and a dead end with no recourse is both a lost customer and, in many jurisdictions, a regulatory problem. You need idempotency so a user who refreshes mid-flow doesn't create a duplicate case or double-charge a verification vendor. And you need to handle the partial state gracefully: someone who passed liveness but stalled on screening should resume exactly where they left off, days later, without starting over.
Compliance is an engineering surface, and PII is a liability
Stop thinking of compliance as a legal document someone hands you. It is a set of runtime behaviors your system must exhibit and prove: which checks ran, in what order, with what results, retained for the legally mandated period, queryable on demand. That's an engineering spec. The companies that move fast in regulated fintech are the ones who treat audit trails, decision logs, and screening evidence as first-class data models from day one, not as something to reverse-engineer when the audit notice arrives.
And the sensitive data itself is a liability to be minimized, not an asset to hoard. Practice data minimization aggressively. Collect ID images and biometrics only when the tier requires them. Where possible, let your verification vendor hold the raw document and store only a reference token and the pass/fail verdict, your database does not need a bucket of passport photos. Encrypt PII at rest with proper key management, tokenize what you can, scope access tightly with logging, and define retention and deletion schedules up front. Under PCI DSS and SOC 2, the data you never stored is the breach you can't suffer. This is also where AI-native delivery has to be disciplined: never pipe raw PII into a model or a logging sink because it was convenient.
All of this is one slice of the larger system, if you want the full picture of how these pieces fit together, I've written about what it takes to engineer a product that moves money end to end.
Build it like the front door it is
Onboarding is the first promise your product makes about how it handles money and trust. Done as a checkbox, it leaks users and invites fraud. Done as a risk-decisioning system, tiered, instrumented, with real routing and humane failure handling, it becomes a competitive advantage that most of your competitors will never bother to build.
That is the reframe worth keeping: onboarding is not a compliance checkbox you survive, it is a risk-decisioning system you design. Treat it as engineering, tiered, instrumented, humane on failure, and the regulator's requirements and the growth team's conversion targets stop being a trade-off and become the same well-built flow.

