TikTok Pay KYC, scaled across markets
KYC across Vietnam, Malaysia, Indonesia, and the US for TikTok Pay, Shop, and Live. Vietnam new-user completion 70% → 90%. Vendor docking SOP cut integration cycles by ~40%.
- Role
- Product Designer (Intern)
- Period
- Jun — Sep 2025
- Client
- TikTok
- Themes
- Fintech · Compliance · Multi-region · Design System

- 0 → 0%
Vietnam KYC completion
- −0%
Vendor integration cycle
- VN · MY · ID · US
Markets shipped
01
What KYC is
Regulatory gate before any payment can run. Break it, users drop off. Loosen it, the regulator does.
Identity verification
Local ID + selfie + liveness check, per market.
Compliance contract
Each regulator audits the flow, the data, the SDK.
4 frameworks
SBV · BNM · OJK · FinCEN — same gate, different rulebooks.
“When KYC breaks, users drop off. When it's loose, the regulator does.”
02
Where the work landed
Four markets. One design system. TikTok Pay · Shop · Live across all.
- VNVietnam
SBV
Pay · Shop · Live
- MYMalaysia
BNM
Pay · Shop
- IDIndonesia
OJK
Pay · Shop
- USUnited States
BSA · FinCEN · CIP
Pay · Shop · Live
03
Three layers of the problem
UX · Compliance · UI — three distinct failures, three distinct fixes. None solvable alone.
Problem
Users reusing historical identity data had no fallback when their ID couldn't be found — flow forked into silent drop-offs.
Approach
"Not My ID" escape path + Goal Gradient progress visibility — the user always knows where they are.
04
Three audiences, one flow
Each KYC change had to satisfy all three at once.
Business
Lift completion to unlock payment volume across markets.
User
Onboarding that feels simpler, clearer, more trustworthy.
Design
Framework that absorbs many SDKs without falling apart.
05
The flow, with the escape path
Most flows assume the happy path. KYC's failure mode is the silent fork — a user who can't proceed but doesn't know why. We surfaced the alternate route as a first-class step.
- 01
Open TikTok Pay
Entry · prefilled identity from history
- 02
Choose ID type
Citizen ID · passport · DL
- 03
Verify identity
OCR + liveness
- ↗ Not My IDRe-enter manually
Surfaces the alternate route — drop-offs collapse from 30% to ~10%.
- 04
Confirm match
Goal Gradient progress · 3 of 4 done
- 05
KYC approved
Pay unlocked
06
Completion across markets
Vietnam was the trial — once it landed, the same pattern (escape path + Goal Gradient + standardized OCR) ported to MY · ID · US.
- Open KYC100%
- Upload ID92%
- Liveness90%
- Approved90%
- Pass OCR88%
- Up from 70% in v1 — "Not My ID" + progress.
- OCR taxonomy standardized · MY/VN aligned
07
Vendor Docking SOP
First standardized SOP for TikTok PIPO — workflows, acceptance criteria, UI delivery priorities. The artifact I'm proudest of.
Workflow
Stages, owners, acceptance gates per SDK vendor.
Acceptance
Checklist tied to OCR mapping + UI templates + halts.
Delivery
UI tokens, component library, country-variant rules.
“Cross-market scalability stopped being a function of who was on shift.”
08
Results
What shipped, what stuck.
- 0 → 0%
VN new-user KYC
Vietnam completion lift.
- −0%
Vendor cycle
Onboarding new SDKs, faster.
- 0
Markets shipped
VN · MY · ID · US.
- 0
OCR taxonomy
Co-authored with Legal + Risk.
09
Reflection
Compliance-first UX is its own discipline — regulator language and human language don't compromise. The right answer was less about fixing one flow, more about making the SDK system modular, configurable, data-driven.