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

对任何用户进行年龄验证。
无需他们提供证件。

通过自拍估算用户年龄, 无需上传证件,无摩擦。两秒内完成,±3.5 岁准确度,同一采集过程通过 iBeta 认证的活体检测。每次检查 $0.10,每月 500 次免费。

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

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

Didit 年龄估算, 通过单张自拍进行自适应年龄检查。

设备端 2 秒内完成

毫秒级估算年龄。
无需证件。

设备端人脸分析可在两秒内返回年龄估算结果, 无需身份证照片,最大限度减少个人数据。基于通过 iBeta 一级演示攻击检测认证的相同引擎构建。

工作原理

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

  1. 步骤 01

    创建工作流

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

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您接收结果

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

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

六项功能。一个功能标志。AGE_ESTIMATION

以下所有功能都集成在同一个模块中。没有升级套餐,没有独立SKU,也没有额外附加费用。您可以根据工作流开启这些功能,或在API调用中直接传递。
01 · 仅自拍流程

无需上传ID即可验证年龄。

针对受年龄限制的商业场景(如成人内容、酒精配送、在线赌博)提供最小数据量的解决方案。一次被动自拍即可覆盖绝大多数明确通过和明确拒绝的情况,与完整的ID上传相比,将用户流失率降低了一个数量级。符合英国《在线安全法案》和加利福尼亚州的《适龄法案》。
02 · 准确性

所有年龄段误差均在±3.5年内。

整体平均误差为3.5年, 89%的估算结果在±5年内,76%在±3年内。我们公布了各年龄段的表现数据, 18岁以下1.5年,18-25岁2.8年,41-60岁3.9年, 因此您可以根据真实数据而非供应商的形容词来设定阈值。
03 · 人口统计学公平性

在数百万张人脸数据上训练。涵盖所有人口统计学特征。

偏差是年龄估算模型最大的失效模式,也是监管机构关注的重点。我们的模型在年龄、种族、性别和光照条件均衡的语料库上进行训练,并公布了各年龄段的误差,而非平均化处理。持续重新训练以应对人口结构变化。
04 · 可配置阈值

根据工作流和国家/地区调整策略。

可为每个工作流设置拒绝阈值(默认为18岁)和活体检测下限。在此基础上叠加各国规则, 每个国家的最小/最大年龄,以及在重要地区(密西西比州21岁,阿拉巴马州19岁,美国默认18岁)的州级覆盖。一键应用全球法定成年年龄作为基准;然后调整例外情况。
05 · 自适应ID回退

临界情况自动转入文档检查。

明确通过和明确拒绝的情况仅通过自拍完成。临界估算, 接近您阈值的不确定少数情况, 会自动触发我们的自适应年龄验证流程,该流程由ID步骤的各国规则管理。大多数用户通过自拍完成;只有当计算表明需要时,才会触发文档检查。每次ID验证回退收费$0.15。
06 · 活体检测基础

一次捕获。两个信号。与活体检测使用相同引擎。

年龄估算基于我们的iBeta一级PAD(演示攻击检测)活体检测流水线运行, 相同的自拍会返回真人判断和年龄范围。在年龄模型运行之前,即可抵御深度伪造、打印照片、屏幕回放和硅胶面具。在活体检测工作流中开启此功能,一次捕获即可点亮两个字段。
集成

两个端点。相同的JSON。相同的价格。

当您希望我们的托管UI处理自拍(以及针对临界情况的自适应ID回退)时,请创建一个会话。如果您已经有自拍,则直接调用独立端点。两种方式的年龄判断模块相同。
POST /v3/session/托管UI
$ 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_adaptive",
    "vendor_data": "user-42"
  }'
201已创建{ "session_url": "verify.didit.me/..." }
我们托管捕获 UI。这是 自适应身份验证 回退的必要条件。文档 →
POST /v3/age-estimation/服务器到服务器
$ curl -X POST https://verification.didit.me/v3/age-estimation/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -F "user_image=@selfie.jpg" \
  -F "age_estimation_decline_threshold=18"
200OK{ "status": "Approved", "age_estimation": 27.33 }
您掌控捕获过程。我们直接返回年龄。文档 →
代理就绪集成

一个提示,即可上线年龄估算功能。

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

You are integrating Didit's Age Estimation module into <my_stack>. Follow
these steps exactly. 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. Two integration paths — pick one

### Path A — Workflow Builder (hosted UI)
Best when you want Didit to handle the camera, framing, low-light
fallback, mobile handoff, and accessibility for you. Required if you want
Adaptive Age Verification (auto-fall-back to ID for borderline cases).

1. Create a workflow that contains the AGE_ESTIMATION feature:
   POST https://verification.didit.me/v3/workflows/
   Authorization header:  x-api-key: <your-api-key>
   Body: workflow_label, features array with the single entry
         { feature: "AGE_ESTIMATION" }   (UPPERCASE — strict enum)
   Optional config:
     - age_estimation_decline_threshold (default 18)
     - face_liveness_score_decline_threshold (default 30)
     - adaptive_id_verification (when true, borderline cases trigger ID
       verification fallback governed by per-country age restrictions on
       the ID Verification step)
     - per_country_age_restrictions (map of country -> min / max age,
       with optional state-level overrides)

2. Create a verification session for an end user:
   POST https://verification.didit.me/v3/session/
   Body: workflow_id (from step 1), vendor_data (your own user id).
   Response: session_url — redirect the user to it.

3. Listen for webhook callbacks (see "Webhooks" below).

### Path B — Standalone server-to-server API
Best when you already have a selfie image (mobile SDK capture, native
onboarding app, reseller pipeline) and only need a numeric age estimate
plus passive-liveness verdict on it. No adaptive ID fallback on this
path — wire that yourself if you need it.

