跳到主要内容
Didit 融资200万美元并加入 Y Combinator (W26)
Didit
NFC 电子护照入驻

通过轻触电子护照芯片获得银行级身份。

用户将护照轻触手机。政府签名经过验证,芯片肖像优于自拍。五秒内达到银行级标准。每次芯片读取 $0.15。

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

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

一张电影般的深色抽象 NFC 电子护照插图——四个漂浮的半透明玻璃面板在纯黑色背景上,由一条发光的 Didit 蓝色线条穿过。每个面板都带有一个小的抽象图案(护照书轮廓、NFC 弧线、指纹环、带触点的芯片矩形)。

受监管平台应尽的义务

读取芯片。验证签名。击败文档扫描。

电子护照芯片上的数据由签发国进行加密签名。 验证该签名链——并将自拍与高分辨率芯片肖像进行匹配——可为您提供银行级的文档真实性保证。 Didit 的 NFC 流程在五秒内运行,在 NFC 不可用时回退到 OCR,并提供适用于 iOS、Android、React Native 和 Flutter 的原生 SDK。

工作原理

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

  1. 步骤 01

    创建工作流程

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

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您收到结果

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

为银行级构建 · 基础设施定价

五项检查。每位入职用户$0.50

NFC 芯片读取通过用户手机上的一个额外步骤,将入驻从文档扫描级别提升到银行级别。当 NFC 不可用时,工作流程会自动回退到 MRZ + OCR。
01 · NFC 芯片读取

轻触护照。读取芯片。

用户读取视觉页面(MRZ 派生芯片密钥),将文档轻触手机,芯片返回数据组 1(个人数据)、数据组 2(高分辨率肖像)、数据组 11(个人详细信息)。每次芯片读取 $0.15。端到端 2-4 秒。
NFC 验证模块
02 · ICAO 签名链

政府签名,已验证。

被动认证通过 ICAO 公钥目录根据国家签名 CA 验证芯片的文档签名证书。芯片认证和主动认证在支持的情况下运行。符合 ICAO Doc 9303 标准。
NFC 验证模块
03 · 人脸匹配芯片肖像

自拍与芯片肖像匹配。

芯片上的 DG2 肖像比视觉页面上打印的照片分辨率高得多——将其与实时自拍进行匹配会显著提高准确性。余弦相似度 ≥ 0.85 → 通过,≥ 0.92 → 银行级。每次匹配 $0.05。
人脸匹配 1:1 模块
04 · 被动活体检测

自拍防欺骗。

iBeta 1 级演示攻击检测 (PAD) 认证。可抵御打印照片、屏幕重放、硅胶面具和深度伪造——只需一张静态自拍,无需挑战提示。每次检查 $0.10。
被动活体检测模块
05 · AML 筛选

筛选芯片验证的身份。

制裁、政治公众人物 (PEP)、1,300 多个列表中的负面媒体——每日更新,支持 14 种语言。命中会自动开启案例并在批准前阻止入职。
AML 筛选模块
06 · 回退到 MRZ + OCR

NFC 不可用时的优雅回退。

没有 NFC 的手机、没有芯片的证件或 NFC 权限被拒绝——相同的工作流程会回退到 ID 验证 ($0.15),在视觉页面上使用高精度 MRZ + OCR。相同的托管 URL、相同的 webhook、相同的状态。
ID 验证模块
集成

一个会话。原生 SDK。几秒内达到银行级。

打开 NFC 会话。SDK 驱动芯片读取。读取签名判决。
POST /v3/session/NFC
$ 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_nfc_onboarding",
    "vendor_data": "user-42",
    "expected_country": "ES"
  }'
201已创建在原生 SDK 中打开 URL · NFC 轻触启动。
iOS / Android / React Native / Flutter SDK 都支持 NFC。文档 →
GET /v3/session/{id}/decision/决定
$ curl https://verification.didit.me/v3/session/$SESSION/decision/ \
  -H "x-api-key: $DIDIT_API_KEY"

# Decision payload (excerpted):
{ "nfc_verification": { "passive_authentication": "Approved" },
  "face": { "matched_against": "chip_portrait", "similarity_score": 0.94 } }
200OKmatched_against chip_portrait → eIDAS 级保证。
当 NFC 不可用时,工作流程会回退到 MRZ + OCR。文档 →
代理就绪集成

一键部署 NFC 电子护照入驻。

粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的技术栈。代理会构建 NFC 工作流程,连接原生 SDK,在 NFC 不可用时回退到 MRZ + OCR,并读取已签名的 webhook。
didit-integration-prompt.md
You are integrating Didit's NFC e-passport reading into a regulated onboarding flow (bank, fintech, crypto exchange, eIDAS-grade public service). NFC chip reading lifts onboarding from document-scan-grade to bank-grade in one extra step on the user's phone.

Five obligations on every onboarding:

  1. Read the e-passport / e-ID chip via NFC — DG1 (MRZ), DG2 (portrait), DG11 (personal details).
  2. Verify the government signature chain — Passive Authentication (PA) against the ICAO Public Key Directory, Chip Authentication (CA), Active Authentication (AA).
  3. Match the live selfie to the high-resolution DG2 portrait extracted from the chip.
  4. Run Passive Liveness on the selfie — iBeta Level 1 anti-spoof certified, defeats printed photos, screen replays, masks, and deepfakes.
  5. Screen the chip-verified identity against sanctions, Politically Exposed Persons (PEP), and adverse-media lists.

Fallback automatically when NFC is unavailable (no chip, NFC blocked by iOS or by user permission, chip damaged): the workflow drops to high-accuracy MRZ + OCR on the visual page using ID Verification.

