KYC-UX: frecare redusă
1) Principiile KYC-UX
Bazat pe risc prin proiectare: cu cât riscul este mai mic, cu atât fricțiunea este mai mică; escaladarea semnalului.
Dezvăluire progresivă: afișați exact ceea ce aveți nevoie acum (câmpuri/ecrane minime).
Re-intrare cu un singur robinet: conservarea contextului, rezumarea verificărilor neterminate.
Semnale multi-sursă: documente + liveness + caracteristici comportamentale/de rețea.
Separarea obiectivelor: KYC (cine ești) ≠ SoF/SoW (de unde vin banii) ≠ AML/sancțiuni (filtre suplimentare).
Explicabilitate: motive scurte, acțiuni ușor de înțeles ale utilizatorilor, calendar previzibil.
2) Niveluri de bază de risc (matrice aproximativă)
3) Flux KYC de referință (mobile-first)
1. Declanșatorul pragului (de exemplu, prima ieșire) → un ecran cu o cauză și un beneficiu scurt: „Să verificăm identitatea pentru a deschide ieșirile și pentru a ridica limitele”.
2. Selectarea documentelor (pașaport/ID/driver) cu sfaturi „ce este mai bun” pentru țară.
3. Fotografiere: auto-rahat, fundal neclaritate, strălucire/contrast iluminare, control claritate.
4. OCR/MRZ/NFC: progres instantaneu, nu blocați UI; la NFC - animat „aduce documentul la telefon”.
5. Liveness: 3-4 acțiuni simple (rotire/clipire a capului) sau viață pasivă 2-3 cadre.
6. Validare automată (fundal) + cronometru SLA vizibil (ex. „până la 2 minute”).
7. Rezultat: + limite/statut → aprobat; → exact un punct și exemple trebuie completate; - refuzul → motiv de înţeles şi calea de atac.
4) "Soft' pas-up-uri și context
Geo-conflict (IP≠KYC) → cerere GPS/SIM sau dovada adresei (L2).
BIN/emitent cu risc ridicat → viață forțată atunci când încearcă să depună.
Viteza/multiaccounting → selfie repetat + SoF la ieșire.
APP/sancțiuni (fuzzy) → L3 cu SoF/SoW și verificarea manuală.
5) Micro-UX: Cum de a reduce frecarea
Înainte de pas: „Ce să gătești? ~ 2 minute, pașaport/ID și iluminare bună”.
Captură document: cadru mască, detectare orbire, verificare verde ștampile „fotografie citibil/unghi de egalitate”.
Previzualizare locală OCR: Evidențiați câmpurile de citire pentru inspecția vizuală.
Sfaturi NFC: informații despre locația cipului pentru o anumită țară/formular.
Navigare Liveness: sarcini simple fără text - icoane + frază scurtă.
Încercați din nou fără durere: repetați pasul fără a pierde progresul; limita de încercări cu cronometru.
Privacy gatehouse: "Fotografia este stocată criptată. Nu există date în jurnalele EXIF/UI"
6) Localizare și disponibilitate
Traducerea completă a instrucțiunilor, a documentelor de probă și a formatelor acceptabile.
Suport pentru RTL, fonturi mari, 'aria-etichete', navigare la tastatură.
Validare după țară (format adresă, ID-mască), pentru telefoane - E.164.
Exemple în limba locală: "Exemplu: St. Pușkin, d. 10, apt.5"
7) Confidențialitate, stocare și consimțământ
Consimțământul clar: scop (KYC/AML), perioada de păstrare, eliminarea/drepturile de apel.
Minimizarea datelor: stocați jetoane/hashes acolo unde este posibil, ascundeți PAN/EXIF.
Politica de eliminare/retenție: L0-L1 mai scurtă L2-L3 mai lungă prin lege/licență.
Audit-traseu: cine/când a urmărit/decis; jurnalele imuabile.
8) Inginerie: evenimente și model de date (minim)
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) Politici în pseudo-DSL (exemplu)
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) Măsurători și tablouri de bord
Conversie/viteză
KYC Start → Auto-Pass → Manual de revizuire → aprobat
Median/95p time-to-KYC pe niveluri și țări
Trecere automată% (OCR/MRZ/NFC/viață) și cota de manual
Calitate/risc
Rata de neconcordanță (IP≠KYC/SIM) și rata de escaladare
Fals Respinge% (recursuri → inversă)
PEP/Sancțiuni rata de succes și TAT pe soluție
UX/Erori
Abandonarea на шагах (Doc Capture, Liveness, Încărcați, Revizuire)
Încercați din nou și cauzele (strălucire/ceață/NFC eșuează)
Mobile vs Desktop: Delta succesului și a timpului
11) Alerte și praguri
Spike abandon pe pas (în sus> X bps pe oră)
Scăderea calității OCR (quality_score p50 Auto-pass colaps: cădere> Y% d/d Restanțe manuale: TAT> SLA (zona roșie) Furnizorul de sancțiuni în jos: timeout, trecerea la backup 12) Șabloane SQL 12. 1. Pâlnie KYC 12. 2. Timpul până la verificarea automată 12. 3. Calitatea cadrelor și cauzele retroactivelor 13) Semnale antifraudă (fără „bastoane în roți”) Graficul dispozitivului și selfie-urile/documentele recurente → o escaladare silențioasă pe L2/L3. 14) Cele mai bune practici (scurt) 1. Design pentru eveniment: KYC este exact locul unde utilizatorul primește valoare (depozit/retragere/limită). 15) Lista de verificare a implementării Fricțiunea scăzută KYC-UX este o escaladare bazată pe risc, tehnologii inteligente de captare (OCR/NFC/liveness), instrucțiuni localizate și o experiență puternică de reluare. Adăugați termene-limită transparente, minimizarea datelor și etapele previzibile - și creșteți simultan conversia depozitelor/retragerilor, accelerați conformitatea și reduceți costurile tranzacțiilor pentru verificările manuale.NFC eșuează în funcție de țară/gol
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 → re-livness fără re-OCR.
BIN-geo nepotrivire → viață pe depozit, nu ruperea întregului flux KYC.
VPN/Proxy/Tor → cerere moale pentru semnal alternativ (GPS/SIM) înainte de ban.
2. Auto-Capcher + Live-Sfaturi; OCR/NFC și livness pasivă acolo unde este posibil.
3. Intensificarea doar a semnalelor (geo/conflict/viteză/sancțiuni) și a sumelor-prag.
4. Experiență puternică de reluare: „Continuați din același pas”, link-uri profunde în litere/SMS.
5. Cronometre SLA și statusuri oneste sunt peste tot.
6. Localization/a11u: texte, exemple, formate, RTL.
7. Confidențialitate: minimizare, criptare, consimțământ ușor de înțeles, politici de păstrare.
8. Telemetrie și alerte de calitate (glare/blur/NFC).
9. A/B copyright/instruction/step order tests with guardrails on failures.
10. Proceduri de andocare cu recurs și revizuire manuală cu TAT clar.
Rezumat reluare