POST https://verification.didit.me/v3/age-estimation/
Content-Type: multipart/form-data
Body fields:
  - user_image                              (required, file — single selfie)
  - age_estimation_decline_threshold        (optional integer 0-100, default 18)
  - face_liveness_score_decline_threshold   (optional integer 0-100, default 30)
  - rotate_image                            (optional boolean, default false)
  - save_api_request                        (optional boolean, default true)
  - vendor_data                             (optional string, your user id)

Response: JSON with request_id, age_estimation block, created_at.

## 3. Webhooks (Path A only — Path B returns synchronously)
- Register a webhook destination once via
  POST https://verification.didit.me/v3/webhook/destinations/
  Body: url, subscribed_events: ["session.verified", "session.review_started",
                                  "session.declined"]
- 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.

## 4. Reading the report

### Path A (session) — age_estimation lives on the liveness object
The liveness object on the session report includes age_estimation as a
number-of-years field on the same selfie capture:
- liveness.status           "Approved" | "Declined" | "In Review" | "Not Finished"
- liveness.method           "PASSIVE" | "FLASHING" | "ACTIVE_3D"
- liveness.score            number 0-100  (normalized liveness score)
- liveness.reference_image  signed URL to the captured selfie (60-minute TTL)
- liveness.age_estimation   estimated age in years (e.g. 24.3)
- liveness.warnings         Array of risk objects (see below)

### Path B (standalone) — top-level age_estimation block
- request_id                          uuid
- age_estimation.status               "Approved" | "Declined" | "In Review"
- age_estimation.method               "PASSIVE"
- age_estimation.score                number 0-100  (passive-liveness score)
- age_estimation.age_estimation       estimated age in years (e.g. 27.33)
- age_estimation.user_image.entities  array of detected faces, each with
                                       age, bbox, confidence, gender
- age_estimation.user_image.best_angle integer
- age_estimation.face_quality         0-100 face image quality score
- age_estimation.face_luminance       0-100 face luminance score
- age_estimation.warnings             Array of risk objects (see below)
- created_at                          ISO8601

### Warning catalog (both paths)
- AGE_BELOW_MINIMUM            estimated age below the configured threshold
- AGE_NOT_DETECTED             unable to estimate age (quality / lighting)
- LOW_LIVENESS_SCORE           passive-liveness score below threshold
- NO_FACE_DETECTED             no face in the capture
- LIVENESS_FACE_ATTACK         presentation attack suspected
- FACE_IN_BLOCKLIST            face matches an entry in your blocklist
- POSSIBLE_DUPLICATED_FACE     face matches a previously verified face

## 5. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: AGE_ESTIMATION, LIVENESS, ID_VERIFICATION,
  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).
- Always verify webhook signatures before trusting payload data.
- Status casing matches exactly: "Approved", "Declined", "In Review",
  "Not Finished" (title-cased, space-separated).
- Reference image / video URLs are signed and expire in 60 minutes —
  store only the verdict + score, never the biometric media.

## 6. Pricing reference (public)
- AGE_ESTIMATION standalone or bundled inside a workflow: $0.10 per check
- Adaptive fallback to ID Verification (when triggered): $0.15 per check
- Bundled in a full KYC workflow alongside Liveness + ID + IP: $0.33 per session
- 500 free verifications every month, forever, on every account.

## 7. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test images: deterministic synthetic faces returned in sandbox
  (predictable estimated age band; trigger AGE_BELOW_MINIMUM by sending
  the canonical "minor" test image).
- Switch to live: flip the application environment toggle in console.

When in doubt: https://docs.didit.me/core-technology/age-estimation/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
原生符合欧盟标准

数据证明

数据证明
  • ±3.5y
    所有年龄段的平均误差。
  • 0%
    估算结果与真实年龄相差 ±5 年以内。
  • <0s
    每会话端到端推理,边缘服务。
  • $0.00
    每次独立的年龄估算检查。
三个层级,一份价目表

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

每月 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 基础设施从每个会话中动态学习,并每天都在改进。

什么是年龄估算?

年龄估算通过一张自拍估算用户的年龄, 被动式,无需身份证明文件,无需动作挑战。当您需要进行年龄门控(酒精、赌博、成人内容、成熟平台)但对于大多数用户来说获取完整的身份证明文件过于繁琐时,此功能非常有用。

总体平均绝对误差 (MAE) ±3.5 。独立应用程序编程接口 (API) 每次检查费用为 $0.10,捆绑在工作流中价格相同。符合英国在线安全法和欧盟年龄门控预期。完整参考:docs.didit.me/core-technology/age-estimation/overview

年龄估算费用是多少?
独立 POST /v3/age-estimation/ 端点每次检查费用为 $0.10,或者与活体检测捆绑在工作流中时也为 $0.10自适应年龄验证回退(当临界情况自动触发身份证明文件上传时)按常规 $0.15 的身份证明文件验证费率计费, 仅针对少数临界情况,而非每个会话。公开定价:didit.me/pricing
最终用户的验证速度有多快?

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

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

响应格式是什么?

会话应用程序编程接口 (API) 上,年龄估算位于 liveness 对象中的 age_estimation, 相同的自拍捕获会产生两个信号(一次捕获,两个输出)。

独立应用程序编程接口 (API) (POST /v3/age-estimation/) 上,响应包含一个顶层 age_estimation 块:

  • status, ApprovedDeclinedIn ReviewNot Finished
  • method, PASSIVE
  • scoreage_estimation(估算年龄,单位为年)、face_qualityface_luminancewarnings
  • user_image.entities[], 每个面部的年龄、边界框、置信度、性别。
如果用户失败、放弃或过期,会发生什么?

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

  • 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 总结此页面