跳到主要内容
Didit 融资200万美元并加入 Y Combinator (W26)
Didit
生物识别双重认证

替换短信一次性密码。将自拍设为第二因素

通过不到 2 秒的人脸匹配与注册肖像进行比对,提升敏感流程的安全性。防网络钓鱼。防 SIM 卡互换。每次认证 $0.10。每月免费 500 次验证。

支持者
Y Combinator
GBTC Finance
Bondex
Crnogorski Telekom
UCSF Neuroscape
Shiply
Adelantos

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

黑暗电影般的生物识别双重认证堆栈——在纯黑色背景上,四个浮动的半透明玻璃面板呈 3D 透视,由一条发光的 Didit 蓝色线条穿过,并由发光的扫描仪支架框住。每个面板都带有一个小的浅白色图案,分别代表挂锁、人脸匹配椭圆形对、移动设备和划掉的短信气泡。

防网络钓鱼 · 防 SIM 卡互换

没有可钓鱼的代码。没有可交换的 SIM 卡。

第二个因素是用户的面部,与他们在注册时登记的肖像进行 1:1 匹配。 活体检测可阻止对同一帧的打印/重放/遮罩/生成对抗网络 (GAN) 攻击。在入门级 Android 设备上, 判断结果不到 2 秒。每次认证 $0.10。每月免费 500 次验证。

工作原理

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

  1. 步骤 01

    创建工作流

    选择您想要的检查项——身份、活体、人脸匹配、制裁、地址、年龄、电话、电子邮件、自定义问题。将它们拖入仪表板中的流程,或将相同的流程发布到我们的 API。根据条件进行分支,运行 A/B 测试,无需代码。

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

    Didit 托管摄像头、灯光提示、移动设备交接和辅助功能。当用户在流程中时,我们会实时评估 200 多个欺诈信号,并根据权威数据源验证每个字段。结果在两秒内得出。

  4. 步骤 04

    您收到结果

    实时签名 Webhook 可在用户获得批准、拒绝或发送审核时立即同步您的数据库。按需轮询 API。或者打开控制台检查每个会话、每个信号,并以您的方式管理案例。

短信 OTP 的替代方案 · 绑定到用户,而非代码

六项功能。每次认证$0.10

一个自适应工作流,一个签名裁决,与您现有的 OAuth 流程相同的回调结构。无运营商依赖,无 SS7 表面,无 SIM 卡互换风险。
01 · 点击认证流程

一键。不到 2 秒的自拍。完成。

打开一个 Sessions API 调用,将用户重定向到托管 UI,捕获一个被动帧。活体检测 + 人脸匹配 1:1 + 签名 webhook 在两秒内返回。无需安装应用程序,无需 SDK,无需运营商路径。
生物识别身份验证模块
02 · 人脸匹配 1:1

将实时自拍与注册肖像进行匹配。

用户原始 KYC 会话期间捕获的肖像即为模板。每次后续身份验证都会将新的自拍与该模板进行比较,并返回一个 similarity_score (0-1)。根据工作流程调整自动批准阈值。每次独立人脸匹配调用 $0.05;与活体检测捆绑时为 $0.10。
人脸匹配 1:1 模块
03 · 击败短信攻击面

SIM 卡互换。OTP 网络钓鱼。短信钓鱼。SS7。全部被阻止。

美国联邦调查局 (FBI) 和英国国家网络安全中心 (NCSC) 警告的短信一次性密码的四种攻击——SIM 卡互换、OTP 网络钓鱼、短信钓鱼工具包、运营商拦截——都击败了短信。它们都无法对抗与注册肖像匹配的实时自拍。FIDO 联盟将设备上的面部识别列为防网络钓鱼。
为什么短信已失效
04 · 在关键时刻升级

仅在需要时触发。

从新设备登录、超出风险阈值的转账、密码/设置更改、账户恢复。与设备 + IP 分析结合使用,以便在新设备 + 新互联网协议 (IP) 上的重新认证自动升级。相同的流程,更智能的触发器。
设备与 IP 分析模块
05 · 一个签名负载

现有 OTP 回调的直接替代品。

