跳到主要内容
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
年龄验证

无需上传证件即可进行年龄门控。通过自拍验证。仅在必要时回退。

通过被动自拍估算年龄,费用为 $0.10。仅对临界情况触发文档回退。支持英国《在线安全法》和法国 SREN。每月免费500次验证。

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

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

英国 Ofcom · 法国 SREN · 欧盟 DSA

1秒内完成年龄验证。仅在必要时才需提供证件。

强制每位访客上传文档会使完成率下降25-40%。 Didit 的自适应流程首先运行年龄估算,仅将临界情况 路由到文档回退。自拍验证结果不到2秒,每次检查 $0.10, 每位用户的综合成本接近 $0.115。每月免费500次验证。

工作原理

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

  1. 步骤 01

    创建工作流

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

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您接收结果

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

专为年龄验证而生 · 基础设施级定价

六大功能。每用户平均 $0.115

一个自适应工作流即可运行自拍优先的验证流程,仅对临界少数进行升级验证。您可以根据工作流调整临界范围,叠加各国年龄规则,Didit 会自动完成路由。
01 · 仅自拍初审

通过一张被动自拍估算年龄。

单帧,无需动作挑战,无需上传文档。入门级安卓设备上,2 秒内出结果,每次检查 $0.10。这是对英国《在线安全法》和法国 SREN 的最低数据响应。
年龄估算模块
02 · 临界范围路由

调整范围。Didit 负责其余路由。

为每个工作流设置临界范围。明确通过和明确失败的验证在自拍阶段完成;临界范围内的用户则升级到文档回退。在无代码工作流构建器中编辑切入点,无需重新部署。
工作流编排器
03 · 文档回退

14,000+ 种文档。220+ 个国家/地区。

只有临界范围内的用户才需要上传文档。支持护照、国民身份证、驾驶执照、居留许可,并提供完整的光学字符识别 (OCR) 和机器可读区 (MRZ) 解析。约 10% 的典型流量会触及此步骤。
身份验证模块
+211
04 · 各国年龄规则

美国 21 岁可饮酒。欧盟 18 岁。韩国 19 岁。

设置每个国家的最低年龄,并在必要时提供州级覆盖(密西西比州 21 岁,阿拉巴马州 19 岁,美国默认 18 岁)。文档回退会自动根据签发国的规则验证出生日期。
国家/地区参考
05 · 符合监管要求

英国 Ofcom、法国 CNIL、欧盟 DSA、德国 JuSchG。

专为高效的年龄保障标准而构建。西班牙 Tesoro 和 SEPBLAC 已正式证明 Didit 的远程流程比现场验证更安全, 这是目前欧盟成员国政府唯一此类认证。审计包包括 iBeta Level 1 PAD、ISO/IEC 27001、SOC 2 Type 1。
合规文档
06 · 公开定价

$0.10 selfie. $0.15 document. Only when needed.

$0.10 的年龄估算覆盖了约 90% 通过自拍验证的用户。文档检查费用为 $0.15,仅针对约 10% 的临界少数。每用户平均成本接近 $0.115。每月免费提供 500 次验证,永久有效。
查看定价
集成

一个工作流。一个会话。一个 Webhook。

针对自适应工作流开启一个会话。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_age_gate_uk_fr",
    "vendor_data": "user-42",
    "callback": "https://app/age-gate/cb"
  }'
201创建时间{ "session_url": "verify.didit.me/..." }
工作流在临界情况下链式调用 AGE_ESTIMATIONID_VERIFICATION文档 →
GET /v3/session/{sessionId}/decision/验证结果
$ curl https://verification.didit.me/v3/session/<id>/decision/ \
  -H "x-api-key: $DIDIT_API_KEY"

# Returns the path taken
{
  "status": "Approved",
  "liveness": { "age_estimation": 27.3 }
}
200OK状态:已批准 · 审核中 · 已拒绝 · 未完成
签名 webhook 具有相同结构。请先验证 X-Signature-V2文档 →
代理就绪集成

一键集成年龄验证功能。

将其粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的技术栈。代理将构建自适应工作流、开启会话、连接 Webhook,并在五分钟内完成部署。
didit-integration-prompt.md
You are integrating Didit's Age Verification recipe into <my_stack>. Selfie-first age estimation with an adaptive document fallback for the borderline tail. One Didit workflow. Two real endpoints.

  1. Verify age on a selfie. ONE call to the Sessions API runs Age Estimation + Passive Liveness on the same passive frame.
  2. Fall back to a document check ONLY when the estimate sits in the borderline band you define. Same Sessions API workflow handles the fallback automatically.

