工作流
分层的活体检测:既看要求客户做了什么,也看我们的服务器在录像中看到了什么。 这只是一个起点:您可以在工作流构建器中添加、删除任何步骤,或调整其顺序。
步骤 01
Document Intelligence
护照、驾照或国民身份证
步骤 02
NFC 芯片验证
证明护照芯片是真品
步骤 03
3D 主动动作检测
随机的转头和眨眼提示
步骤 04
3D 闪光检测
随机颜色序列在面部的反射
步骤 05
人脸比对
自拍与芯片肖像比对
步骤 06
Device Intelligence
虚拟摄像头、模拟器、应用完整性
然后由您的规则决定
一套入门规则
- 活体模型确信这是照片或屏幕拒绝
- 镜头前可见一部手机拒绝
- 请求并非来自您已登记的应用拒绝
- 检测到虚拟摄像头或模拟器复核
- 我们没有收到录像复核
- 真实设备上的真人通过
每条规则都可以由您在可视化画布上修改,每个结果都会记录是哪条规则作出的判定。发布新版本无需发版。
试用工作流构建器工作原理
1
提出无法预料的要求
随机顺序的动作,或由屏幕闪出的一串随机颜色,昨天录好的视频无法应对。
2
在服务器上判定录像
一个活体模型为自拍和视频评分,另一个模型检查镜头前是否举着手机,同时核对颜色在面部的反射。
3
检查设备
虚拟摄像头、模拟器、已 root 的手机以及并非您自己的应用都会被报告,每一种意味着什么由您的工作流决定。
背后的支撑
活体结论来自我们的服务器对录像的解读,因此被修改过的应用无法简单地上报一个通过。
集成
用您发布的工作流挂载 SDK,或发送托管链接,一行代码都不用写。结果通过签名 webhook 送达,修改工作流永远不需要发版。
Verify.tsxTypeScript · React
import { TodenVerification } from "@todenhq/sdk-react"; export function Verify({ userId }) { return ( <TodenVerification apiKey="pk_test_..." workflowId="wf_AbC123dEf456" userId={userId} onSubmit={(s) => save(s.verificationId)} /> );}verification.completedWebhook · JSON
{ "event": "verification.completed", "data": { "verificationId": "ver_8fk2...", "status": "verified", "assuranceLevel": "gov_db", "idType": "bvn", "country": "NG", "dataMatch": true, "facialMatch": true, "facialConfidence": 91 }}Frequently asked
没有任何单项检查能拦住所有攻击,谁要是声称自己能做到,就该请他拿出证据。分层防护迫使攻击必须同时骗过多项相互独立的检查,而可疑的采集会转入复核。