webhook 提供状态、similarity_score、方法以及用于基于哈希的消息认证码 (HMAC) SHA-256 验证的 X-Signature-V2 标头。相同的回调形状,相同的重定向模式。大多数团队在一个周末内将短信替换为人脸识别。
Webhook 合同
06 · 比短信便宜

$0.10 per auth, no carrier fees, no minimums.

美国一级短信一次性密码每次发送费用在 $0.05 到 $0.30 之间,具体取决于运营商——即使用户从未收到验证码,您也需要付费。Didit 的生物识别身份验证固定为 $0.10,每月免费提供 500 次验证。没有运营商依赖,没有按国家/地区收费,没有合同最低要求。
查看定价
集成

一个会话。一个回调。一个裁决。

打开生物识别认证会话,在托管 UI 中捕获自拍,读取 Webhook 上的签名裁决。
POST /v3/session/重新认证
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -d '{
    "workflow_id": "wf_bio_2fa",
    "workflow_type": "biometric_authentication",
    "vendor_data": "user-42",
    // base64 reference selfie, ≤ 1MB (omit for liveness-only)
    "portrait_image": "/9j/4AAQSkZJRgABAQE..."
  }'
201已创建{ "session_url": "verify.didit.me/..." }
针对提供的 portrait_image 运行 LIVENESS + FACE_MATCH文档 →
POST /v3/face-match/服务器到服务器
$ curl -X POST https://verification.didit.me/v3/face-match/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -F "image_a=@live.jpg" \
  -F "image_b=@enrolled.jpg"
200确定{ "status": "Approved", "similarity_score": 0.96 }
仅当您拥有捕获管道时使用。浏览器流程 = 托管会话。文档 →
代理就绪集成

在一个提示中替换短信 OTP。

粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的技术栈。代理将配置 Didit,构建生物识别认证工作流,替换您现有的 OTP 回调,并在一个周末内完成交付。
didit-integration-prompt.md
You are integrating Didit's Biometric 2FA into <my_stack>. Replace SMS one-time-password (OTP) on sensitive flows — login from a new device, large-value transfer, settings change, account recovery — with a sub-2-second face match against the user's enrolled portrait. Cheaper than SMS. Phishing-resistant. SIM-swap-proof.

  1. Enrol the user's portrait ONCE at sign-up via the standard Know Your Customer (KYC) session.
  2. On every sensitive action, open a Biometric Authentication session that runs Passive Liveness + Face Match 1:1 against the stored portrait. Verdict in sub-2-seconds.

Pricing (public):
  - Biometric Authentication: $0.10 per authentication (Sessions API)
  - Standalone Face Match 1:1: $0.05 per match (server-to-server)
  - 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.
  - The user has previously enrolled — either via a full KYC session (recommended; the portrait is stored automatically and never leaves Didit) or via a portrait you supply on each re-auth.
  - A workflow_id from the Workflow Builder. The workflow MUST contain LIVENESS, and the session must be opened with workflow_type = "biometric_authentication" (or use a workflow that has FACE_MATCH and pass a portrait_image at session creation).

STEP 1 — Enrolment (one-time, at user sign-up)

  Run a standard KYC session at sign-up. Didit stores the portrait (the face captured during the liveness step) as the user's enrolled template, bound to vendor_data.

  POST https://verification.didit.me/v3/session/
  Body:
    {
      "workflow_id": "<your KYC workflow>",
      "vendor_data": "<your user id>"
    }

  No additional code — once the user passes KYC, their enrolled portrait is ready for every future re-auth.

STEP 2 — Re-authentication (on every sensitive action)

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<your biometric_authentication workflow>",
      "workflow_type": "biometric_authentication",
      "vendor_data": "<the same user id used at enrolment>",
      "callback": "https://<your-app>/2fa/callback",
      "metadata": {
        "reason": "<login_new_device | high_value_txn | settings_change | account_recovery>",
        "amount": "<optional, for large-value transfers>"
      },
      "portrait_image": "<base64 JPEG of the user's enrolment selfie, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; OMIT for liveness-only mode>"
    }

  Response: 201 Created with the hosted session_url. Redirect the user to it. The hosted UI:
    - Opens the front camera
    - Captures one passive frame
    - Runs Liveness + Face Match 1:1 against the user's enrolled portrait
    - Returns the verdict in sub-2-seconds