Bundle pricing (public):
  - Age Estimation: $0.10 per check (Sessions API or standalone)
  - ID Verification fallback: $0.15 per check, only when triggered
  - Typical blended cost lands near $0.115 per user (~90% finish on the selfie, ~10% touch the document fallback)
  - 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 and your webhook secret.
  - A workflow_id from the Workflow Builder. The workflow must contain the AGE_ESTIMATION feature, and (recommended) the ID_VERIFICATION feature with adaptive_id_verification enabled so the borderline tail routes through automatically.

STEP 1 — Build the adaptive workflow once

  POST https://verification.didit.me/v3/workflows/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_label": "age_gate_uk_fr",
      "features": [
        { "feature": "AGE_ESTIMATION" },
        { "feature": "ID_VERIFICATION" }
      ],
      "age_estimation_decline_threshold": 18,
      "face_liveness_score_decline_threshold": 30,
      "adaptive_id_verification": true
    }

  Notes:
    - "AGE_ESTIMATION" and "ID_VERIFICATION" are exact, case-sensitive feature names.
    - age_estimation_decline_threshold defaults to 18; set 21 for US alcohol, 19 for South Korea, etc.
    - adaptive_id_verification = true tells Didit to invoke the document fallback automatically when the estimate sits inside the borderline band.

STEP 2 — Open an age-verification 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>/age-gate/callback",
      "metadata": {
        "purpose": "age_gate",
        "surface": "<the page or feature being gated>"
      }
    }

  Response: 201 Created with the hosted session_url. Redirect the user to it. The hosted flow opens the front camera, captures one passive frame, runs Age Estimation + Passive Liveness in sub-2-seconds, and either returns a verdict or routes the user into the document fallback automatically.

STEP 3 — Read the signed webhook on session completion

  Didit POSTs to your callback. Session statuses are exact Title Case With Spaces.

  Body (excerpted for an Age Estimation only finish):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "liveness": {
        "status": "Approved",
        "method": "PASSIVE",
        "score": 92,
        "age_estimation": 27.3,
        "warnings": []
      }
    }

  Body (excerpted when the document fallback fired):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "liveness": { "status": "Approved", "age_estimation": 17.9, "warnings": [{ "code": "AGE_NOT_DETECTED" }] },
      "id_verification": {
        "status": "Approved",
        "date_of_birth": "1998-03-21",
        "age": 27,
        "document_type": "Passport",
        "issuing_state": "GBR"
      }
    }

  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.

  Warning catalog:
    - AGE_BELOW_MINIMUM        estimated or computed age below the threshold
    - AGE_NOT_DETECTED         unable to estimate age (lighting / quality)
    - LOW_LIVENESS_SCORE       passive-liveness score below threshold
    - NO_FACE_DETECTED         no face in the capture
    - LIVENESS_FACE_ATTACK     presentation attack suspected
    - POSSIBLE_DUPLICATED_FACE same face previously verified

STEP 4 — Branch your surface on the final verdict

  Approved      → grant access to the gated surface.
  Declined      → render the regulator-required age-gate notice.
  In Review     → hold; an analyst case is open in the Business Console.
  Not Finished  → user abandoned; safe to re-prompt.

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

  POST https://verification.didit.me/v3/age-estimation/
  Headers:
    x-api-key: <your api key>
  Body (multipart/form-data):
    user_image                              <single passive selfie>
    age_estimation_decline_threshold        18    (optional, integer)
    face_liveness_score_decline_threshold   30    (optional, integer)

  Branch on the borderline band yourself, then optionally call:

  POST https://verification.didit.me/v3/id-verification/
  Body (multipart/form-data):
    front_image  <required>
    back_image   <optional>
    vendor_data  <optional, your user id>

  This path is useful for native onboarding apps that capture the selfie locally.

CONSTRAINTS
  - Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
  - Feature enum is UPPERCASE: AGE_ESTIMATION, ID_VERIFICATION, LIVENESS, FACE_MATCH, AML, IP_ANALYSIS.
  - 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.
  - Reference image URLs are signed and expire in 60 minutes. Store only the verdict + score; never the biometric media unless retention is explicitly enabled for fraud defence.
  - 200+ fraud signals are evaluated on every session at no extra cost — surface the score via the session decision payload, do not re-query.

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

