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


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

无人零售的合规义务
无人便利店、自助售货亭、智能冰箱、无人加油站, 它们都与有人值守商店承担相同的合规义务:真实身份、真实年龄、真实 审计追踪。Didit 将其整合为一个工作流程:首次访问 $0.33,每次 回访 $0.10,中位判决时间低于 2 秒,支持 220 多个国家/地区的 14,000 多种证件。
选择您需要的检查项, 身份、活体、人脸匹配、制裁名单、地址、年龄、电话、电子邮件、自定义问题。在仪表盘中将它们拖入流程,或将相同的流程发布到我们的 API。根据条件分支,运行 A/B 测试,无需代码。
通过我们的 Web、iOS、Android、React Native 或 Flutter SDK 进行原生嵌入。重定向到托管页面。或者直接通过电子邮件、短信、WhatsApp 等任何方式向您的用户发送链接。选择适合您技术栈的方式。
Didit 负责托管摄像头、灯光提示、移动设备切换和辅助功能。在用户进行流程时,我们实时评估 200 多个欺诈信号,并根据权威数据源验证每个字段。两秒内即可获得结果。
实时签名 Webhook 可确保用户获批、拒绝或发送审核时,您的数据库即时同步。按需轮询 API。或者打开控制台检查每个会话、每个信号,并按您的方式管理案例。
Didit · 入口流程
步骤 3 / 4
正在解锁门禁…
Didit · 年龄门槛
Didit · 生物识别认证
Didit · 尝试日志
购物者
入口
Didit · 类别策略
Didit · 生态系统
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_store_entry_kyc",
"vendor_data": "shopper-42",
"metadata": { "store_id": "store_sf_12" }
}'返回托管会话 URL。$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_store_entry_biometric",
"vendor_data": "shopper-42",
// base64 first-visit selfie, ≤ 1MB (omit for liveness-only)
"portrait_image": "/9j/4AAQSkZJRgABAQE..."
}'生物识别认证 $0.10 · 门在约 1.4 秒内打开。You are integrating Didit into an autonomous-retail surface — an unstaffed convenience store, an age-gated vending machine, a smart fridge, an autonomous fuel station, or a self-checkout that handles restricted SKUs. The recipe verifies identity + age at entry and authenticates returning shoppers via face only.
Three pillars:
1. First visit — verify the shopper's identity and age with one POST /v3/session/ ($0.33 bundle).
2. Returning visit — Biometric Authentication at $0.10 per entry. Shopper holds their face to the door camera; door unlocks.
3. Per-SKU enforcement — block restricted categories (alcohol, tobacco, vapes, energy drinks, RX) at scan or checkout based on the verified age and the store's local rules.
Cost:
- First visit KYC bundle: $0.33 per shopper (Sessions API)
- Returning visit Biometric Auth: $0.10 per entry
- 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.
- Two workflows in the Workflow Builder:
wf_store_entry_kyc — ID Verification + Passive Liveness + Face Match 1:1 + age rules (first visit)
wf_store_entry_biometric — Biometric Auth-only (returning visit)
- A store-id + local-rule lookup so age thresholds vary per region (EU 18 vs US 21 for alcohol; state-by-state tobacco; dry counties; etc.).
STEP 1 — First visit: verify the shopper
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf_store_entry_kyc>",
"vendor_data": "<your shopper id, max 256 chars>",
"callback": "https://<your-app>/store/entry/callback",
"metadata": {
"purpose": "autonomous_store_entry",
"store_id": "<your store id>",
"region": "<US-CA | EU-ES | etc.>"
}
}
Response: 201 Created with the hosted session URL. Encode that URL in the QR sticker on the door (or push it to the shopper's phone via SMS / WhatsApp). Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on entry-flow completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your shopper id>",
"status": "Approved",
"id_verification": {
"status": "Approved",
"date_of_birth": "1991-04-22",
"country": "US"
},
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 }
}
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.
Compute the age from date_of_birth, look up the region's age thresholds (per category), and store the (shopper_id, age_band, region, kyc_status) tuple in your data layer.
STEP 3 — Open the door
When status is Approved, signal your store-OS / door-controller to unlock. Median wall-clock from QR scan to door open is around 1.4 seconds on entry-level Android, sub-2 seconds end to end.
Failure modes to handle:
Declined / In Review / Resubmitted — show a friendly UI on the kiosk and offer staff hand-off.
Expired / Abandoned — shopper walked away; do nothing, the session expires.
STEP 4 — Returning visit: Biometric Authentication
POST https://verification.didit.me/v3/session/
Body:
{
"workflow_id": "<wf_store_entry_biometric>",
"vendor_data": "<your shopper id>",
"metadata": {
"purpose": "autonomous_store_entry_return",
"store_id": "<your store id>"
}
}
The shopper just holds their face to the door camera. Cost is $0.10 per entry. Same webhook flow.
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 from the POS / self-checkout when the shopper picks up a restricted SKU — confirm age + region match the SKU's rules before letting the basket close.
STEP 6 — Per-SKU enforcement at checkout
Inside your POS / store-OS, every restricted SKU carries a category tag (alcohol, tobacco, vape, energy-drink, sharp-tool, RX). Look up the shopper's verified age band + the store's region rules. Examples:
Alcohol US-21 / EU-18, blocked in dry counties, time-of-day windows
Tobacco / vapes US-21 (state by state) / EU-18, store-licence flag required
Energy drinks EU-16 in some regions, no restriction elsewhere
Sharp tools ≥ 18 in most regions
Prescription Pharmacy hand-off only (DEA Schedule II–V)
Tune the policy in the no-code Workflow Builder — no redeploy of your store-OS.
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.
- Don't store the raw document image in your store-OS — Didit holds it, the store-OS holds the shopper PID + age band only.
- Compute the age band server-side, not in the kiosk — kiosks can be tampered with.
- Log every entry attempt (Approved + Declined) signed with X-Signature-V2 for the loss-prevention dashboard. Default retention 5 years.
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/console/workflows
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 基础设施通过每次会话动态学习,并日益完善。
这是一种身份+年龄验证,让无人商店能够向真实、符合条件的购物者敞开大门,并拒绝其他人, 无需人工店员介入。
这种模式适用于所有无人零售场景:
购物者扫描二维码或将脸部对准门禁摄像头。Didit 验证他们的身份和年龄。门打开。购物开始。POS 系统会阻止他们购买任何不允许的商品。
因为这两者都无法证明是真实的个人和真实的年龄。
在所有发达市场,未成年人购买酒精、烟草和电子烟都受到监管, 美国(各州不同,责任严格)、欧盟(烟草产品指令+国家酒精法律)、英国(2003 年许可法)、加拿大、澳大利亚、日本、新加坡。处罚从商店罚款到吊销执照不等。真实的身份+人脸验证是唯一持久的防御措施。
整个流程通常在 30 秒内完成, 拿起身份证,拍摄证件,拍摄自拍,完成。这是市场上最快的速度。传统的 KYC 提供商完成相同流程通常需要超过 90 秒。
在后端,Didit 在 p99 下两秒内返回结果,从用户完成自拍到您的 webhook 触发的那一刻开始计算。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载软件开发工具包,以及如果用户从网页端开始,通过二维码一键从桌面端切换到手机端。
通过将规则保留在服务器端,而不是在自助服务终端。验证后的出生日期从 /v3/session/ 返回;规则表存在于您的工作流构建器中。
典型的阈值范围:
在无代码的工作流构建器中,按商店、按 SKU、按时间段编辑规则。无需重新部署商店操作系统。POS 在扫描时读取最新策略。
每个会话都会落入七种明确状态之一,因此您的代码始终知道该怎么做:
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。
每次进入尝试, 批准、拒绝、审核中, 都会生成一个签名的日志行:
session_id, Didit 对尝试的可验证标识符shopper_pid, 您的匿名购物者 IDstore_id, 哪个商店/售货亭/冰箱timestamp, UTC 时间的进入时间age_decision, 裁决 + 匹配的阈值(例如 Approved · 21+)signature, 有效载荷的 X-Signature-V2 HMAC SHA-256将其传输到您的防损仪表板、您的州监管机构门户(用于烟草/酒精审计)和您的 SIEM(安全信息和事件管理)。默认保留期限为关系结束后5 年,可根据当地审计规则延长。已准备好应对美国的 ABC(酒精饮料管制)委员会检查和欧盟的同等国家机构。
门口两样,收银台一样:
没有 Didit 品牌的硬件。没有专有自助服务终端。该方案可在您已有的摄像头和终端上运行。
四条连接线:
POST /v3/session/ 返回的托管会话 URLX-Signature-V2, HMAC SHA-256)。当 status: Approved 时,向您的门禁控制器发送解锁命令GET /v3/session/'{'sessionId'}'/decision/, 确认年龄 + 区域Didit MCP (模型上下文协议) 服务器免费提供, 将上述集成提示粘贴到 Claude Code、Cursor、Codex、Replit Agent、Devin 或 Aider 中,代理将根据实时 /v3/ API 搭建整个框架。