免费
每月 $0。无需信用卡。
- 免费 KYC 套件(身份验证 + 被动活体检测 + 人脸匹配 + 设备与 IP 分析), 每月 500 次,永久有效
- 黑名单用户
- 重复检测
- 每次会话 200+ 欺诈信号
- Didit 网络中可重复使用的 KYC
- 案件管理平台
- 工作流构建器
- 公开文档、沙盒、SDK、MCP(模型上下文协议)服务器
- 社区支持


全球2,000多家组织信赖。

阻止机器人 · 杜绝深度伪造 · Sybil 去重
被动活体检测可拒绝所有演示攻击检测 (PAD) 类型, 包括打印、屏幕、面具和 AI 生成的面孔。人脸搜索 1:N 可识别 试图重复注册的同一个人。2 秒内出结果。每次检查 $0.10。 每月 500 次免费验证,永久有效。
选择您需要的检查项, 身份、活体、人脸匹配、制裁名单、地址、年龄、电话、电子邮件、自定义问题。在控制面板中将它们拖入工作流,或通过我们的 API 发布相同的工作流。可根据条件分支,运行 A/B 测试,无需代码。
使用我们的 Web、iOS、Android、React Native 或 Flutter SDK 进行原生嵌入。重定向到托管页面。或者直接通过电子邮件、短信、WhatsApp 等任何方式向用户发送链接。选择适合您技术栈的方式。
Didit 负责托管摄像头、灯光提示、移动设备切换和辅助功能。在用户进行流程时,我们实时评估 200 多个欺诈信号,并根据权威数据源验证每个字段。两秒内出结果。
实时签名 Webhook 可在用户被批准、拒绝或发送审核时立即同步您的数据库。按需轮询 API。或者打开控制台检查每个会话、每个信号,并按您的方式管理案例。
Didit · iBeta Level 1 PAD
Didit · 活体检测
Didit · 人脸搜索 1:N
Didit · 可复用 KYC
Didit · 界面
Didit · 方法
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_proof_of_human",
"vendor_data": "user-42"
}'{ "session_url": "verify.didit.me/..." }$ curl https://verification.didit.me/v3/session/<id>/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Sample verdict
{
"status": "Approved",
"liveness": { "score": 96 }
}状态:已批准 · 审核中 · 已拒绝 · 未完成You are integrating Didit's Proof of Human gate into <my_stack>. Block AI agents, deepfakes, masks, and duplicate accounts from human-only surfaces — signup, voting, contests, marketplaces, dating. Two endpoints, one verdict.
1. Prove a real human is present (Liveness). ONE call to the Sessions API runs a Presentation Attack Detection (PAD)-certified passive selfie and returns a verdict in sub-2-seconds.
2. Prove the human is unique (Face Search 1:N). Same Sessions API workflow runs Face Search 1:N against your account's private face index.
Pricing (public):
- Passive Liveness: $0.10 per check
- Active 3D Liveness: $0.15 per check (motion challenge — use for high-sensitivity flows)
- Face Search 1:N: free, included
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with Hash-based Message Authentication Code (HMAC) SHA-256 verification using the X-Signature-V2 header.
- A workflow_id from the Workflow Builder that contains the LIVENESS feature, and (recommended) FACE_MATCH and IP_ANALYSIS so Sybil dedupe + agent / bot signals come in on the same verdict.
STEP 1 — Build the Proof of Human workflow once
POST https://verification.didit.me/v3/workflows/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_label": "proof_of_human",
"features": [
{ "feature": "LIVENESS", "config": { "method": "PASSIVE" } },
{ "feature": "FACE_MATCH" },
{ "feature": "IP_ANALYSIS" }
],
"face_liveness_score_decline_threshold": 30
}
Notes:
- LIVENESS, FACE_MATCH, IP_ANALYSIS are exact, case-sensitive feature names.
- method enum: PASSIVE (one frame) · FLASHING (3D flash) · ACTIVE_3D (action + flash). Use ACTIVE_3D for the highest-sensitivity surfaces (large-value account creation, voting, contest finals).
STEP 2 — Open a Proof of Human session per user
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<the workflow_id from step 1>",
"vendor_data": "<your internal user id>",
"callback": "https://<your-app>/proof-of-human/callback",
"metadata": {
"surface": "<signup | vote | contest | marketplace | dating>"
}
}
Response: 201 Created with the hosted session_url. Redirect the user. The hosted UI opens the front camera, captures one passive frame (or a short motion challenge for ACTIVE_3D), runs Liveness + Face Search 1:N, returns the verdict in sub-2-seconds.
STEP 3 — Read the signed verdict on the webhook
Body (excerpted for a clean human):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": {
"status": "Approved",
"method": "PASSIVE",
"score": 96,
"warnings": []
},
"face": {
"status": "Approved",
"similarity_score": null,
"matches": []
},
"ip_analysis": { "status": "Approved" }
}
Body (excerpted for a duplicate):
{
"status": "In Review",
"liveness": { "status": "Approved", "score": 94 },
"face": {
"status": "In Review",
"matches": [
{ "vendor_data": "user_8124", "similarity_score": 0.97 }
],
"warnings": [{ "code": "POSSIBLE_DUPLICATED_FACE" }]
}
}
Verify X-Signature-V2 BEFORE trusting the body — HMAC SHA-256 of the raw bytes with your webhook secret.
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Liveness warning catalog:
- LIVENESS_FACE_ATTACK PAD attack suspected (print / replay / mask / GAN)
- LOW_LIVENESS_SCORE score below threshold
- NO_FACE_DETECTED no face in the capture
- AGE_NOT_DETECTED capture quality too low for age signal
- POSSIBLE_DUPLICATED_FACE same face previously verified on your account
STEP 4 — Branch your surface on the final verdict
Approved → grant access to the human-only surface.
Declined → block; log the rejected agent / spoof attempt.
In Review → hold; show a review-pending banner, route to ops queue.
Not Finished → user abandoned; safe to re-prompt.
STEP 5 — Alternate path (server-to-server, when you have the selfie)
POST https://verification.didit.me/v3/passive-liveness/
Headers:
x-api-key: <your api key>
Body (multipart/form-data):
image <single front-camera selfie>
Then dedupe:
POST https://verification.didit.me/v3/face-search/
Body (multipart/form-data):
image <same selfie>
vendor_data <your user id>
Use the standalone path for native onboarding apps that capture the selfie locally. Active 3D liveness REQUIRES the hosted session — it needs the motion challenge to run.
CONSTRAINTS
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: LIVENESS, FACE_MATCH, IP_ANALYSIS, ID_VERIFICATION, AML, AGE_ESTIMATION.
- Method enum is UPPERCASE: PASSIVE, FLASHING, ACTIVE_3D.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: Approved, Declined, In Review, Expired, Not Finished, Resubmitted, Kyc Expired, Abandoned.
- 200+ fraud signals are evaluated on every session at no extra cost.
PRO TIP
- Bind a Reusable Credential to each approved user. The next Didit-powered surface that needs the same gate consumes the credential at zero cost — the Proof of Human "compounds" across the network.
Read the docs:
- https://docs.didit.me/core-technology/liveness/overview
- https://docs.didit.me/core-technology/face-search/overview
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.每月 $0。无需信用卡。
按实际用量付费。25+模块。公开的模块定价,无每月最低费用。
定制MSA和SLA。适用于大批量和受监管项目。
免费开始 → 仅在检查运行时付费 → 解锁企业版以获取定制合约、SLA 或数据驻留。
Didit是身份和欺诈基础设施, 这是我们自己构建产品时希望存在的平台:开放、灵活且对开发者友好,因此它可以作为您技术栈的真正一部分,而不是一个您需要围绕其集成的黑盒子。
一个API涵盖了人员验证(KYC,了解您的客户)、企业验证(KYB,了解您的企业)、加密钱包筛选(KYT,了解您的交易)以及实时交易监控, 构建在以下技术栈之上:
底层支持:14,000多种文档类型,支持48种以上语言,1,000多个数据源,以及每个会话200多个欺诈信号。Didit基础设施从每个会话中动态学习,并每天都在改进。
一个简短的挑战,同时证明三件事:
前两项称为活体检测和演示攻击检测(PAD)。第三项是1:N人脸去重。它们共同构成了大多数平台现在所说的“人类证明”。
有两个原因。
整个流程通常在30秒内完成, 拿起身份证,拍下文件,拍下自拍,完成。这是市场上最快的速度。传统的KYC提供商完成相同流程通常需要90秒以上。
在后端,Didit在p99下两秒内返回结果,从用户完成自拍到您的webhook触发。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载SDK,以及如果用户从网页端开始,通过二维码一键从桌面端切换到手机端。
该模型针对真实捕获与所有已知欺骗类别(打印、屏幕回放、面具、变形、生成对抗网络(GAN)肖像、扩散渲染)进行训练。真实捕获带有微小的伪影,这是任何欺骗都无法拥有的:头部的微小运动、亚像素皮肤纹理、与设备闪光光谱匹配的反射、单个被动帧的深度线索。
iBeta Level 1 PAD认证, 美国国家标准与技术研究院引用的标准, 正是衡量这种性能的,Didit在所有被动活体检测会话中都持有此认证。
每个会话都会进入七种明确状态之一,因此您的代码始终知道如何处理:
Approved, 所有检查通过。让用户继续。Declined, 一项或多项检查失败。您可以允许用户重新提交特定的失败步骤(例如,重新拍摄自拍),而无需重新运行整个流程。In Review, 标记为合规性审查。在控制台中打开案例,查看所有信号,决定批准或拒绝。In Progress, 用户正在流程中。Not Started, 链接已发送,用户尚未打开。如果长时间未打开,发送提醒。Abandoned, 用户打开了链接但未及时完成。重新引导或使其过期。Expired, 会话链接已过期。创建新会话。每次状态更改都会触发一个带签名的 webhook,因此您的数据库始终保持同步。放弃和拒绝的会话是免费的。
生产数据默认在欧盟的 Amazon Web Services 上处理和存储。企业合同可根据监管机构要求,申请在其他区域存储。
全面加密。 所有数据库、对象存储和备份均采用 AES-256 静态加密。所有 API 调用、webhook 和业务控制台会话均采用传输层安全协议 1.3 进行传输加密。生物识别数据使用单独的客户主密钥加密。
数据保留由您控制。 默认保留期为无限期(无限制),除非您配置更短的保留期, 每个应用程序可在 30 天到 10 年之间, 您可以随时通过仪表板或 API 删除任何单个会话。
认证:SOC 2 Type 1(Type 2 审计进行中)、ISO/IEC 27001:2022、iBeta Level 1 PAD,以及来自西班牙 Tesoro / SEPBLAC / CNMV 的公开证明,表明 Didit 的远程身份验证比现场验证更安全。完整报告请访问 /security-compliance。
Didit 默认符合身份基础设施相关监管机构的要求:
详细备忘录、所有证书、所有监管机构函件:/security-compliance。
三种集成路径, 选择最适合您技术栈的:
所有三种方式都使用相同的仪表板、相同的计费和相同的按成功付费价格。分步指南请访问 docs.didit.me/integration/integration-prompt。
两种路径。
workflow_id 调用 POST /v3/session/。我们托管捕获 UI,运行活体检测 + 人脸搜索 1:N,并将带签名的结果返回到您的 webhook。五分钟即可完成集成。POST /v3/passive-liveness/,传入您已在本地捕获的自拍,然后调用 POST /v3/face-search/ 进行 Sybil 去重。完整的 cURL 示例、响应结构和可供代理粘贴的提示都在上方。模型上下文协议 (MCP) 服务器支持 Claude、Cursor 和任何其他代理。
默认最小化数据。 自拍在内存中处理;结果、活体分数和不可逆的人脸模板被持久化;除非明确启用保留,否则原始图像将被删除。人脸模板是单向哈希, 您无法从中重建底层人脸。
我们绝不会出售、共享或使用客户的生物识别数据训练第三方模型。完整的数据处理条款位于 didit.me/terms/business;最终用户看到的隐私声明位于 didit.me/terms/verification-privacy-notice。
会话返回四种结果之一:
每次状态更改都会触发一个带签名的 webhook,因此您只需根据最新结果进行渲染。