KYC-UX: sürtünmə azaldılması
1) KYC-UX prinsipləri
Risk-based by design: risk nə qədər aşağı - sürtünmə bir o qədər az; yalnız siqnalları eskalasiya.
Progressive disclosure: tam olaraq nə lazım olduğunu göstərir (minimum sahə/ekran).
One-tap re-entry: kontekstin qorunması, tamamlanmamış yoxlamaları yekunlaşdırın.
Çox mənbəli siqnallar: sənədlər + həyat + davranış/şəbəkə əlamətləri.
Məqsədlərin ayrılması: KYC (siz kimsiniz) ≠ SoF/SoW (pulun haradan gəldiyi) ≠ AML/sanksiyalar (əlavə filtrlər).
Explainability: qısa səbəblər, aydın istifadəçi hərəkətləri, proqnozlaşdırıla bilən vaxt.
2) Risk baza səviyyələri (təxmini matris)
3) istinad KYC-flow (mobile-first)
1. Eşik trigger (məsələn, ilk çıxış) → qısa səbəb və fayda ilə ekran: «Nəticələr açmaq və limitləri artırmaq üçün şəxsiyyəti yoxlayın».
2. Sənəd seçimi (pasport/ID/sürücü.) ölkə üçün «nə yaxşıdır» məsləhəti ilə.
3. Çəkiliş: auto-crack, bulanıq fon, işıqlandırma/kontrast, kəskinliyə nəzarət.
4. OCR/MRZ/NFC: ani irəliləyiş, UI bloklamayın; NFC ilə - animasiyalı «sənədi telefona gətirin».
5. Liveness: 3-4 sadə hərəkət (başını çevirmək/yanıb-sönən) və ya passiv liveness 2-3 çərçivə.
6. Avto-validasiya (fon) + görünən SLA taymer (məsələn, «2 dəqiqəyə qədər»).
7. Nəticə: + təsdiq → limitlər/status; tam olaraq bir nöqtə və nümunələr → tamamlamaq lazımdır; - rədd → apellyasiya üçün aydın səbəb və yol.
4) «Yumşaq» addım-up (step-ups) və kontekst
Geo-conflict (IP ≠ KYC) → GPS/SIM və ya proof address (L2) sorğusu.
Yüksək risk BIN/emitent → depozit cəhd zamanı məcburi həyat.
Velocity/multiakkounting → çıxarıldıqda təkrar selfie + SoF.
PER/sanksiyalar (fuzzy) → SoF/SoW və əl yoxlama ilə L3.
5) Mikro-UX: sürtünməni azaltmaq üçün necə
Addım: «Nə hazırlayın? ~ 2 dəqiqə, pasport/ID və yaxşı işıqlandırma».
Sənədin tutulması: maska çərçivəsi, parıltı detekti, yaşıl çek markaları «foto oxunur/bucaq düz».
Yerli OCR-preview: vizual yoxlama üçün bir neçə sahəni işıqlandırın.
NFC ipuçları: konkret ölkə/blank üçün çipin yeri haqqında məlumat.
Liveness-naviqasiya: mətnsiz sadə tapşırıqlar - piktoqramlar + qısa ifadə.
Ağrısız retry: tərəqqi itirmədən addım təkrarlayın; zamanlayıcı ilə cəhd limiti.
Gizlilik gözətçisi: "Şəkil şifrəlidir. EXIF/UI qeydlərində heç bir məlumat yoxdur".
6) Lokalizasiya və mövcudluq
Təlimatların, sənəd nümunələrinin və icazə verilən formatların tam tərcüməsi.
RTL, böyük şriftlər, 'aria-labels', klaviatura naviqasiyası üçün dəstək.
Ölkə üzrə validasiya (ünvan formatı, ID maskaları), telefonlar üçün - E.164.
Yerli dildə nümunələr: «Nümunə: Puşkin küç., 10, kv.5».
7) Gizlilik, saxlama və razılıq
Aydın razılıq: məqsəd (KYC/AML), saxlama müddəti, silinmə/apellyasiya hüququ.
Məlumatların minimuma endirilməsi: PAN/EXIF-i gizlətmək üçün tokenləri/heşləri mümkün olan yerdə saxlayın.
Silinmə/yeniləmə siyasəti: L0-L1 qısa, L2-L3 daha uzun hüquq/lisenziya.
Audit-trail: kim/nə vaxt baxdı/qərar verdi; dəyişməz qeydlər.
8) Mühəndislik: hadisələr və data modeli (minimum)
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) Psevdo-DSL siyasətləri (nümunə)
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) Metriklər və daşbordlar
Çevirmə/sürət
KYC Start → Auto-Pass → Manual Review → Approved
Median/95p və ölkələrə görə time-to-KYC
Auto-pass% (OCR/MRZ/NFC/liveness) və əl payı
Keyfiyyət/risk
Mismatch rate (IP ≠ KYC/SIM) və eskalasiya payı
False Reject% (Apellyasiya → Reverse)
PEP/Sanctions hit rate və TAT həll
UX/səhvlər
Abandonment на шагах (Doc Capture, Liveness, Upload, Review)
Retry-rate və səbəbləri (parlaq/qeyri-müəyyənlik/NFC fail)
Mobile vs Masaüstü: Delta uğur və vaxt
11) Alertlər və eşiklər
Abandonment spike addım (böyümə> X bps saatda)
OCR quality drop (quality_score p50 Auto-pass collapse: düşmə> Y% d/d Manual backlog: TAT> SLA (qırmızı zona) Sanctions provider down: taymaut, backup keçid 12) SQL şablonları 12. 1. KYC hunisi 12. 2. Avto-yoxlamaya qədər vaxt 12. 3. Kadrların keyfiyyəti və retrajların səbəbləri 13) Anti-frod siqnalları («təkərlərə çubuqlar» olmadan) Device-graph və təkrarlanan selfie/sənədlər → L2/L3 səssiz eskalasiya. 14) Best practices (qısa) 1. Hadisə üçün dizayn: KYC tam olaraq istifadəçi dəyəri (depozit/çıxarış/limit) alır. 15) Giriş çek siyahısı Aşağı sürtünmə ilə KYC-UX risk bazası eskalasiyası, «ağıllı» tutma texnologiyaları (OCR/NFC/liveness), lokallaşdırılmış təlimatlar və güclü resume təcrübəsidir. Şəffaf müddətlər, minimum məlumat və proqnozlaşdırıla bilən addım-aplar əlavə edin - və siz eyni zamanda depozit/çıxarışların dönüşümünü artırır, uyğunluğu sürətləndirir və əl yoxlamaları üçün əməliyyat xərclərini azaldır.Ölkə üzrə NFC fail surge/blank
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;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;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;
Geo-velocity (ölkə dəyişikliyi) → təkrar OCR olmadan təkrar həyat.
BIN-geo mismatch → liveness depozit və bütün KYC flow qırmaq deyil.
VPN/Proxy/Tor → qadağan üçün alternativ siqnal (GPS/SIM) yumşaq sorğu.
2. Avto-kapçer + canlı ipuçları; OCR/NFC və mümkün olan passiv həyat.
3. Step-up yalnız siqnallar (geo/conflict/velocity/sanksiyalar) və məbləğlərin həddi.
4. Güclü resume-təcrübə: «Eyni addımdan davam», məktublar/SMS dərin linklər.
5. Hər yerdə SLA taymerləri və dürüst statuslar.
6. Lokalizasiya/a11u: mətnlər, nümunələr, formatlar, RTL.
7. Gizlilik: minimallaşdırma, şifrələmə, anlaşılan razılaşmalar, retenshn siyasətləri.
8. Telemetriya və keyfiyyətə görə alertlər (parıltı/bulanıqlıq/NFC).
9. A/B testləri kopya/təlimat/ardıcıl addımlar ilə guardrails uğursuzluqlar.
10. Dəqiq TAT ilə müraciət və əl yoxlama Doc prosedurları.
Xülasə