KYC-UX: үйкелісті азайту
1) KYC-UX қағидаттары
Risk-based by design: тәуекел неғұрлым төмен болса - соғұрлым аз үйкеліс; тек сигналдар бойынша эскалация.
Progressive disclosure: дәл қазір не қажет екенін көрсетеміз (ең аз өрістер/экрандар).
One-tap re-entry: контексті сақтау, аяқталмаған тексерулерді қорытындылаймыз.
Сигналдардың көп көзділігі: құжаттар + liveness + мінез-құлық/желілік белгілер.
Мақсаттарды бөлу: KYC (сіз кімсіз) ≠ SoF/SoW (ақша қайдан) ≠ AML/санкциялар (қосымша сүзгілер).
Explainability: қысқа себептер, пайдаланушының түсінікті әрекеттері, болжамды мерзімдер.
2) Тәуекел-базалық деңгейлер (болжамды матрица)
3) Эталондық KYC-флоу (mobile-first)
1. Шекті триггер (мысалы, бірінші шығарылым) → қысқаша себебі мен пайдасы бар экран: «Қорытындыларды ашу және лимиттерді көтеру үшін жеке тұлғаны тексереміз».
2. Құжатты таңдау (төлқұжат/ID/жүргізуші) ел үшін «не жақсы» деген кеңеспен.
3. Суретке түсіру: авто-крап, фондың бұлдырауы, жарықтандырғыш/контрастың жарықтандырылуы, өткірлікті бақылау.
4. OCR/MRZ/NFC: жылдам прогресс, UI блоктамаймыз; NFC кезінде - анимацияланған «құжатты телефонға апарыңыз».
5. Liveness: 3-4 қарапайым әрекет (басын бұру/жыпылықтау) немесе пассивті liveness 2-3 кадр.
6. Авто-валидация (фондық) + көрінетін SLA таймер (мысалы, «2 минутқа дейін»).
7. Нәтиже: + мақұлданды → лимиттер/мәртебе; → дәл бір тармақ пен мысалдарды толықтыру керек; - бас тарту → түсінікті себеп және апелляцияға жол.
4) «Жұмсақ» қадамдар (step-ups) және контекст
Geo-conflict (IP ≠ KYC) → GPS/SIM немесе proof address (L2) сұрау.
High-risk BIN/эмитент → депозит талпынысы кезінде мәжбүрлі liveness.
Velocity/мультиаккаунтинг → шығару кезінде қайта селфи + SoF.
РЕР/санкциялар (fuzzy) → L3 SoF/SoW және қолмен тексерумен.
5) Микро-UX: үйкелісті қалай азайтуға болады
Қадамға дейін: «Не дайындаңыз? ~ 2 минут, төлқұжат/ID және жақсы жарықтандыру».
Құжатты алу: маска-рама, жарық детекциясы, жасыл «фото оқылатын/бұрышы тегіс» чек-маркалары.
Жергілікті OCR-preview: көзбен шолып тексеру үшін санаулы өрістерді көрсету.
NFC-кеңестер: нақты ел/бланк үшін чиптің орналасқан жері бойынша ақпарат.
Liveness-навигация: мәтінсіз қарапайым тапсырмалар - пиктограммалар + қысқа сөз тіркесі.
ауырсынусыз Retry: прогресті жоғалтпастан қадамды қайталау; таймермен әрекеттер лимиті.
Құпиялылық күзеті: "Фотосурет шифрланған күйінде сақталады. EXIF/UI тіркелгілерінде ешқандай деректер жоқ.
6) Оқшаулау және қол жетімділік
Нұсқаулықтарды, құжаттардың мысалдарын және рұқсат етілген форматтарды толық аудару.
RTL, ірі қаріптерді, 'aria-labels', пернетақта навигациясын қолдау.
Ел бойынша валидация (мекенжай форматы, ID-маска), телефондар үшін - E.164.
Жергілікті тілдегі мысалдар: «Мысал: Пушкин көшесі, 10 үй, 5 пәтер».
7) Құпиялылық, сақтау және келісім
Нақты келісімдер: мақсаты (KYC/AML), сақтау мерзімі, алып тастау/апелляциялау құқығы.
Деректерді барынша азайту: токендерді/хэштерді мүмкіндігінше сақтау, PAN/EXIF жасыру.
Алып тастау/ретеншн саясаты: L0-L1 қысқа, L2-L3 заң/лицензия бойынша ұзақ.
Audit-trail: кім/қашан көрді/шешті; өзгермейтін логтар.
8) Инженерия: оқиғалар және деректер моделі (минимум)
kyc.sessions (
kyc_id PK, user_id, level_target, started_at, status, provider, country, risk_score, conflict_flags, sla_eta_at
)
kyc.documents (
doc_id PK, kyc_id FK, type, side, ocr_json, mrz_ok, nfc_ok, quality_score, captured_at, storage_ref
)
kyc.liveness (
kyc_id FK, type, result, confidence, frames_ref, captured_at
)
kyc.sanctions_pep (
kyc_id FK, list, match_type, score, reviewed_by, reviewed_at, decision
)
kyc.proofs (
kyc_id FK, kind -- POA SOF SOW,
file_ref, parsed_json, status, requested_at, received_at, reviewer
)
kyc.decisions (
kyc_id FK, level_granted, result -- APPROVED MORE_INFO REJECTED,
reason_code, comment, decided_at
)
9) Псевдо-DSL саясаты (мысал)
yaml policy: "kyc_v2_risk_based"
triggers:
- name: "first_withdrawal" -> target_level: L1
- name: "limit_5k_month" -> target_level: L2
- name: "sanctions_fuzzyhit" -> target_level: L3 escalations:
- if: geo_conflict_score >= 2 then step: "POA"
- if: issuer_risk in ["high","unknown"] and method == "CARD" then step: "liveness"
- if: velocity_deposits_24h > 3 then step: "liveness"
timeouts:
L1: "PT10M" # ожидание авто-проверки
L2: "PT30M"
L3: "P3D"
ux:
show_timer: true resume_link: true
10) Метриктер мен дашбордтар
Конверсия/жылдамдық
KYC Start → Auto-Pass → Manual Review → Approved
Деңгейлер мен елдер бойынша time-to-KYC Median/95p
Auto-pass% (OCR/MRZ/NFC/liveness) және қол құралдарының үлесі
Сапа/тәуекел
Mismatch rate (IP ≠ KYC/SIM) және эскалация үлесі
False Reject% (апелляция → кері)
Шешуге PEP/Sanctions hit rate және TAT
UX/қателер
Abandonment на шагах (Doc Capture, Liveness, Upload, Review)
Retry-rate және себептері (блик/дәлсіздік/NFC fail)
Mobile vs Desktop: сәттілік пен уақыт дельтасы
11) Алерттар мен табалдырықтар
Қадамдағы Abandonment spike (сағатына өсу> X bps)
OCR quality drop (quality_score p50 <табалдырық)
Ел бойынша NFC fail surge/бланк
Auto-pass collapse: > Y% d/d
Manual backlog: TAT> SLA (қызыл аймақ)
Sanctions provider down: таймауттар, бекапқа ауысу
12) SQL үлгілері
12. 1. KYC құйғышы
sql
SELECT stage, COUNT() AS users
FROM (
SELECT user_id, 'start' AS stage FROM kyc.sessions WHERE started_at BETWEEN:from AND:to
UNION ALL
SELECT user_id, 'doc_captured' FROM kyc.documents WHERE captured_at BETWEEN:from AND:to
UNION ALL
SELECT user_id, 'liveness_done' FROM kyc.liveness WHERE captured_at BETWEEN:from AND:to
UNION ALL
SELECT user_id, 'approved' FROM kyc.decisions WHERE decided_at BETWEEN:from AND:to AND result='APPROVED'
) s
GROUP BY stage ORDER BY 1;
12. 2. Авто-верификацияға дейінгі уақыт
sql
SELECT level_target,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (COALESCE(decided_at, now()) - started_at))) AS t_median_sec,
PERCENTILE_CONT(0.95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (COALESCE(decided_at, now()) - started_at))) AS t_p95_sec
FROM kyc.sessions
LEFT JOIN kyc.decisions USING (kyc_id)
WHERE started_at BETWEEN:from AND:to
GROUP BY 1;
12. 3. Кадрлардың сапасы және ретрациялардың себептері
sql
SELECT reason_code, COUNT() AS cnt
FROM (
SELECT CASE
WHEN quality_score < 0.6 THEN 'low_quality'
WHEN mrz_ok = FALSE THEN 'mrz_fail'
WHEN nfc_ok = FALSE THEN 'nfc_fail'
ELSE 'other'
END AS reason_code
FROM kyc.documents
WHERE captured_at BETWEEN:from AND:to
AND doc_id IN (SELECT doc_id FROM kyc.documents GROUP BY doc_id HAVING COUNT() > 1)
) t
GROUP BY 1 ORDER BY cnt DESC;
13) Анти-фрод сигналдары («дөңгелектерге таяқсыз»)
Device-graph және қайталанатын селфи/құжаттар → L2/L3 тыныш эскалация.
Geo-velocity (елдің ауысуы) → қайталанған OCR-сыз қайталанған liveness.
BIN-geo mismatch → liveness депозитте, бүкіл KYC-флоуды бұзбаңыз.
VPN/Proxy/Tor → тыйым салу үшін балама сигналға (GPS/SIM) жұмсақ сұрау.
14) Best practices (қысқаша)
1. Оқиға үшін дизайн: KYC дәл сол жерде пайдаланушы құндылықты алады (депозит/шығару/лимит).
2. Авто-капчер + live-кеңестер; OCR/NFC және мүмкіндігінше пассивті liveness.
3. Тек сигналдар (geo/conflict/velocity/санкциялар) және сомалардың шектері бойынша step-up.
4. Күшті resume-тәжірибе: «Сол қадамнан жалғастыру», хаттардағы/SMS-тегі терең сілтемелер.
5. Барлық жерде SLA таймерлері мен адал мәртебелері бар.
6. Локализация/а11у: мәтіндер, мысалдар, пішімдер, RTL.
7. Құпиялылық: минимизация, шифрлау, түсінікті келісімдер, ретеншн-саясат.
8. Сапасы бойынша телеметрия және алерталар (жарқылдау/бұлдыру/NFC).
9. Бас тарту бойынша guardrails-пен көшірме/нұсқаулық/қадамдар тәртібінің A/B тестілері.
10. Нақты TAT бар апелляция және қолмен тексеру док-рәсімдері.
15) Енгізу чек-парағы
- L0-L3 деңгейлерінің матрицасы, триггерлер және қадамдар.
- OCR/NFC/liveness/бэкаптармен санкциялар провайдерлері.
- Нұсқау экраны + quality hints; авто-капчер, рама, блик-детект.
- Пассивті liveness әдепкі, белсенді - fallback сияқты.
- Resume-механик, deep-links, ескертулер.
- Локализация, RTL, а11у, ел бойынша құжаттардың мысалдары.
- Құпиялылық/келісім, ретеншн, audit-trail.
- Дашбордтар: қадамдар конверсиясы, auto-pass, TAT, кадр сапасы.
- Алерталар: abandonment/OCR/NFC/auto-pass/backlog.
- Апелляция және қолмен шешімдердің рәсімдері, SLA.
Түйіндеме
Төмен үйкелісті KYC-UX - бұл тәуекел-базалық эскалация, «ақылды» ұстап алу технологиялары (OCR/NFC/liveness), жергілікті нұсқаулықтар және күшті resume-тәжірибе. Мөлдір мерзімдер, деректерді барынша азайту және болжамды қадамдар қосыңыз - және сіз бір мезгілде депозиттердің/шығыстардың конверсиясын арттырады, сәйкестікті жеделдетеді және қолмен тексеруге операциялық шығындарды азайтасыз.