STEP 3 — Read the signed verdict on the webhook

  Body (excerpted for a passing re-auth):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "liveness": { "status": "Approved", "method": "PASSIVE", "score": 96 },
      "face": {
        "status": "Approved",
        "similarity_score": 0.96
      }
    }

  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.

  Branch your application:
    Approved      → execute the action (sign in, release the transfer, save settings).
    Declined      → block the action, re-prompt with a higher-friction recovery path (support contact / KYC re-do).
    In Review     → hold; route to your operations queue.
    Not Finished  → user abandoned the capture; safe to re-prompt or fall back.

STEP 4 — Alternate path (server-to-server, when you already have the selfie)

  If you already captured the selfie locally (native mobile SDK, in-app camera):

  POST https://verification.didit.me/v3/face-match/
  Headers:
    x-api-key: <your api key>
  Body (multipart/form-data):
    image_a         <the live selfie>
    image_b         <the enrolled portrait>

  Response: similarity_score (0-1), status (Approved | Declined | In Review).

  Use the standalone path only when you trust your client-side capture pipeline. For browser flows or any surface where the SDK is not embedded, always prefer the hosted session — Didit's liveness check is harder to defeat than a raw camera grab.

WEBHOOK EVENT NAMES
  - Sessions: status changes flow through the standard session webhook.
  - Always verify X-Signature-V2 on every payload.

CONSTRAINTS
  - Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
  - Feature enum is UPPERCASE: LIVENESS, FACE_MATCH, ID_VERIFICATION, AML, IP_ANALYSIS, 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.
  - The biometric template is irreversible (a one-way hash) and stored on Didit's infrastructure. You never receive the raw template. Standard data-subject-deletion rules apply.

PRO TIPS
  - Pair Biometric 2FA with Device & IP Analysis (bundled into the 200+ fraud-signal stack). A re-auth that originates from a brand-new device + a brand-new IP should always step up to face.
  - For the strongest possible surface, swap method PASSIVE for ACTIVE_3D — a short motion challenge — on transfers above your operational risk threshold.

Read the docs:
  - https://docs.didit.me/core-technology/biometric-auth/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.
需要更多上下文?请参阅完整的模块文档。docs.didit.me →
合规设计

一键开辟新国家市场。 我们承担繁重的工作。

我们设立当地子公司,获得许可证,进行渗透测试,取得认证,并与每一项新法规保持一致。要在新国家/地区发布验证,只需切换一个开关。220多个国家/地区已上线,每个季度都经过审计和渗透测试——唯一一家被欧盟成员国政府正式认定比面对面验证更安全的身份提供商。
阅读安全与合规档案
欧盟金融沙盒
Tesoro · SEPBLAC · BdE
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
按欧盟标准设计

证明数字

证明数字
  • $0.00
    每次认证,固定费用。在美国,短信 OTP 费用从 $0.05 到 $0.30 不等。
  • <0s
    入门级 Android 上的端到端重新认证 — 从捕获到签名 webhook。
  • 0
    运营商依赖性、SIM 卡交换攻击面或 SS7 攻击向量。
  • 0
    每月免费验证,永久有效。
三个层级,一个价目表

免费开始。按使用量付费。扩展到企业版。

每月永久免费500次验证。生产环境按使用量付费。企业版提供定制合同、数据驻留和SLA(服务水平协议)。
免费

免费

每月$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 原生,并经西班牙金融监管机构正式证明比亲自验证更安全

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

什么是生物识别双因素认证?

使用用户面部进行的第二因素认证,而不是通过网络发送的代码。第一因素是用户所知道的(密码、通行密钥、魔术链接)。第二因素是用户什么——与用户之前注册的肖像进行 1:1 匹配的实时自拍。

它在您的应用程序流程中与短信一次性密码 (OTP) 处于相同位置,但具有不同的成本、安全性和转化率。

为什么短信一次性密码被认为是弱的?

