KYC-UX:減少摩擦
1) KYC-UX原則
基於設計的風險:風險越低-摩擦越少;僅通過信號升級。
Progressive disclosure:我們恰好顯示了現在需要的東西(最小字段/屏幕)。
一鍵再入:保存上下文,總結未完成的檢查。
信號的多源:文檔+liveness+行為/網絡特征。
目標劃分:KYC(您是誰)≠ SoF/SoW(金錢來源)≠ AML/制裁(過濾器)。
Explainability:短暫的原因,用戶可以理解的行動,可預測的時間表。
2)風險基線(近似矩陣)
3)基準KYC-flow(移動第一)
1.閾值觸發器(例如第一個輸出)→具有簡短原因和收益的屏幕: 「我們將檢查身份以打開結論並提高限制。」
2.選擇文檔(護照/ID/驅動程序)。對國家來說「什麼更好」的建議。
3.拍攝:自動油漆,背景模糊,眩光/對比度突出顯示,銳度控制。
4.OCR/MRZ/NFC:即時進展,不阻止UI;使用NFC-動畫「將文檔傳送到電話」。
5.Liveness: 3-4簡單動作(轉頭/閃爍)或被動liveness2-3幀。
6.自動驗證(背景)+可見SLA計時器(例如「長達2分鐘」)。
7.結果:+批準→限制/狀態;→需要完全補充一個項目和例子;-拒絕→明確的理由和上訴途徑。
4)「軟」步驟(step-ups)和上下文
Geo-conflict(IP≠KYC)→ GPS/SIM請求或地址證明(L2)。
高風險BIN/發行人在嘗試存款時 →強制生活。
Velocity/multiaccounting →在輸出時重新自拍+SoF。
RER/制裁(fuzzy)→帶有SoF/SoW和手動檢查的L3。
5)微型UX: 如何減少摩擦
步驟: 「準備什麼?~ 2分鐘,護照/ID和良好的照明。」
文件捕獲:框架掩碼、眩光細節、綠色支票郵票「照片可讀/角度均勻」。
本地OCR預覽:突出顯示已讀字段以進行可視化檢查。
NFC提示:按特定國家/地區的芯片位置信息。
Liveness-navigation:簡單無文字作業-象形圖+短語。
沒有痛苦的復活:在不失去進步的情況下重復一步;計時器嘗試限制。
隱私監管機構: "照片被加密。EXIF/UI Logs中沒有數據。"
6)本地化和可用性
完全翻譯語句、示例文檔和有效格式。
支持RTL,大型字體,「aria-labels」,鍵盤導航。
國家/地區驗證(地址,ID掩碼格式),電話為E.164。
當地語言的示例: 「示例:普希金街,10號,平方米。」
7)隱私,保管和同意
明確同意:目的(KYC/AML),保留期,處置/上訴權。
數據最小化:在可能的情況下存儲令牌/哈希,隱藏PAN/EXIF。
刪除/重建政策:L0-L1更短,根據法律/許可L2-L3更長。
審計小徑:誰/何時觀看/決定;不變的邏輯。
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)度量標準和dashbords
轉換/速度
KYC Start → Auto-Pass → Manual Review → Approved
按級別和國家/地區分列的KYC Median/95p時間到KYC
自動通過%(OCR/MRZ/NFC/liveness)和手持比例
質量/風險
Mismatch rate (IP≠KYC/SIM)和升級比例
False Reject%(上訴→逆轉)
PEP/Sanctions命中率和TAT解決方案
UX/錯誤
Abandonment на шагах (Doc Capture, Liveness, Upload, Review)
Retry-rate和原因(眩光/非銳利/NFC失敗)
Mobile vs Desktop: 成功與時間的三角洲
11) Alerta和急流
跳動跳動(增長>每小時X bps)
OCR質量下降(quality_score p50<閾值)
NFC fail surge by country/Blank
Auto-pass collapse: 下降>Y% d/d
手動備份日誌: TAT> SLA(紅色區域)
Sanctions provider down: taymouts,切換到備用
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)反鞭打信號(沒有「棍子到車輪」)
設備圖形和重復的自拍/文檔在L2/L3上→安靜升級。
Geo-velocity(國家變更)→重復的生活,而無需重復OCR。
BIN-geo mismatch →存款,而不是打破整個KYC-flow。
VPN/Proxy/Tor在禁令前→軟替代信號(GPS/SIM)請求。
14)最佳實踐(簡稱)
1.事件下的設計:KYC恰好是用戶獲得價值的地方(存款/輸出/限額)。
2.Auto Capcher+實時提示;在可能的情況下,OCR/NFC和被動生活。
3.僅通過信號(geo/conflict/velocity/制裁)和金額閾值進行步驟。
4.強大的恢復體驗:「從同一步驟繼續」,信件/SMS中的深度鏈接。
5.到處都是SLA計時器和誠實的狀態。
6.本地化/a11 u:文本,示例,格式,RTL。
7.私有性:最小化,加密,可理解的同意,還原政策。
8.遙測和質量差(眩光/模糊/NFC)。
9.A/B復制/指令/步驟順序測試與guardrails的故障。
10.上訴和人工審查憑證程序,帶有明確的TAT。
15)實施支票
- L0-L3級別矩陣、觸發器和步驟。
- OCR/NFC/liveness/後備制裁提供商。
- 語句屏幕+質量分數;自動開瓶器,框架,眩光細節。
- 被動生活默認,主動-如後退。
- 恢復力學,深鏈接,提醒。
- Localization, RTL, a11 u,全國的示例文檔。
- 隱私/同意,重建,審核路徑。
- Dashbords:步驟轉換,自動通過,TAT,幀質量。
- Alerts: abandonment/OCR/NFC/auto-pass/backlog。
- 上訴和人工判決程序,SLA。
二.總結
低摩擦的KYC-UX是基於風險的升級,「智能」捕獲技術(OCR/NFC/liveness),本地化指令和強大的恢復體驗。添加透明的時間表、最小化數據和可預測的步驟-同時提高存款/收款轉換、加快合規性並降低手動檢查的交易成本。