跳到主要内容
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
生物识别认证

取代短信 2FA
刷脸,一秒搞定。

面向回访用户的即插即用无密码二次认证。告别短信费用、SIM 卡交换风险和运营商往返延迟。与注册时采用相同的 iBeta Level 1 PAD(演示攻击检测)引擎。每次认证 $0.10,每月免费 500 次。

投资方
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me
Shiply

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

Didit 生物识别认证, 两秒内完成被动活体二次认证。

防钓鱼登录

固有因素。
Android 端低于 1 秒。

复用注册时已验证的身份,对回访用户进行身份验证。 防SIM卡互换、防钓鱼,每次调用仅需$0.10, 比市场上典型的短信往返验证更经济。

工作原理

从注册到验证用户,仅需四步。

  1. 步骤 01

    创建工作流

    选择您需要的验证项, 身份、活体、人脸匹配、制裁名单、地址、年龄、电话、邮箱、自定义问题。在控制台中拖拽构建流程,或通过API提交。支持条件分支、A/B测试,无需代码。

  2. 步骤 02

    集成

    通过我们的Web、iOS、Android、React Native或Flutter SDK进行原生嵌入。也可重定向到托管页面。或者,只需通过邮件、短信、WhatsApp等任何方式向用户发送链接。选择最适合您技术栈的方案。

  3. 步骤 03

    用户完成流程

    Didit负责摄像头、光线提示、移动端切换和无障碍功能。在用户进行流程时,我们实时评估200多项欺诈信号,并根据权威数据源验证每个字段。两秒内即可出结果。

  4. 步骤 04

    接收结果

    实时签名的Webhook确保用户通过、拒绝或需要审核时,您的数据库能即时同步。您也可以按需轮询API,或打开控制台检查每个会话、每个信号,并按您的方式管理案例。

专为开发者打造 · 专为防欺诈设计 · 开放式架构

六大功能。一个工作流。biometric_authentication

以下所有功能都是同一工作流类型中的可选项。没有升级层级,没有单独的SKU,也没有额外的调用费用。您可以按工作流启用这些功能,然后通过一次调用创建会话。
01 · 增强型2FA

短信双因素认证的即插即用替代方案。

在每次敏感操作时触发生物识别认证, 高价值转账、密码重置、大额提现、新设备登录。无需运营商账单,无SIM卡互换风险,无OTP钓鱼。与您的注册流程采用相同的托管UI, 用户无需学习新操作。每次认证$0.10,比短信更便宜,且免疫所有短信攻击。
增强认证POST /v3/session/
短信双因素认证
6位验证码
  • SIM 卡互换
  • 运营商账单
  • 钓鱼
生物识别认证
人脸核验
  • 无 SIM 卡暴露风险
  • 每次认证 $0.10
  • 防钓鱼
即插即用。与您注册时使用的 iBeta 认证引擎相同。
02 · 两种模式

仅活体检测或活体检测加人脸匹配。按工作流选择。

仅活体检测用于低摩擦的存在验证,或活体检测加人脸匹配用于与存储的注册照片进行完整身份绑定。两者都返回相同的JSON。通过编辑工作流切换模式, 无需客户端更改,无需新端点,每次认证仍为$0.10。
两种模式 · 一个工作流biometric_authentication
  • 仅活体检测存在性检查
    功能: [活体检测]
    确认是真实人类。摩擦最小。
  • 活体检测 + 人脸匹配身份绑定
    功能: [活体检测, 人脸匹配]
    将人像图片绑定到注册信息。安全性最高。
每个工作流可切换。相同的 workflow_id。每次认证 $0.10。
03 · 不到2秒出结果

登录时感知延迟不到一秒。

边缘服务推理, 无需模型下载,不依赖设备加速,廉价安卓设备上也不会降低体验。捕获约0.3秒,活体检测不到1秒,人脸匹配约0.5秒,Webhook端到端输出不到2秒。比短信验证码更快,且用户无需离开您的应用。
登录延迟端到端 < 2 秒
  • Capture · auto-frame0.32 s
  • Liveness · passive0.81 s
  • Face match · 1:10.42 s
  • Approved · webhook out1.65 s
边缘推理。无需模型下载。无需运营商往返。
04 · 账户盗用防御

iBeta一级认证,可抵御所有已知攻击。

