GH GambleHub

KYC-UX: зниження тертя

1) Принципи KYC-UX

Risk-based by design: чим нижче ризик - тим менше тертя; ескалація тільки за сигналами.
Progressive disclosure: показуємо рівно те, що потрібно зараз (мінімум полів/екранів).
One-tap re-entry: збереження контексту, резюмуємо незакінчені перевірки.
Багатоланковість сигналів: документи + liveness + поведінкові/мережеві ознаки.
Поділ цілей: KYC (хто ви) ≠ SoF/SoW (звідки гроші) ≠ AML/санкції (дод. фільтри).
Explainability: короткі причини, зрозумілі дії користувача, передбачувані терміни.


2) Ризик-базові рівні (приблизна матриця)

РівеньКолиЩо запитуємоSLA авто-перевіркиUX-нотатки
L0 (лайт)реєстрація/низькі сумиІм'я, дата народження, країна KYCмиттєвоавтозаповнення, маски, підказки
L1 (базовий)перший депозит/малі лімітиСелфі-liveness + документ (паспорт/ID) через OCR/NFC≤ 1-2 хвкамера/галерея, авто-крап, quality hints
L2 (посилений)великі ліміти/сигнали ризикуProof of Address, повторна liveness + валідація MRZ/NFC≤ 5-10 хвпрогрес-бар, «повернутися пізніше»
L3 (розширений)SoF/SoW/санк-хітиБанківська виписка/пейсліпи/деклараціїдо 24-72 годзавантаження файлів, чек-лист форматів
💡 Ескалація по події: перевищення ліміту, конфлікт гео-сигналів (IP≠KYC), санкційні/РЕР-сигнали, фрод-патерни, ризик-скор.

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 of 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

Median/95p time-to-KYC за рівнями і країнам

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 (зміна країни) → повторна liveness без повторного OCR.
BIN-geo mismatch → liveness на депозиті, а не ламати весь KYC-флоу.
VPN/Proxy/Tor → м'який запит на альтернативний сигнал (GPS/SIM) до бана.


14) Best practices (коротко)

1. Дизайн під подію: KYC саме там, де користувач отримує цінність (депозит/виведення/ліміт).
2. Авто-капчер + live-підказки; OCR/NFC і пасивна liveness, де можливо.
3. Step-up тільки за сигналами (geo/conflict/velocity/санкції) і порогами сум.
4. Сильний resume-досвід: «Продовжити з того ж кроку», глибинні посилання в листах/SMS.
5. Скрізь таймери SLA і чесні статуси.
6. Локалізація/а11у: тексти, приклади, формати, RTL.
7. Приватність: мінімізація, шифрування, зрозумілі згоди, ретеншн-політики.
8. Телеметрія та алерти за якістю (відблиски/розмиття/NFC).
9. A/B тести копірайту/інструкцій/порядку кроків з guardrails по відмовах.
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-досвід. Додайте прозорі терміни, мінімізацію даних і передбачувані крок-апи - і ви одночасно підвищуєте конверсію депозитів/висновків, прискорюєте відповідність і знижуєте операційні витрати на ручні перевірки.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.