有四种有据可查的攻击类型可以击败它。美国联邦调查局 (FBI) 和英国国家网络安全中心 (NCSC) 都发布了指导意见,建议组织在敏感流程中避免使用短信。

  • SIM 卡互换。 攻击者说服运营商将用户的号码转移到新的 SIM 卡。现在所有代码都发送给攻击者。
  • OTP 网络钓鱼。 攻击者代理合法网站,在用户输入代码时捕获代码,并在其过期前重放。
  • 短信钓鱼工具包。 预构建的工具包运行数千条虚假投递/银行短信,大规模捕获代码。
  • 信令系统 7 (SS7) 拦截。 拥有运营商访问权限的攻击者可以被动地从网络中读取代码。
我的最终用户验证速度有多快?

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

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

用户的面部是如何“注册”的?

大多数团队在用户最初的“了解您的客户 (KYC)”会话期间进行注册。活体检测步骤捕获的肖像会存储并绑定到您的 vendor_data,并用作后续每次重新认证的模板。

如果您在注册时未运行 KYC,则可以针对仅包含 LIVENESS + FACE_MATCH 的 Didit 工作流运行一次性注册会话。这两种路径的成本均为一次 $0.10,并且生成的模板可用于未来的每次认证。

如果用户失败、放弃或过期会发生什么?

每个会话都会落入七种明确状态之一,因此您的代码始终知道该怎么做:

  • 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 + 英国 GDPR — 控制器/处理器分离,发布完整的《数据处理协议》,指定主要监管机构(西班牙 AEPD)。
  • AMLD6 + 欧盟 AML 单一规则手册 — 实时筛选 1,300 多个制裁、政治公众人物和负面媒体列表。
  • eIDAS 2.0 — 与欧盟数字身份钱包对齐;可复用身份就绪。
  • MiCA(加密资产市场) — 适用于加密货币入口、交易所和托管人。
  • DORA — 数字运营弹性法案,欧盟金融服务运营弹性。
  • BIPA、CUBI、华盛顿 HB 1493、CCPA / CPRA — 美国生物识别隐私(伊利诺伊州、德克萨斯州、华盛顿州)和加利福尼亚州消费者隐私。
  • 英国在线安全法案 — 年龄门槛和儿童安全义务。
  • FATF 旅行规则 — 加密货币转账的发起人和受益人数据,与 IVMS-101 互操作。

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

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

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

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

相同的仪表板、相同的计费、相同的按成功付费价格适用于所有三种方式。分步指南请访问 docs.didit.me/integration/integration-prompt

集成是什么样的?

它是一个用于您现有一次性密码回调合同的即插即用组件。

  • 使用 workflow_type: "biometric_authentication" 和您在注册时使用的相同 vendor_data 调用 POST /v3/session/
  • 将用户重定向到返回的 session_url
  • 在信任正文之前,验证 webhook 上的 X-Signature-V2 标头。
  • 根据 status 进行分支 — Approved(执行操作)、Declined(阻止)、In Review(排队)、Not Finished(重新提示)。

大多数团队在一个周末内将短信替换为面部识别。完整的可供代理粘贴的提示在上方;Model Context Protocol (MCP) 服务器支持两种界面。

如果用户的面部发生变化(发型、胡须、眼镜)怎么办?

人脸匹配 1:1 对适度的外观变化(面部毛发、眼镜、发色、光照)具有鲁棒性。每次认证返回的相似度分数反映了模型的置信度。

对于超出自动批准阈值的用户(典型情况:体重剧烈变化、手术、多年老化),验证结果返回 In Review 并路由到您的操作队列。标准恢复路径是重新注册会话——一次 KYC 调用刷新肖像,下一次认证使用新模板。

这是否符合欧盟 PSD2 强客户认证要求?

是的,对于固有性类别。欧洲银行管理局关于强客户认证的监管技术标准承认生物识别属性(您是什么)作为有效的第二因素,当与另外两个类别(知识或拥有)之一配对时。

对于完整的 PSD2 强客户认证流程,将生物识别双因素认证与用户的密码(知识)或设备绑定的会话(拥有)配对。签名的 Didit 验证结果是固有性因素的审计证据。

身份和欺诈基础设施。

一个用于 KYC、KYB、交易监控和钱包筛选的 API。5 分钟内即可集成。

让 AI 总结此页面