通过iBeta的PAD(演示攻击检测)一级独立认证, 这是NIST和开放身份交换组织引用的标准。可抵御被盗自拍重放、深度伪造、纸质面具、硅胶和乳胶面具、变形攻击。无论您的设置如何,硬拒绝触发器(黑名单人脸、未检测到人脸、攻击特征、无参考图像)始终有效。
账户盗用防御iBeta L1 PAD
  • 账户所有者的深度伪造已拦截
  • 硅胶或纸质面具已拦截
  • 被盗自拍 · 重放攻击已拦截
  • 黑名单人脸自动拒绝
05 · 照片复用

复用注册照片。无需额外存储。

您已经拥有用户注册KYC时的参考照片, 在每次生物识别认证会话中传递它,我们将进行相似度评分。相同的模板存储,相同的欧盟默认基础设施(企业版支持特定区域驻留),相同的数据保护官。无需重新入职,无需额外的存储决策。
复用 KYC 人像portrait_image
sign-up
KYC 人像
每次登录
人脸比对 1:1
  • 相似度得分96.2
  • 与 KYC 模板存储相同欧盟 AWS
06 · 可调阈值

每个工作流可配置相似度和活体检测阈值。

低活体和低人脸匹配警告分别带有审核阈值和拒绝阈值,您可以根据每个应用进行调整。对高价值转账严格,对新设备登录宽松, 所有这些都可以在控制台的同一工作流编辑器中完成。完整的警告目录可在文档中查看。
Didit业务控制台生物识别认证工作流编辑器,显示可配置的活体检测和人脸匹配阈值。
集成

两种配置。同一会话。同等价格。

两种配置都在同一个生物识别认证工作流中创建会话。仅活体检测是纯粹的存在验证, 摩擦最小。活体检测加人脸匹配将认证与用户存储的注册照片绑定。通过编辑工作流进行切换, 无需客户端更改。
POST /v3/session/活体检测 + 人脸匹配
$ 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_bio_auth",
    "vendor_data": "user-42",
    // base64-encoded reference selfie, ≤ 1MB
    // omit this field for liveness-only mode
    "portrait_image": "/9j/4AAQSkZJRgABAQE..."
  }'
201已创建{ "session_url": "verify.didit.me/..." }
传入 portrait_image 用于人脸匹配;若仅需活体检测则省略。文档 →
POST /webhooks/didit第二步 · 接收
// Your endpoint receives a signed payload
app.post("/webhooks/didit", (req, res) => {
  const sig = req.headers["x-signature-v2"];
  const expected = crypto.createHmac("sha256", SECRET)
    .update(req.rawBody).digest("hex");
  if (sig !== expected) return res.sendStatus(401);
  const { status, decision, vendor_data } = req.body;
  // status: Approved | Declined | In Review | ...
  res.sendStatus(200);
});
200OKwebhook_type: "status.updated", status: "Approved"
实时 HMAC 签名 webhook。验证、解析并更新您的数据库。文档 →
代理就绪集成

通过一个提示词,快速上线生物识别认证。

将以下代码块粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。用您的框架、语言和用例填充 my_stack 占位符。代理将配置 Didit,创建工作流,连接会话和 webhook,并完成部署。
didit-integration-prompt.md
# Didit Biometric Authentication — integrate in 5 minutes

You are integrating Didit's Biometric Authentication module into <my_stack>.
This is a returning-user passwordless re-verification flow — a drop-in
replacement for SMS or email 2FA at high-value actions (large transfers,
password reset, large withdrawals, sensitive setting changes). It is NOT
the first-time KYC sign-up flow — for that, see Didit Liveness at
docs.didit.me/core-technology/liveness/overview.

Every URL, header, and enum value below is canonical — do not paraphrase
or "improve" them.

## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
  (returns an API key bound to the workspace + application).

## 2. Create the biometric_authentication workflow (one time)
Biometric Authentication is a workflow_type, not a feature flag. Create
the workflow once, reuse the workflow_id for every authentication.

POST https://verification.didit.me/v3/workflows/
Header: x-api-key: <your-api-key>
Body:
  - workflow_label   (your label, e.g. "step-up-2fa")
  - workflow_type    "biometric_authentication"  (snake_case enum)
  - features         the array
                       [{ feature: "LIVENESS" }]                    (liveness-only mode)
                     OR
                       [{ feature: "LIVENESS" }, { feature: "FACE_MATCH" }]  (face-match mode)
  - liveness_method  "PASSIVE" | "FLASHING" | "ACTIVE_3D"   (PASSIVE recommended for low-friction step-up)