Read the docs:
  - https://docs.didit.me/core-technology/age-estimation/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.
合规性设计

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

我们负责设立当地子公司、获取许可证、进行渗透测试、获得认证,并与所有新法规保持一致。要在新国家/地区发布验证服务,只需轻点开关。已覆盖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
原生符合欧盟标准

数据证明

数据证明
  • $0.000
    每位用户的综合成本, 包括自拍和 10% 的临界文档回退。
  • ~90%
    用户仅通过被动自拍即可完成验证, 无需上传证件。
  • <0s
    入门级安卓设备上每次会话返回的年龄段。
  • 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 原生,并经西班牙金融监管机构正式认证,比亲自验证更安全

其底层支持:14,000 多种文档类型,支持 48 种以上语言1,000 多个数据源,以及每次会话的 200 多个欺诈信号。Didit 基础设施通过每次会话动态学习,并日益完善。

“年龄验证”究竟需要什么?

大多数监管机构要求对成人内容、在线赌博、酒精以及有时社交平台进行高效的年龄验证。这意味着验证方法必须足够好,以至于普通未成年人无法轻易通过, 而不是一个自我声明出生日期的复选框。

几乎所有监管机构都接受的两种方法是年龄估算(通过模型对自拍照进行评分)和文件年龄验证(用户上传护照或身份证)。大多数团队会同时提供这两种方法,其中估算步骤作为更便宜、摩擦更小的自拍路径的门槛。

2026年,哪些法律推动了年龄门槛的设置?

推动团队采用新规则的两项法律是英国在线安全法案(Ofcom于2025年7月开始对任何允许英国用户接触色情内容的平台强制执行)和法国SREN法案(CNIL + Arcom规则对法国境内的网站生效)。

此外,欧盟数字服务法案要求超大型平台降低对未成年人的风险,美国几个州(犹他州、德克萨斯州、路易斯安那州)也针对成人内容制定了年龄门槛法规。它们都接受相同的工具包:自拍年龄估算、政府身份文件上传或第三方身份钱包。

我的终端用户验证速度有多快?

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

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

为什么将年龄估算与文件回退结合使用?

有两个原因。首先,监管机构关注的是极端情况,而不是中位数。模型在17岁和19岁之间的统计数据可能很好,但监管机构希望您对看起来像20岁的16岁青少年有信心。文件检查是您在这些情况下的证据。

其次,转化率。强制每个访客上传护照会使完成率下降25-40%。自拍优先、文件回退的流程通常会将90%的用户引导到更便宜、无摩擦的路径,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 + UK GDPR, 控制者/处理者分离,发布完整的《数据处理协议》,指定主要监管机构(西班牙AEPD)。
  • AMLD6 + EU AML单一规则手册, 实时筛选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

我应该向监管机构展示哪些证明?

Didit默认提供英国Ofcom和CNIL在供应商问卷中最常要求查看的认证:

  • 被动活体检测模块的iBeta Level 1 PAD(NIST参考的防欺骗标准)。
  • ISO/IEC 27001信息安全认证。
  • 平台的SOC 2 Type 1
  • 西班牙Tesoro / SEPBLAC的正式证明,表明Didit的远程流程比亲自验证更安全, 目前是欧盟成员国政府对任何身份提供商的唯一此类证明。

所有四项都包含在审计包中,可随时附在平台的透明度通知中。

您如何处理用户的生物识别数据?

默认数据最小化。 自拍在内存中处理,年龄判断和活体分数被持久化,原始图像被删除,除非明确启用保留以进行欺诈防御。保留窗口是按工作流和区域划分的,终端用户可以通过标准数据主体请求路径请求删除。

我们绝不会出售、共享或使用客户的生物识别数据训练第三方模型。完整的数据处理条款请访问didit.me/terms/business。

如果用户未能通过年龄检查怎么办?

自拍会返回三种结果之一:

  • Approved, 明显高于阈值。继续。
  • Declined, 明显低于阈值。阻止访问;显示监管机构要求的年龄门槛通知。
  • In Review, 临界值、活体检测低或未检测到人脸。流程自动路由到文件回退。用户上传护照或身份证;Didit在两秒内返回从文件中读取的出生日期和判断结果。

每次状态更改都会触发一个签名的webhook,因此您只需根据最新判断结果渲染门槛,而不是猜测。

身份与欺诈基础设施。

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

让 AI 总结此页面