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


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

治理的责任
一个人可以创建上百个钱包、邮箱或临时手机号。但这并不能证明他们是上百个不同的人。Didit 将投票与真实面孔和真实证件绑定, 免费的 Face Search 1:N 功能可识别同一人重复尝试。每月免费提供 500 次验证。
选择您需要的检查项, 身份验证、活体检测、人脸比对、制裁名单、地址、年龄、电话、邮箱、自定义问题。在控制面板中将它们拖入工作流,或通过 API 发布相同的工作流。支持条件分支、A/B 测试,无需代码。
通过我们的 Web、iOS、Android、React Native 或 Flutter SDK 进行原生嵌入。重定向到托管页面。或者直接通过邮件、短信、WhatsApp 等任何方式向用户发送链接。选择最适合您技术栈的方案。
Didit 负责托管摄像头、光线提示、移动端切换和无障碍功能。在用户进行流程时,我们实时评估 200 多个欺诈信号,并根据权威数据源验证所有字段。两秒内即可获得结果。
实时签名 Webhook 可在用户被批准、拒绝或发送审核时立即同步您的数据库。按需轮询 API。或者打开控制台,检查每个会话、每个信号,并按您的方式管理案例。
Didit · 唯一投票人
投票人 · 步骤 3 / 4
人脸核验 vs 同类群组
Didit · 人脸搜索 1:N
Didit · 隐私合同
平台可见
Didit 持有(已加密)
Didit · 可复用 KYC
Didit · 投票人资格
Didit · 投票完整性
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_voter_enrol",
"vendor_data": "voter-12871",
"metadata": { "cohort_id": "round-2026-05" }
}'{ 返回托管会话 URL。2 秒内完成裁决。 }$ curl https://verification.didit.me/v3/session/$SID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Returns:
{
"status": "Approved",
"face_search": { "matches": [] }
}{ status Approved · Declined · In Review · Resubmitted · Expired }You are integrating Didit anti-Sybil identity into a voting / governance / survey / airdrop / quadratic-funding platform. The recipe ensures each real human can be counted exactly once — no duplicates, no bots, no farmed accounts.
Two pillars:
1. Verify the voter is a real human with a real identity. ONE call to POST /v3/session/ with ID Verification + Liveness + Face Match.
2. Check the voter has not already been enrolled in this cohort. Face Search 1:N runs the voter's face against every previously-enrolled voter and returns a similarity score. Above threshold → duplicate, block.
Cost:
- Voter Know Your Customer (KYC) bundle: $0.33 per voter (Sessions API)
- Face Search 1:N: free (included)
- Re-vote / next round with Reusable KYC: free (the user proves uniqueness without re-doing KYC)
- 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 HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Face Search 1:N + your jurisdiction rules (age, country, sanctions).
STEP 1 — Enrol the voter with the Sessions API
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + Face Search 1:N>",
"vendor_data": "<your voter id, max 256 chars>",
"callback": "https://<your-app>/vote/enrolment/callback",
"metadata": {
"purpose": "vote_enrolment",
"cohort_id": "<your election / round / airdrop id>"
}
}
Response: 201 Created with the hosted session URL. Redirect the voter to it. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on enrolment completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your voter id>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"face_search": { "status": "Approved", "matches": [] }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 3 — Block duplicates
When face_search.matches is non-empty AND the top match's similarity is above your threshold (typical: 0.85), DO NOT add the voter to the cohort. The voter has likely been enrolled already, possibly under a different document or alias.
Recommended handling:
similarity ≥ 0.95 → block automatically, log the match
similarity 0.85–0.95 → route to manual review
similarity < 0.85 → enrol normally
STEP 4 — Privacy-preserving storage
The platform stores ONLY:
- voter_pid (pseudonymous identifier — a UUID, NOT the raw document number)
- unique (boolean)
- age_band (e.g. "18+", "25-34") — never the raw birth date unless your eligibility rule needs it
- region (e.g. "EU", "ES") — never the raw address
Documents, biometrics, and full names stay inside Didit, encrypted at rest. Default retention 5 years post-relationship; configurable per workflow.
STEP 5 — Read the decision on demand
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full decision JSON. Use this when the tally service needs to confirm a voter is still eligible at vote time.
STEP 6 — Reusable KYC for subsequent rounds
Once a voter is verified, the next vote / round / airdrop can reuse the verification at no extra cost. The user proves uniqueness with a selfie only — no document re-capture. Same workflow, different cohort id.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Don't transform them.
- Face Search 1:N is scoped to YOUR cohort by default — Didit doesn't share faces across customers.
- Always check the duplicate score BEFORE recording the ballot, never after.
- The platform never sees the raw ID document or the raw face template — only the verdict and the pseudonymous PID.
- Default record retention is 5 years post-relationship per the EU AML package; extend per your governing body's rules.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/integration/webhooks
- https://docs.didit.me/core-technology/reusable-kyc/overview
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 基础设施从每个会话中动态学习,并日益完善。
女巫攻击是指一个人伪装成许多人, 通过创建大量钱包、电子邮件地址、一次性手机或虚假身份, 来操纵一个将每个账户视为一票、一次参与、一份份额的系统。
它出现在所有投票或稀缺性重要的场景中:
唯一持久的防御措施是将每张选票绑定到真实的人。这就是这个方案所提供的。
它们证明的是对资源的控制,而不是对个体的控制。
人脸加上政府文件则更难伪造。每个人只有一个面孔,每个国家每个人脸只有一个有效的政府 ID。大规模伪造的成本比创建钱包高出几个数量级。
整个流程通常在 30 秒内完成, 拿起身份证,拍摄证件,拍摄自拍,完成。这是市场上最快的速度。传统的 KYC 提供商完成相同流程通常需要超过 90 秒。
在后端,Didit 在 p99 下两秒内返回结果,从用户完成自拍到您的 webhook 触发的那一刻开始计算。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载 SDK,以及如果用户从网页端开始,可以通过二维码一键从桌面端切换到手机端。
当投票者注册时,Didit 会创建一个保护隐私的人脸模板(一个向量,而非图像),并将其与您群组中的所有其他投票者模板进行比较。输出是一个匹配列表,每个匹配都有一个 0 到 1 的相似度分数。
典型策略:
该群组仅限于您的数据集, 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。
不。一旦投票者通过 Didit 验证,可复用 KYC(免费,已包含)允许他们在后续每一轮中仅通过自拍证明其唯一性, 无需重新捕获文档。
实际操作:
凭证可在所有 Didit 驱动的平台之间移植,与 eIDAS2(欧盟数字身份法规)对齐。投票者拥有凭证, 他们按需重新出示,您无需重复支付。
每次注册都会生成一个签名收据,您可以将其导出到您的审计日志或 DAO 的透明度门户:
session_id, Didit 的可验证注册标识符voter_pid, 您的匿名投票者 IDverdict, Approved、Declined、In Review 等(状态枚举:Approved、Declined、In Review、Resubmitted、Expired、Not Finished、Kyc Expired、Abandoned)cohort_id, 哪一轮/选举/空投signature, 负载的 X-Signature-V2 HMAC SHA-256,使用您的 webhook 密钥timestamp结合链上证明(如果使用),您将拥有一个防篡改的追踪记录,从“这个真实的人已注册”到“这张选票已投出”。默认保留 5 年,可根据您的管理机构规定延长。
四步,一个下午即可完成:
business.didit.me 打开沙盒, 60 秒内获得沙盒密钥,无需信用卡POST /v3/session/ 以注册投票者,并连接签名 webhook 以接收结果status: Approved 且 face_search.matches 为空(或低于您的阈值)Didit MCP (模型上下文协议) 服务器免费提供, 将上述集成提示粘贴到 Claude Code、Cursor、Codex、Replit Agent、Devin 或 Aider 中,代理将根据实时 /v3/ API 搭建整个框架。