Store the returned workflow_id — you will reuse it on every auth.

## 3. Authenticate a returning user

POST https://verification.didit.me/v3/session/
Header: x-api-key: <your-api-key>
Header: Content-Type: application/json
Body:
  - workflow_id     (from step 2)
  - vendor_data     (your own user id, e.g. "user-42")
  - callback        (optional URL we redirect the user to after capture)
  - metadata        (optional JSON, surfaced back on the webhook)
  - portrait_image  (Base64 JPEG, REQUIRED when the workflow has FACE_MATCH;
                     OMIT for liveness-only mode)

The portrait_image is the stored reference photo from the user's original
KYC verification (you already have it as id_verification.portrait_image in
the original session response). Send it as a Base64-encoded JPEG, max 1 MB.

Response: session_url — redirect the user to it. Didit hosts the capture
(camera, motion prompts, low-light fallback, accessibility) and posts the
verdict back via webhook.

## 4. Webhooks
- Register a webhook destination once via
  POST https://verification.didit.me/v3/webhook/destinations/
  Body: url, subscribed_events: ["session.verified", "session.declined",
                                  "session.review_started"]
- Response includes secret_shared_key — store it.
- Every webhook delivery carries an X-Signature-V2 header you MUST verify
  before trusting the payload.  HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature.Algorithm:
    1. sortKeys(payload) recursively
    2. shortenFloats (truncate trailing zeros after the decimal point)
    3. JSON.stringify the result
    4. HMAC-SHA256 with the secret_shared_key
    5. Hex-encode, compare to the X-Signature-V2 header.

## 5. Reading the report
The webhook payload (and the GET /v3/session/{id}/decision/ response)
returns the combined biometric_authentication shape:

  status               "Approved" | "Declined" | "Not Finished"
  workflow_id          string
  session_id           uuid
  session_number       integer
  vendor_data          your user id
  liveness:
    status             "Approved" | "Declined" | "Not Finished"
    method             "PASSIVE" | "FLASHING" | "ACTIVE_3D"
    score              number 0-100
    reference_image    signed URL to the captured selfie (expires in 1 hour)
    video_url          signed URL (FLASHING and ACTIVE_3D only, expires in 1 hour)
    warnings           array
  face_match:                     (only present in face-match mode)
    status             "Approved" | "Declined" | "Not Finished"
    score              number 0-100 (similarity %)
    source_image       signed URL to the captured selfie
    target_image       signed URL to the supplied portrait_image
    warnings           array

Overall status is "Approved" only when liveness.status == "Approved" AND
(face_match is absent OR face_match.status == "Approved").

Auto-decline triggers (always enforced by Didit, not configurable):
  FACE_IN_BLOCKLIST, NO_FACE_DETECTED, LIVENESS_FACE_ATTACK, NO_REFERENCE_IMAGE

Configurable risks (action per workflow — Decline, Review, or Approve):
  LOW_LIVENESS_SCORE, LOW_FACE_MATCH_SIMILARITY

## 6. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- workflow_type is snake_case: biometric_authentication.
- Feature enums inside the workflow are UPPERCASE: LIVENESS, FACE_MATCH.
- Liveness 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).
- Always verify webhook signatures before trusting payload data.
- Status casing matches exactly: "Approved", "Declined", "In Review",
  "Not Finished" (title-cased, space-separated).
- portrait_image is Base64 JPEG, max 1 MB, required only in face-match mode.

## 7. Pricing reference (public)
- Biometric Authentication: $0.10 per authentication (passwordless re-auth).
- 500 free authentications every month, forever, on every account.
- For the original sign-up KYC, see https://didit.me/pricing (full KYC
  bundle is $0.33 per onboarded user, which includes Liveness + Face Match +
  ID Verification + Device & IP Analysis).

## 8. When to use this versus Liveness directly
- First-time KYC sign-up: use Liveness (the feature) inside an ID
  Verification workflow. See docs.didit.me/core-technology/liveness/overview.
- Step-up at sensitive actions (transfer, password reset, large
  withdrawal): use this Biometric Authentication workflow.
- High-volume passive monitoring (any login): use this workflow with
  liveness-only mode (no portrait_image) — fastest, lowest friction.