Pricing (verified live):
  - NFC Reading: $0.15 per chip read
  - ID Verification (fallback or always-on belt-and-braces): $0.15 per check
  - Passive Liveness: $0.10 per check
  - Face Match 1:1: $0.05 per match
  - AML Screening: $0.20 per check
  - Bundle (NFC + Liveness + Face Match + AML): $0.50 per onboarded user when NFC succeeds; $0.50 also when the workflow falls back to ID Verification
  - First 500 KYC 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.
  - A workflow_id from the Workflow Builder bundling NFC Reading + ID Verification (fallback) + Passive Liveness + Face Match 1:1 + AML Screening.
  - The Didit hosted flow or the native SDKs (web SDK, iOS, Android, React Native, Flutter) — NFC chip reading requires the native NFC stack, so plain web-only deployments fall back to MRZ + OCR automatically.

STEP 1 — Create the NFC session

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<your nfc onboarding workflow id>",
      "vendor_data": "<your user id, max 256 chars>",
      "callback_url": "https://<your-app>/onboarding/kyc/callback",
      "expected_country": "ES",
      "metadata": {
        "channel": "native_ios",
        "purpose": "high_assurance_onboarding"
      }
    }

  Response: 201 Created with the hosted session URL. Open it via the native SDK (iOS NFC requires CoreNFC entitlement) or in the hosted webview; the user taps the e-passport against the phone's NFC reader, the chip data is read in 2-4 seconds.

STEP 2 — The chip-read sequence (handled by the SDK / hosted flow)

  Inside the hosted flow, in this order:
    a. The user presents the data page so the device camera reads the Machine-Readable Zone (MRZ). The MRZ provides the BAC / PACE key needed to handshake with the chip.
    b. The user taps the passport to the phone. PACE (preferred) or BAC handshake establishes a secure session with the chip.
    c. The chip returns Data Group 1 (MRZ data — name, DOB, expiry, document number), Data Group 2 (the high-resolution portrait), and Data Group 11 (personal details where available).
    d. Passive Authentication verifies the Document Signer Certificate against the country's Country Signing CA via the ICAO Public Key Directory. Chip Authentication and Active Authentication run if supported by the issuing country.
    e. The user takes a single selfie (Passive Liveness, no challenge prompts).
    f. The selfie is matched 1:1 against the DG2 portrait.

STEP 3 — Read the signed webhook on completion

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

  Body (excerpted):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "nfc_verification": {
        "status": "Approved",
        "passive_authentication": "Approved",
        "chip_authentication": "Approved",
        "active_authentication": "Approved",
        "data_groups_read": [1, 2, 11]
      },
      "id_verification": { "status": "Approved", "document_type": "passport", "country_code": "ES" },
      "liveness": { "status": "Approved" },
      "face": { "status": "Approved", "similarity_score": 0.94, "matched_against": "chip_portrait" },
      "aml": { "status": "Approved", "hits": [] }
    }

  Session 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.

STEP 4 — Decide

  Branch logic:
    Approved    → onboard the user with bank-grade assurance.
    In Review   → hold the account, wait for analyst webhook update.
    Declined    → refuse onboarding, log the decline reason.
    Resubmitted → user updated something; re-read the decision.

  When face.matched_against === "chip_portrait", you can mark the identity as eIDAS High-grade (Substantial / High depending on your local regulator's reading). When it falls back to "id_document_portrait" (the visual page), it's still bank-grade by document-scan standards but not chip-anchored.

STEP 5 — Fallback paths

  iPhones below iPhone 7, or any phone with NFC disabled, or a document without a chip (pre-2014 in some countries) → the workflow surfaces "NFC unavailable" and routes to the ID Verification + MRZ + OCR path. Same hosted URL, same webhook, same statuses. The fallback is configured in the Workflow Builder, not in your code.

  Some Android devices won't read every chip due to NFC antenna placement — Didit's iOS / Android SDKs surface a graceful retry hint before failing over to OCR.

STEP 6 — Ongoing monitoring

  Enable Ongoing AML at $0.07/user/year to keep the identity fresh. NFC re-reads aren't required for ongoing — the chip data was captured at onboarding and the binding is permanent for the document's validity period.

WEBHOOK EVENT NAMES
  - status.updated — session status changed.
  - data.updated — session data changed (resubmission, NFC retry, ongoing AML hit).

  Verify X-Signature-V2 on every payload. The webhook secret is per-environment — sandbox key is separate from production.

CONSTRAINTS
  - Session statuses use Title Case With Spaces (Approved, In Review).
  - NFC chip reading requires the native NFC stack — iOS, Android, React Native, Flutter SDKs handle it; pure web falls back to MRZ + OCR.
  - The chip portrait (DG2) is far higher-resolution than the visual page — matching the selfie to it is meaningfully more accurate than matching to a phone-camera-captured ID photo.
  - Document Signer Certificate trust is anchored to the ICAO Public Key Directory; some countries (eg. small island states) do not publish to the PKD and will return a Passive Authentication warning rather than Approved.
  - Default record retention is 5 years post-relationship per the EU AML package.

Read the docs:
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/sessions-api/retrieve-session
  - https://docs.didit.me/core-technology/nfc-verification/overview
  - https://docs.didit.me/core-technology/face-match/overview
  - 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
    每次 NFC 芯片读取 — 政府签名已验证。
  • 2-4s
    从轻触到入门级 Android 上的判决的芯片读取持续时间。
  • <0s
    自拍人脸与芯片肖像匹配。
  • 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

常见问题

身份和欺诈基础设施。

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

让 AI 总结此页面