## 9. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test images: deterministic synthetic faces returned in sandbox
  (Approved by default; trigger Declined by sending the canonical "spoof"
  test image).
- Switch to live: flip the application's environment toggle in console.

When in doubt: https://docs.didit.me/core-technology/biometric-auth/overview
合规性设计

一键开启新国家/地区业务。 我们为您解决难题。

我们负责设立当地子公司、获取许可证、进行渗透测试、获得认证,并与所有新法规保持一致。要在新国家/地区发布验证服务,只需轻点开关。已覆盖220多个国家/地区,每个季度进行审计和渗透测试, 是唯一一个被欧盟成员国政府正式认定比线下验证更安全的身份提供商。
阅读安全与合规性档案
欧盟金融沙盒
Tesoro · SEPBLAC · BdE
Jugendschutz geprüft
FSM · JMStV §4(2) · 2026
ISO/IEC 27001
信息安全 · 2026
SOC 2 · Type I
AICPA · 2026
iBeta Level 1 PAD
NIST / NIAP · 2026
GDPR
EU 2016/679
DORA
EU 2022/2554
MiCA
EU 2023/1114
AMLD6 · eIDAS 2.0
原生符合欧盟标准

数据证明

数据证明
  • iBeta L1
    经独立认证的演示攻击检测。
  • <0s
    每会话端到端认证结果,边缘服务。
  • $0.00
    每次认证成本低于短信,且免疫所有短信攻击。
  • 0
    每个账户每月永久免费认证。
三个层级,一份价目表

免费开始。按使用量付费。可扩展至企业级。

每月 500 次免费验证,永久有效。生产环境按量付费。企业版提供定制合约、数据驻留和 SLA (Service Level Agreements)。
免费

免费

每月 $0。无需信用卡。

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

按用量计费

按实际用量付费。25+模块。公开的模块定价,无每月最低费用。

  • 完整KYC $0.33(身份+生物识别+IP/设备)
  • 10,000+ AML数据集, 制裁、PEP、负面媒体
  • 1,000+ 政府数据源用于数据库验证
  • 交易监控 $0.02/笔交易
  • 实时KYB $2.00/家企业
  • 钱包筛选 $0.15/次检查
  • 白标验证流程, 您的品牌,我们的基础设施
企业版

企业版

定制MSA和SLA。适用于大批量和受监管项目。

  • 年度合同
  • 定制MSA、DPA和SLA
  • 专属Slack和WhatsApp频道
  • 按需人工审核员
  • 经销商和白标条款
  • 独家功能和合作伙伴集成
  • 指定CSM、安全审查、合规支持

免费开始 → 仅在检查运行时付费 → 解锁企业版以获取定制合约、SLA 或数据驻留。

FAQ

常见问题

Didit 是什么?

Didit 身份和欺诈基础设施, 这是我们自己构建产品时希望存在的平台:开放、灵活且对开发者友好,因此它可以作为您技术栈的真正一部分,而不是一个您需要围绕其进行集成的黑盒。

一个 API 涵盖了人员验证(KYC了解您的客户)、企业验证(KYB了解您的企业)、加密钱包筛选(KYT了解您的交易)以及实时监控交易, 构建在以下技术栈之上:

  • 快速, 每个会话的 p99 均低于 2
  • 可靠, 已在 220 多个国家/地区 1,500 多家公司投入生产
  • 安全, SOC 2 Type 1、ISO 27001、GDPR 原生,并经西班牙金融监管机构正式证明比亲自验证更安全

底层支持:48 种以上语言 14,000 多种文档类型1,000 多个数据源以及每个会话的 200 多个欺诈信号。Didit 基础设施从每个会话中动态学习并每天都在改进。

生物识别认证与活体检测有何不同?
生物识别认证是回访用户的重新认证界面, 在敏感操作(高价值转账、密码重置、大额提款、新设备登录)中替代短信或电子邮件双因素认证 (2FA) 的即插即用方案。它是一种 workflow_type(蛇形命名法:biometric_authentication),结合了 LIVENESS 功能和可选的 FACE_MATCH 功能。活体检测本身是注册功能, 有关首次了解您的客户 (KYC) 流程,请参阅 /products/liveness。两者都使用相同的 iBeta Level 1 演示攻击检测 (PAD) 认证引擎,因此用户在注册时通过的模型与每次登录时检查他们的模型是相同的。
响应格式是怎样的?
组合报告返回 statusApprovedDeclinedNot Finished)、一个包含 statusmethodPASSIVEFLASHING ACTIVE_3D)、score 0-100、reference_imagevideo_url warnings liveness 块,以及一个 face_match 块(仅当工作流包含 FACE_MATCH 时存在),其中包含 statusscore 0-100、source_imagetarget_image warnings。签名的图像和视频 URL 60 分钟后过期。只有当活体检测通过且(人脸匹配不存在或人脸匹配通过)时,总 status 才为 Approved
终端用户的验证速度有多快?

整个流程通常在 30 秒内完成, 拿起身份证,拍摄证件,拍摄自拍,完成。这是市场上最快的速度。传统的 KYC 提供商完成相同流程通常需要超过 90

在后端,Didit p99 情况下两秒内返回结果,时间从用户完成自拍到您的 webhook 触发计算。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载 SDK,以及如果用户从网页端开始,通过二维码实现桌面到手机的一键切换。

它能阻止哪些账户盗用攻击?
Didit 生物识别认证通过了 iBeta Level 1 PAD 认证,符合 ISO/IEC 30107-3 攻击目录的全部要求,包括打印照片、屏幕回放、纸质面具、硅胶面具、乳胶面具、变形攻击、账户所有者的 AI 生成深度伪造以及被盗自拍回放。无论您的设置如何,以下四种风险都将自动拒绝FACE_IN_BLOCKLISTNO_FACE_DETECTEDLIVENESS_FACE_ATTACK NO_REFERENCE_IMAGE。可配置的警告(LOW_LIVENESS_SCORE LOW_FACE_MATCH_SIMILARITY)允许您根据应用程序调整审核和拒绝阈值。
如果用户失败、放弃或过期,会发生什么?

每个会话都会进入七种明确状态之一,因此您的代码始终知道如何处理:

  • 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:2022iBeta Level 1 PAD,以及来自西班牙 Tesoro / SEPBLAC / CNMV 的公开证明,表明 Didit 的远程身份验证比亲自验证更安全。完整报告请访问 /security-compliance

Didit 是否符合我的行业要求?

Didit 默认符合对身份基础设施至关重要的监管机构要求:

  • GDPR + UK GDPR, 控制器/处理器分离,发布完整的《数据处理协议》,指定主要监管机构(西班牙 AEPD)。
  • AMLD6 + EU AML Single Rulebook, 实时筛选 1,300 多个制裁、政治公众人物和负面媒体名单。
  • eIDAS 2.0, 符合欧盟数字身份钱包;支持可重用身份。
  • MiCA (Markets in Crypto-Assets), 适用于加密货币入口、交易所和托管机构。
  • DORA, 数字运营弹性法案,欧盟金融服务运营弹性。
  • BIPA, CUBI, Washington HB 1493, CCPA / CPRA, 美国生物识别隐私(伊利诺伊州、德克萨斯州、华盛顿州)和加利福尼亚州消费者隐私。
  • UK Online Safety Act, 年龄门控和儿童安全义务。
  • FATF Travel Rule, 加密货币转账的发起方和受益方数据,IVMS-101 互操作。

详细备忘录、所有证书、所有监管机构函件:/security-compliance

我能多快集成并开始验证用户?
  • 60 即可在 business.didit.me 获得沙盒账户, 无需信用卡。
  • 5 分钟即可通过 Claude Code、Cursor 或任何编码代理,通过我们的模型上下文协议 (MCP) 服务器完成工作验证。
  • 一个周末即可完成生产就绪的集成,包括签名 webhook 验证、重试以及用户被拒绝时的补救流程。

三种集成路径, 选择最适合您技术栈的:

  • 使用我们的 Web、iOS、Android、React Native Flutter SDK 原生嵌入
  • 将用户重定向到托管验证页面, 无需 SDK。
  • 通过电子邮件、短信、WhatsApp 或任何渠道发送链接, 无需前端工作。

相同的仪表板、相同的计费、相同的按成功付费价格。分步指南请访问 docs.didit.me/integration/integration-prompt

身份与欺诈基础设施。

一个 API 即可实现 KYC、KYB、交易监控和钱包筛选。5 分钟即可集成。

让 AI 总结此页面