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

使用用户已有的
eID 验证身份。

使用五种国家级 eID 进行 eID 验证,已在七个国家上线:MitID、BankID Sweden、Finnish Trust Network、Smart-ID 和 Mobile-ID。每种 eID 都会返回经签名的姓名、出生日期和方案标识符,例如瑞典个人识别号 personnummer(MitID 返回的是假名化标识符)。没有 eID 的用户可在同一工作流程中通过证件核验完成验证,覆盖 220 多个国家和地区。

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

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

eID 登录为您带来什么

由发行方签名,
由 Didit 验证。

eID(电子身份识别)登录用方案签名的数据取代了文件照片。Didit 检查签名并将结果记录在会话中。

  1. 01由方案签名的全名和出生日期
  2. 02方案标识符:personnummer、个人身份代码或个人代码(MitID 返回假名化标识符)
  3. 03方案声明的保障级别
  4. 04对每个结果进行签名检查:signature_valid
  5. 05无需文件照片,无需与 Didit 共享 PIN 码,仅在登录完成时收费
工作原理

从国家 eID 到验证客户,仅需四步。

步骤 01 / 04

按国家选择 eID

在工作流程构建器中,打开“ID 验证”步骤,选择一个国家,并在“接受的钱包”下勾选您接受的 eID。然后选择登录失败时的处理方式:回退到文件捕获,或拒绝。

eID 验证 · 六部分

国家 eID 和文件验证,在一个工作流程中完成。

每一行都是同一工作流程的一部分。根据您的入职需求,逐个国家开启所需功能,并保持一个集成。
01 · 上线的国家 eID

五种国家 eID,已在七个国家上线。

丹麦的 MitID、瑞典的 BankID、芬兰的 Finnish Trust Network、爱沙尼亚、拉脱维亚、立陶宛和比利时的 Smart-ID,以及爱沙尼亚和立陶宛的 Mobile-ID。每种 eID 都返回全名、出生日期和方案自身的标识符:瑞典的 personnummer、芬兰的个人身份代码、波罗的海的个人代码,或 MitID 的假名 CPR 别名。目前没有 eID 共享地址或肖像。
查看数字身份钱包
02 · 其他用户的文档验证

一个工作流程,为其他用户提供文档验证途径。

并非所有人都拥有 eID,许多客户所在的地区也尚未上线 eID。您可以按国家设置回退方案,同一会话将转为文档检查:支持 14,000 多种文档类型,电子护照和 eID 卡的芯片 (NFC) 读取费用为 $0.15,还包括被动活体检测和人脸匹配。使用文档进行完整的 KYC(了解您的客户)检查费用为 $0.33。
查看 NFC 验证
03 · 签名数据

可操作的签名数据。

每个 eID 结果都将作为 wallet_verification 对象存储在会话中:包括方案、发行国家、保障级别、属性和 signature_valid。如果方案返回的级别低于您请求的级别,登录将失败,而不会悄无声息地降级。仅对完成的登录收费。取消、超时和失败的登录免费。
查看身份验证
04 · 年龄验证

通过签名出生日期验证年龄。

eID 登录会返回由方案签名的出生日期,因此无需文档照片即可证明年龄。对于高流量场景,建议的设计是先进行年龄估算,每次检查 $0.10,并结合被动活体检测;只有当结果处于临界值时,才进行 eID 或文档检查。
查看年龄验证
05 · 同步进行 AML

对刚验证的用户进行筛选。

在 eID 步骤后添加 AML(反洗钱)筛选,已验证的姓名和出生日期将直接用于制裁、PEP(政治公众人物)和观察名单检查,覆盖 1,300 多个列表,每次检查 $0.20。持续监控每天重新筛选,每人每年 $0.07。潜在匹配项将发送给您的审核员。
查看 AML 筛选
06 · 更多方案

更多方案和 EUDI 钱包即将推出。

iDIN、德国 eID 卡、Freja eID、爱沙尼亚身份证、eParaksts、BankID Norway、Vipps、Buypass、itsme、OneID、ConnectID、UAE PASS、gov.br、GOV.UK Wallet、Bank iD、MojeID、Diia、FranceConnect 和 Auðkenni 都在我们的路线图上,EUDI 钱包(欧盟数字身份钱包)的支持也即将推出。对于任何其他方案,请联系我们:Didit 可根据需求添加方案,并且文档验证路线已在该国家/地区可用。
查看 EUDI 钱包页面
eID 覆盖范围

按国家/地区划分的每个国家 eID。

欧洲各国的国家和银行 eID 以及其他地区的主要数字身份方案:每个方案对用户的要求、其保障级别以及返回的数据。状态和价格来自 Didit 的实时钱包目录。

已显示 136 个,共 136 个方案

MitID

国家/地区

  • 丹麦

Didit 状态

已上线

保障级别

实质性, 高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

姓名、出生日期、匿名CPR别名、保障级别、签名检查

每次登录价格

$0.25

Mobile-ID

国家/地区

  • 爱沙尼亚

Didit 状态

已上线

保障级别

高 · 已向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

Smart-ID

国家/地区

  • 爱沙尼亚

Didit 状态

已上线

保障级别

高 · 未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

Estonian ID card and Digi-ID

国家/地区

  • 爱沙尼亚

Didit 状态

即将推出

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Finnish Trust Network (bank IDs)

国家/地区

  • 芬兰

Didit 状态

已上线

保障级别

实质性 · 未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

姓名、出生日期、个人身份代码、签名检查

每次登录价格

$0.25

FINeID citizen certificate (ID card)

国家/地区

  • 芬兰

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Mobiilivarmenne

国家/地区

  • 芬兰

Didit 状态

按需提供

保障级别

实质性 · 未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

按方案

每次登录价格

按需提供

Auðkenni (app, SIM and card)

国家/地区

  • 冰岛

Didit 状态

即将推出

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Mobile-ID

国家/地区

  • 立陶宛

Didit 状态

已上线

保障级别

高 · 未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

Smart-ID

国家/地区

  • 立陶宛

Didit 状态

已上线

保障级别

高 · 未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

Asmens tapatybės kortelė (identity card)

国家/地区

  • 立陶宛

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Smart-ID

国家/地区

  • 拉脱维亚

Didit 状态

已上线

保障级别

未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

eParaksts mobile

国家/地区

  • 拉脱维亚

Didit 状态

即将推出

保障级别

实质性, 高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eID karte (identity card)

国家/地区

  • 拉脱维亚

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

eParaksts karte

国家/地区

  • 拉脱维亚

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

BankID (Norway)

国家/地区

  • 挪威

Didit 状态

即将推出

保障级别

高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Buypass ID

国家/地区

  • 挪威

Didit 状态

即将推出

保障级别

高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Vipps

国家/地区

  • 挪威

Didit 状态

即将推出

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Commfides eID

国家/地区

  • 挪威

Didit 状态

按需提供

保障级别

高 · 未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

MinID

国家/地区

  • 挪威

Didit 状态

按需提供

保障级别

实质性 · 未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

BankID Sweden

国家/地区

  • 瑞典

Didit 状态

已上线

保障级别

实质性 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

姓名、出生日期、个人识别码、签名检查

每次登录价格

$0.20

Freja eID

国家/地区

  • 瑞典

Didit 状态

即将推出

保障级别

实质性 · 已向欧盟通告 (仅限通过 ATG 代理点获得的 Freja+)

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

SverigeID

尚未上线

国家/地区

  • 瑞典

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

ID Austria

国家/地区

  • 奥地利

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Smart-ID

国家/地区

  • 比利时

Didit 状态

已上线

保障级别

高 · 未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

姓名、出生日期、个人代码、签名检查

每次登录价格

$0.20

itsme

国家/地区

  • 比利时

Didit 状态

即将推出

保障级别

高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Belgian eID card

国家/地区

  • 比利时

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

MyGov.be key

国家/地区

  • 比利时

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Swiss E-ID (swiyu)

尚未上线

国家/地区

  • 瑞士

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

SwissID

国家/地区

  • 瑞士

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Online-Ausweisfunktion (Personalausweis)

国家/地区

  • 德国

Didit 状态

即将推出

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

d-you

尚未上线

国家/地区

  • 德国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

FranceConnect

国家/地区

  • 法国

Didit 状态

即将推出

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

France Identité

国家/地区

  • 法国

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

L'Identité Numérique La Poste

国家/地区

  • 法国

Didit 状态

按需提供

保障级别

实质性 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eID.li

国家/地区

  • 列支敦士登

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

itsme

国家/地区

  • 卢森堡

Didit 状态

即将推出

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Luxembourg eID card

国家/地区

  • 卢森堡

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

LuxTrust

国家/地区

  • 卢森堡

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

iDIN

国家/地区

  • 荷兰

Didit 状态

即将推出

保障级别

未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

itsme

国家/地区

  • 荷兰

Didit 状态

即将推出

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

DigiD

国家/地区

  • 荷兰

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eHerkenning (business login)

国家/地区

  • 荷兰

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Yivi

国家/地区

  • 荷兰

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

GOV.UK Wallet

国家/地区

  • 英国

Didit 状态

即将推出

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

OneID

国家/地区

  • 英国

Didit 状态

即将推出

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

GOV.UK One Login

国家/地区

  • 英国

Didit 状态

按需提供

保障级别

未向欧盟通告 · GPG 45 medium

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Government Digital Wallet

尚未上线

国家/地区

  • 爱尔兰

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

MyGovID

国家/地区

  • 爱尔兰

Didit 状态

按需提供

保障级别

未向欧盟通告 · SAFE 2

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Digital Identity (IdentiTek)

尚未上线

国家/地区

  • 阿尔巴尼亚

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

e-Albania

国家/地区

  • 阿尔巴尼亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

B-Trust Mobile

国家/地区

  • 保加利亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eAuth

国家/地区

  • 保加利亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Electronic identity certificate (identity card)

尚未上线

国家/地区

  • 保加利亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Evrotrust eID

国家/地区

  • 保加利亚

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Cyprus national eID

国家/地区

  • 塞浦路斯

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Bank iD

国家/地区

  • 捷克

Didit 状态

即将推出

保障级别

未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

MojeID

国家/地区

  • 捷克

Didit 状态

即将推出

保障级别

低, 实质性, 高 · 已向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

eDoklady

国家/地区

  • 捷克

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eObčanka (identity card)

国家/地区

  • 捷克

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Identita občana (NIA)

国家/地区

  • 捷克

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Mobilní klíč eGovernmentu

国家/地区

  • 捷克

Didit 状态

按需提供

保障级别

低, 实质性, 高 · 已向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Cartera Digital Beta

尚未上线

国家/地区

  • 西班牙

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Cl@ve

国家/地区

  • 西班牙

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

DNIe (DNI 3.0 and 4.0)

国家/地区

  • 西班牙

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

MiDNI

国家/地区

  • 西班牙

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Gov.gr Wallet

国家/地区

  • 希腊

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

TAXISnet credentials

国家/地区

  • 希腊

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Certilia mobile.ID

国家/地区

  • 克罗地亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eOI (identity card)

国家/地区

  • 克罗地亚

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

NIAS (e-Građani)

国家/地区

  • 克罗地亚

Didit 状态

按需提供

保障级别

未向欧盟通告 (使用 eOI,该方案已向欧盟通告,保障级别为高)

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

DÁP (Digitális Állampolgárság)

国家/地区

  • 匈牙利

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Ügyfélkapu+

国家/地区

  • 匈牙利

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

CIE and CieID

国家/地区

  • 意大利

Didit 状态

按需提供

保障级别

低, 实质性, 高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

IT-Wallet

国家/地区

  • 意大利

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

SPID

国家/地区

  • 意大利

Didit 状态

按需提供

保障级别

低, 实质性, 高 · 已向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Carte de identitate (identity card)

国家/地区

  • 摩尔多瓦

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

EVO

国家/地区

  • 摩尔多瓦

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

EVOSign

国家/地区

  • 摩尔多瓦

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

MPass

国家/地区

  • 摩尔多瓦

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Semnătura Mobilă

国家/地区

  • 摩尔多瓦

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

按方案

每次登录价格

按需提供

Evrotrust eID

国家/地区

  • 北马其顿

Didit 状态

按需提供

保障级别

高 · 未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

m.Uslugi

尚未上线

国家/地区

  • 北马其顿

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

OneID (KIBS)

国家/地区

  • 北马其顿

Didit 状态

按需提供

保障级别

高 · 未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

uslugi.gov.mk eID

国家/地区

  • 北马其顿

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Maltese e-ID

国家/地区

  • 马耳他

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告 (仅限 eID 卡和电子居留证件)

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

e-dowód (identity card)

国家/地区

  • 波兰

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

login.gov.pl

国家/地区

  • 波兰

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

mObywatel

国家/地区

  • 波兰

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Profil Zaufany

国家/地区

  • 波兰

Didit 状态

按需提供

保障级别

实质性, 高 · 已向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

Autenticação.gov

国家/地区

  • 葡萄牙

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Cartão de Cidadão

国家/地区

  • 葡萄牙

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Chave Móvel Digital

国家/地区

  • 葡萄牙

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

在手机上确认代码

返回给您的数据

按方案

每次登录价格

按需提供

Carte electronică de identitate

国家/地区

  • 罗马尼亚

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

ROeID

国家/地区

  • 罗马尼亚

Didit 状态

按需提供

保障级别

实质性 · 已向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

eID.gov.rs (ConsentID)

国家/地区

  • 塞尔维亚

Didit 状态

按需提供

保障级别

高 · 未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Lična karta (identity card)

国家/地区

  • 塞尔维亚

Didit 状态

按需提供

保障级别

高 · 未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

eOI and eOsebna

国家/地区

  • 斯洛文尼亚

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告 (仅限身份证)

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

SI-PASS

国家/地区

  • 斯洛文尼亚

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

eID karta (identity card)

国家/地区

  • 斯洛伐克

Didit 状态

按需提供

保障级别

高 · 已向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

MeID

国家/地区

  • 斯洛伐克

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Slovensko v mobile

国家/地区

  • 斯洛伐克

Didit 状态

按需提供

保障级别

未说明

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

e-Devlet

国家/地区

  • 土耳其

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

密码加一次性代码

返回给您的数据

按方案

每次登录价格

按需提供

T.C. Kimlik Kartı (identity card)

国家/地区

  • 土耳其

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Diia

国家/地区

  • 乌克兰

Didit 状态

即将推出

保障级别

未向欧盟通告

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

BankID NBU

国家/地区

  • 乌克兰

Didit 状态

按需提供

保障级别

未向欧盟通告

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

UAE PASS

国家/地区

  • 阿拉伯联合酋长国

Didit 状态

即将推出

保障级别

Basic, Verified

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Kuwait Mobile ID (Hawyti)

国家/地区

  • 科威特

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Absher

国家/地区

  • 沙特阿拉伯

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Nafath

国家/地区

  • 沙特阿拉伯

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

ConnectID

国家/地区

  • 澳大利亚

Didit 状态

即将推出

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

myID

国家/地区

  • 澳大利亚

Didit 状态

按需提供

保障级别

依方案规则

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

National Online Identity Authentication

国家/地区

  • 中国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Identitas Kependudukan Digital (IKD)

国家/地区

  • 印度尼西亚

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Aadhaar e-KYC

国家/地区

  • 印度

Didit 状态

按需提供

保障级别

未说明

用户操作

在手机上确认代码

返回给您的数据

按方案

每次登录价格

按需提供

DigiLocker

国家/地区

  • 印度

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

My Number Card (JPKI)

国家/地区

  • 日本

Didit 状态

按需提供

保障级别

未说明

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Mobile ID

国家/地区

  • 韩国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

RealMe verified identity

国家/地区

  • 新西兰

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

PhilSys (PhilID, ePhilID)

国家/地区

  • 菲律宾

Didit 状态

按需提供

保障级别

未说明

用户操作

使用应用扫描二维码

返回给您的数据

按方案

每次登录价格

按需提供

Singpass (Myinfo)

国家/地区

  • 新加坡

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

NDID

国家/地区

  • 泰国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

ThaID

国家/地区

  • 泰国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Mi Argentina

国家/地区

  • 阿根廷

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

gov.br

国家/地区

  • 巴西

Didit 状态

即将推出

保障级别

依方案规则

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Service d'authentification gouvernementale

国家/地区

  • 加拿大

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Llave MX

国家/地区

  • 墨西哥

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

DNIe 3.0

国家/地区

  • 秘鲁

Didit 状态

按需提供

保障级别

未说明

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

Apple Wallet Digital ID

国家/地区

  • 美国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Google Wallet ID Pass

国家/地区

  • 美国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

ID.me

国家/地区

  • 美国

Didit 状态

按需提供

保障级别

NIST IAL2

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

Login.gov

国家/地区

  • 美国

Didit 状态

按需提供

保障级别

未说明

用户操作

在方案页面登录

返回给您的数据

按方案

每次登录价格

按需提供

State mobile driver's licences (mDL)

国家/地区

  • 美国

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

Cédula digital wallet

尚未上线

国家/地区

  • 乌拉圭

Didit 状态

按需提供

保障级别

未说明

用户操作

在电子身份应用中批准

返回给您的数据

按方案

每次登录价格

按需提供

National Identification Number (NIN)

国家/地区

  • 尼日利亚

Didit 状态

按需提供

保障级别

未说明

用户操作

在手机上确认代码

返回给您的数据

按方案

每次登录价格

按需提供

Smart ID card

国家/地区

  • 南非

Didit 状态

按需提供

保障级别

未说明

用户操作

轻触身份证(NFC)或使用读卡器

返回给您的数据

按方案

每次登录价格

按需提供

最后审阅日期:2026年10月5日。非法律建议。保障级别指该方案依据 eIDAS(欧盟电子身份识别法规)或国家规定所享有的级别,由发行方或欧盟已通告方案清单公布。价格按每次成功登录计算。对于任何标记为“按需提供”的方案,请联系我们:该国家/地区已支持带芯片读取的文档验证方式。

查看流程

三个界面,无需证件照片。

您的客户使用 Smart-ID 的体验:选择电子身份,在应用中确认代码,返回时即为已验证状态。MitID、BankID 和 Finnish Trust Network 会在同一部手机上跳转到对应应用,或在桌面端显示二维码。
  1. 01

    选择您的电子身份

    选择器会列出您为用户所在国家/地区接受的电子身份,并显示其官方标志。

  2. 02

    在应用中批准

    用户检查代码是否匹配,然后使用其电子身份应用中的 PIN 码确认。Didit 绝不会看到 PIN 码。

  3. 03

    已验证

    流程会将用户返回给您,并通过 webhook 发送签名结果。

集成

启用电子身份。读取签名结果。

在工作流程中按国家/地区启用电子身份,并将文档验证作为备用方案,然后从会话决策或 webhook 中读取签名结果。
POST /v3/workflows/启用 eID
{
  "workflow_label": "eID onboarding",
  "features": [
    {
      "feature": "OCR",
      "config": {
        "methods": {
          "DNK": {
            "document": { "enabled": true },
            "wallet": { "enabled": true, "providers": ["mitid"], "on_failure": "fallback_to_document" }
          },
          "SWE": {
            "document": { "enabled": true },
            "wallet": { "enabled": true, "providers": ["bankid_se"], "on_failure": "fallback_to_document" }
          }
        }
      }
    }
  ]
}
201已创建{ "uuid": "…" }
提供商是白名单,不代表排名。如果钱包在该国家/地区未上线,则会拒绝保存。docs
GET /v3/session/{id}/decision/签名结果
{
  "node_id": "ocr",
  "status": "Approved",
  "verification_method": "wallet",
  "assurance": "cryptographic",
  "wallet_provider": "mitid",
  "wallet_verification": {
    "provider": "mitid",
    "issuing_country": "DNK",
    "level_of_assurance": "substantial",
    "signature_valid": true,
    "attributes": {
      "full_name": "Freja Nielsen",
      "date_of_birth": "1988-03-02",
      "cpr_alias": "b0f1c2d3-e4f5-4678-9abc-def012345678"
    },
    "portrait": null
  }
}
200OKid_verifications[0]
在使用属性之前,请检查 signature_valid 和 level_of_assurance。docs
代理就绪集成

一键集成 eID 验证。

将此提示复制到您的编码代理中,并描述您的技术栈。它涵盖了每个国家/地区的工作流配置、会话调用、签名 webhook、wallet_verification 结果和计费。
didit-integration-prompt.md
# Didit eID verification, integrate in 5 minutes

You are adding national eID sign-in to my_stack: the user verifies with the
eID they already use (a bank or government digital identity), and anyone
without one falls back to document capture in the same flow. 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
- Create an application and copy its API key from the console.

## 2. Check which eIDs are live, per country
Availability is server-driven. Never hard-code a wallet list.
  - Business Console: your application -> Workflows -> the ID Verification
    step -> Countries -> "Wallets accepted". Coming-soon wallets are listed
    but cannot be switched on. https://docs.didit.me/console/id-verification-methods
  - Didit MCP server (https://mcp.didit.me/mcp), tool
    didit_workflow_get_id_verification_methods_catalog; pass country as ISO
    3166-1 alpha-3 to narrow it. The MCP server signs in with "Log in with
    Didit" (OAuth). It does not accept the x-api-key.
    https://docs.didit.me/integration/mcp/tools
  - Public coverage table (no sign-in, read-only):
    https://docs.didit.me/core-technology/id-verification/digital-id-wallets#supported-wallets
If your code holds only an API key, it cannot read the catalog itself: use the
wallet ids listed in this prompt, and treat the answer of the workflow save as
the check. A live application answers 400 for a wallet that is not available
in that country ("<wallet> is not offered in <ISO3>", "unknown wallet").

At the time this prompt was generated, the catalog marked these available:
  - MitID: wallet id mitid, country keys DNK
  - BankID: wallet id bankid_se, country keys SWE
  - Finnish Trust Network: wallet id ftn, country keys FIN
  - Smart-ID: wallet id smart_id, country keys EST, LVA, LTU, BEL
  - Mobile-ID: wallet id mobile_id, country keys EST, LTU
Coming soon (cannot be enabled yet): BankID, Vipps, Buypass ID, itsme, iDIN, Personalausweis, Freja eID, UAE PASS, gov.br, OneID, GOV.UK Wallet, Bank iD, MojeID, Diia, FranceConnect, Auðkenni, ConnectID, EUDI Wallet, Estonian ID-card, eParaksts.
Check the catalog for your environment before you go live.

## 3. Create the workflow
POST https://verification.didit.me/v3/workflows/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"

The ID Verification feature's enum value is OCR (uppercase, strict). eIDs are
its wallet method, set per country under config.methods. Keys are ISO 3166-1
alpha-3. Keep document capture on, so a user without an eID can still finish.

{
  "workflow_label": "eID onboarding",
  "features": [
    {
      "feature": "OCR",
      "config": {
        "methods": {
          "DNK": {
            "document": { "enabled": true },
            "wallet": { "enabled": true, "providers": ["mitid"], "on_failure": "fallback_to_document" }
          },
          "SWE": {
            "document": { "enabled": true },
            "wallet": { "enabled": true, "providers": ["bankid_se"], "on_failure": "fallback_to_document" }
          }
        }
      }
    }
  ]
}

Response: 201. The workflow id is uuid (workflow_id carries the same value);
the workflow is published straight away. Create it once and keep the id:
every call to this endpoint makes a new workflow.
is_desktop_allowed defaults to false: on a desktop browser the hosted flow
then shows a QR code to continue on a phone. Add "is_desktop_allowed": true
next to workflow_label to let people finish on desktop.

Rules the API enforces:
  - providers is an accept-list, not a ranking; the user picks
  - on_failure is fallback_to_document or decline; it covers a cancelled,
    timed-out or failed sign-in
  - fallback_to_document where document.enabled is false declines instead
  - a wallet the catalog does not mark available in that country rejects the
    whole save (400), including every other method in the same request
  - enabled true with an empty providers list is rejected
  - add { "feature": "LIVENESS" } and { "feature": "FACE_MATCH" } to features
    if you need a selfie: the live eIDs do not share a portrait

## 4. Create a session
POST https://verification.didit.me/v3/session/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{ "workflow_id": "<id from step 3>", "vendor_data": "<your user id>" }'

Response: 201 with session_id, session_token, url and status "Not Started".
Redirect the user to url (hosted flow) or open it in the Web, iOS, Android,
React Native or Flutter SDK. The field is named url on this response.
One unfinished session exists per workflow_id and vendor_data pair: calling
create again with the same pair answers 201 again with that same session.
The user picks their eID, then approves in the eID app: same-device hand-off
or a QR code on desktop for MitID, BankID and Finnish Trust Network; a
comparison code approved on the phone for Smart-ID and Mobile-ID. Didit never
asks for the user's PIN. A started sign-in stays valid for 10 minutes by
default.

## 5. Webhooks
Register a destination in the console (API & Webhooks), or over the API:

POST https://verification.didit.me/v3/webhook/destinations/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{
    "label": "Verification webhooks",
    "url": "https://<your-public-host>/webhooks/didit",
    "webhook_version": "v3",
    "subscribed_events": ["status.updated", "data.updated"]
  }'

label, url and subscribed_events are required. url must be a public HTTPS
address: Didit does not deliver to localhost or private addresses. Response:
201 with uuid and secret_shared_key. Store secret_shared_key as the webhook
secret (DIDIT_WEBHOOK_SECRET); it is unique to this destination. Remove a
destination with DELETE /v3/webhook/destinations/{uuid}/ (204).

What arrives:
  - webhook_type is "status.updated" (the session changed status) or
    "data.updated" (verification data was corrected after the fact)
  - a destination receives the events of every session of the application,
    so filter on workflow_id or vendor_data when several flows share it
  - creating a session already sends status.updated with status
    "Not Started". The decision key is present only when status is Approved,
    Declined, In Review or Abandoned.

Verify every delivery:

  Header:      X-Signature-V2 (not X-Signature, not X-Signature-Simple)
  Algorithm:   HMAC-SHA256, hex digest, over the canonical JSON of the payload
               (Python json.dumps(sort_keys=True, separators=(",", ":"),
               ensure_ascii=False) after whole-valued floats become ints).
               Use the reference handler below as written: it rebuilds those
               bytes from the raw body text. Never hash the raw request bytes.
  Freshness:   the signed body field timestamp is the dispatch time (Unix
               seconds, refreshed on every retry). Reject when
               abs(now - timestamp) > 300 seconds, and reject when the
               X-Timestamp header does not equal it.
  Idempotency: event_id is the same on every retry of one event, so store it
               and skip a delivery you already processed. One session can
               still send the same status under two event ids, and the
               console's Try Webhook test deliveries carry no event_id, so
               also make the handler safe to run twice for one
               (session_id, status, webhook_type).
  Compare:     constant-time (crypto.timingSafeEqual)

Reference handler (Express). Keep the verification lines as written.
The handler is a fragment. Put this above it and app.listen(process.env.PORT)
below it. It needs Express and Node 21 or newer (an older Node rejects
every delivery). It expects a JSON body: answer 400 yourself if you accept
anything else on this route, and refuse to start without the secret.

const express = require("express");
const app = express();
const SECRET = process.env.DIDIT_WEBHOOK_SECRET; // secret_shared_key of the destination

// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
  if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
  return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
  : v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
  : JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
  const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
  const body = JSON.parse(req.body);
  const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
  const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
  // Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
  const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
    && Math.abs(Date.now() / 1000 - ts) <= 300;
  if (!fresh || sig.length !== mac.length
    || !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
  const { status, decision } = body;
  // One entry per ID Verification node; pick yours by node_id when you run several.
  const [idv] = decision?.id_verifications ?? [];
  // idv.verification_method: "document" | "id_lookup" | "wallet"
  res.sendStatus(200);
});

Status values (exact strings): Not Started, In Progress, Approved, Declined,
In Review, Resubmitted, Expired, Abandoned, Kyc Expired. Awaiting User only
appears on business verification sessions.

## 6. Read the eID result
The same V3 decision reaches you two ways:
  - webhook body: body.decision.id_verifications[]
  - GET https://verification.didit.me/v3/session/{session_id}/decision/
      -H "x-api-key: <your-api-key>"
    This response IS the decision object. Read id_verifications at the top
    level: there is no decision wrapper here.
Until the user finishes the ID step, status is "Not Started" or "In Progress"
and id_verifications is null, not an empty array. Guard for it.

id_verifications[] has one entry per ID Verification node; with a single step
take index 0 (its node_id is "ocr" on a workflow made by the call in step 3).
The decision's features list names the step ID_VERIFICATION; the workflow
body still takes OCR. Each entry carries:

  status                 Approved, Declined, In Review or Not Finished
  verification_method    "wallet" for an eID sign-in, "document" after a
                         fallback
  assurance              "cryptographic" for a wallet entry, "documentary"
                         for a document one
  full_name,             the normalised identity fields, on the entry itself
  date_of_birth
  wallet_provider        the catalog wallet id, for example "mitid"
  wallet_verification    provider, provider_name, issuing_authority,
                         issuing_country, credential_type,
                         level_of_assurance (low | substantial | high),
                         verified_at, signature_valid, attributes, portrait,
                         face_match_score
  fallback_from          { method, reason, action } when the wallet sign-in failed
                         and on_failure declined the session; otherwise
                         null. After a document fallback that succeeds the
                         entry reads verification_method "document" with
                         fallback_from null

attributes holds what the scheme shares, and the names vary by scheme: MitID
returns cpr_alias (a pseudonymised identifier, not the CPR number), BankID
Sweden personal_number, Finnish Trust Network personal_identity_code, Smart-ID
and Mobile-ID personal_code. Use full_name and date_of_birth on the entry for
the normalised identity fields. No live eID returns an address or a portrait.

Check wallet_verification.level_of_assurance when your rules depend on it. If
a scheme returns a weaker level than the one requested, the sign-in fails
instead of downgrading.

## 7. Billing
  - only a completed eID sign-in is billed; cancelled, timed-out, refused
    and failed sign-ins are free
  - a document fallback is billed as its own document check
  - eID checks are outside the document free tier
  - published prices per completed sign-in (USD):
    - MitID personal: $0.25
    - BankID Sweden: $0.20
    - Finnish Trust Network: $0.25
    - Smart-ID: $0.20
    - Mobile-ID: $0.20
  - full pricing: https://docs.didit.me/core-technology/id-verification/digital-id-wallets#pricing

## 8. Hard rules
  - base URL for v3 endpoints: verification.didit.me
  - auth header: x-api-key
  - feature enum: OCR; methods: document, id_lookup, wallet
  - wallet ids come from the catalog verbatim (mitid, bankid_se, ftn,
    smart_id, mobile_id)
  - country keys: ISO 3166-1 alpha-3, uppercase
  - webhook: X-Signature-V2 plus X-Timestamp, canonical JSON, freshness from
    the signed body timestamp

## 9. Verify your integration
Sandbox (an application in sandbox mode: nothing is billed and no real eID is
called). https://docs.didit.me/integration/sandbox-testing
  - a sandbox application can enable every wallet in the catalog, the
    coming-soon ones included. A workflow that saves in sandbox can still be
    refused on a live application, so only use wallets marked available.
  - open the session url, pick the wallet and confirm: the default approve
    scenario simulates the sign-in. The entry then has verification_method
    "wallet", assurance "cryptographic" and wallet_provider set, and the
    normalised full_name and date_of_birth are filled. But
    wallet_verification.signature_valid and level_of_assurance are null and
    attributes is { "sandbox": true }: no real credential was checked.
    Assert signature_valid === true and the level of assurance only against
    a live application.
  - to exercise on_failure, create the session with
    "sandbox_scenario": "wallet_cancelled" (also wallet_timeout and
    wallet_provider_error). The wallet sign-in then fails and the flow moves
    to document capture or declines, as on_failure says. A fallback that
    ends in an approved document reads verification_method "document".
  - POST /v3/session/{session_id}/simulate/ forces a final status but writes
    no id_verifications entry, so it cannot stand in for a sign-in.

Checks:
  - create the workflow, create a session, and read its decision: expect 201,
    201 with url, and 200 with status "Not Started"
  - run one sandbox session per accepted eID through the hosted flow and
    assert verification_method is "wallet" and wallet_provider is the eID you
    picked
  - run one session with sandbox_scenario "wallet_cancelled" and assert the
    flow offers document capture
  - assert your webhook accepts a correctly signed payload and rejects a
    wrong X-Signature-V2, a changed body, and a payload whose signed
    timestamp is older than 300 seconds, even when X-Timestamp is refreshed
  - on a live application, assert wallet_verification.signature_valid is true

Docs: https://docs.didit.me/core-technology/id-verification/digital-id-wallets
合规性设计

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

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

数据证明

数据证明
  • 3,000+
    已投入生产的公司
  • 5
    已上线的国家 eID
  • 220+
    支持文档路由的国家和地区
  • 14,000+
    支持的文档类型
三个层级,一份价目表

免费开始,按需付费,可扩展至企业版。

每月500次免费验证,永久有效。之后仅按模块运行付费。企业版提供定制合同、数据驻留和SLA服务。

免费

$0/ 月 · 无需信用卡

适用于构建、测试和您的首批用户。

开始所需的一切:
  • 每月500次完整KYC验证
  • 身份、活体、人脸匹配、设备和IP验证
  • 200+欺诈信号、黑名单、重复项检测
  • Didit网络内可复用KYC
  • 工作流构建器、案件管理、SDK
  • AI 支持 控制台内 AI 助手、文档和社区支持。
最受欢迎

按需付费

$0.33每次完整 KYC

25+ 模块,价格公开透明。自动享受批量折扣。

包含 免费 的所有功能,以及:
  • AML 筛选和监控,低至 $0.07
  • 按国家/地区和数据层级划分的商业注册定价
  • 交易监控 $0.02 / 次
  • 钱包筛选 $0.15 / 次
  • 自有品牌白标流程
  • AI 支持 控制台内 AI 助手、文档和社区支持。

企业版

定制年度合同

适用于大批量和受监管项目。

包含 按需付费 的所有功能,以及:
  • 年度合同,承诺用量定价
  • 定制法律条款和99.99%正常运行时间SLA
  • 数据驻留、保留、安全审查
  • 按需提供人工审核员
  • 经销商和白标条款
  • 优先人工支持 24/7 共享 Slack 频道,专属客户成功经理。

使用量增长时自动享受批量折扣——无需谈判,无需销售电话。

FAQ

eID 验证常见问题解答

最后审阅日期:2026 年 10 月 5 日。非法律建议。
Didit 是什么?

Didit 是身份验证和欺诈防护的基础设施,是我们自己构建产品时梦寐以求的平台:开放、灵活、对开发者友好,能真正融入您的技术栈,而不是一个需要您围绕其进行集成的黑盒。

一个 API 即可覆盖个人验证(KYC,了解您的客户)、企业验证(KYB,了解您的业务)、加密钱包筛选(KYT,了解您的交易)以及实时交易监控。我们的技术栈旨在实现:

  • 快速:每次会话的 p99 延迟低于 2 秒
  • 可靠:已在 220 多个国家/地区的 3,000 多家公司中投入生产
  • 安全:通过 SOC 2 Type 1 & Type 2、ISO 27001 认证,原生支持 GDPR,并经西班牙金融监管机构正式证明比线下验证更安全

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

什么是 eID 验证?

eID 验证(电子身份识别)是指通过个人已持有的、由政府或银行签发或批准的数字身份来核实身份,而不是要求提供证件照片。用户使用其国家 eID 登录,在 eID 应用中批准共享数据,然后系统会返回带有数字签名的身份属性。

对于企业而言,区别在于您收到的信息。证件检查提供的是需要分析的图像。eID 登录提供的是发行方已验证并签名的数据:姓名、出生日期、方案标识符(例如瑞典的 personnummer;MitID 返回的是假名化标识符)和保障级别。

Didit 在工作流的身份验证步骤中运行 eID 登录。目前已支持五种国家 eID(MitID、BankID Sweden、Finnish Trust Network、Smart-ID 和 Mobile-ID),没有 eID 的用户可在同一会话中通过证件检查完成验证。本页面的覆盖范围表列出了按国家/地区划分的所有方案。

Didit 目前支持哪些 eID?

目前有五种国家 eID 已在七个国家/地区上线:

  • 丹麦的 MitID
  • 瑞典的 BankID
  • 芬兰的 Finnish Trust Network(芬兰银行 ID)
  • 爱沙尼亚、拉脱维亚、立陶宛和比利时的 Smart-ID
  • 爱沙尼亚和立陶宛的 Mobile-ID

更多 eID 即将推出:iDIN、德国 eID 卡 (Personalausweis)、Freja eID、爱沙尼亚 ID 卡、eParaksts、BankID Norway、Vipps、Buypass、itsme、OneID、ConnectID、UAE PASS、gov.br、GOV.UK Wallet、Bank iD、MojeID、Diia、FranceConnect 和 Auðkenni,以及 EUDI 钱包支持。您可以在控制台中查看即将推出的 eID,但在它们上线之前无法启用。

对于覆盖范围表中列出的其他方案,请联系我们:Didit 可根据需求添加方案,并且在这些国家/地区,带芯片读取功能的证件验证路线已可用。

通过 eID 登录,我能收到哪些数据?

您将收到方案签名的属性,并已标准化到会话中。每个已上线的 eID 都会返回全名和出生日期,以及方案自身的识别码:

  • BankID Sweden:瑞典个人识别码 (personnummer)
  • Finnish Trust Network:芬兰个人身份代码
  • Smart-ID 和 Mobile-ID:波罗的海个人识别码
  • MitID:假名化的 CPR 别名,而非 CPR 号码

每个结果还会记录方案声明的保障级别以及 signature_valid,即 Didit 对签名断言的检查。目前没有已上线的 eID 返回地址或肖像,因此如果您的政策需要自拍,请添加活体检测和人脸匹配步骤;如果需要地址,请添加第二个数据源。

在 API 中,结果位于决策的身份验证条目中的 wallet_verification,其中 verification_method 设置为 wallet。

什么是保障级别,我需要哪种级别?

保障级别(LoA)表示 eID 对个人身份声明的信任程度。欧盟 eIDAS 电子身份识别法规定义了三个级别:低、实质性和高。每个方案的级别都来自欧盟已通知方案列表或方案自身的规则,许多国家方案根本未获得欧盟通知。

您需要的级别取决于您遵循的规则,而非 Didit。例如,AMLR(欧盟反洗钱法规)接受实质性或高级别的电子身份识别用于客户检查。

Didit 会在 wallet_verification.level_of_assurance 中记录每次登录实际声明的级别。如果方案返回的级别低于请求的级别,登录将失败,而不会悄悄降级。Didit 将 MitID、BankID Sweden 和 Finnish Trust Network 登录标记为实质性,将 Smart-ID 和 Mobile-ID 登录标记为高级别。

eID 验证是否足以满足 AMLR 下的 KYC 要求?

对于身份部分,这可能是足够的。AMLR(欧盟法规 2024/1624,自 2027 年 7 月 10 日起适用)第 22(6) 条允许义务实体使用身份证明文件或 eIDAS 下的电子身份识别来验证客户身份。AMLA(欧盟反洗钱管理局)于 2026 年 9 月 30 日发布的客户尽职调查最终草案标准,将 eID 视为默认的远程途径,并将基于文件的远程验证视为合理的替代方案。这些是提交给欧盟委员会的最终草案,并非法律。

身份验证是 KYC(了解您的客户)的一部分。您仍然需要制裁和 PEP 筛选、公司受益所有人、持续监控和记录,并且决策权仍在您手中。Didit 在同一工作流中运行这些检查,AML 筛选每次检查 $0.20,持续监控每人每年 $0.07。

这不是法律建议。AMLR 页面将每篇文章映射到 Didit 提供的内容。

如果用户没有 eID 会怎样?

他们将在同一会话中完成证件检查。对于每个国家/地区,您可以选择当 eID 登录被取消、超时或失败时发生的情况:回退到证件采集或拒绝。

证件验证路线涵盖 220 多个国家和地区的 14,000 多种证件类型。它会采集 ID,通过原生 SDK 读取电子护照和 eID 卡的芯片 (NFC),运行被动活体检测并将人脸与证件照片进行匹配。一次完整的 KYC 检查,包括证件、活体检测、人脸匹配以及设备和 IP 分析,费用为 $0.33。

由于回退是工作流的一部分,您的集成无需更改:您创建一个会话,结果会告诉您用户采取了哪种路线(verification_method 是 wallet 或 document)。只有完成的 eID 登录才按 eID 检查计费,回退则按其自身的证件检查计费。

我可以使用 eID 验证年龄吗?

可以。eID 登录会返回方案签名的出生日期,因此无需提供证件照片即可证明年龄。

对于大批量验证,推荐的设计是先进行年龄估算:自拍估算年龄每次检查 $0.10,包含被动活体检测,整体平均绝对误差为 3.5 岁,18 岁以下为 1.5 岁。明确通过和明确失败的在此结束,只有临界结果才会进行更严格的检查,例如 eID 登录或证件检查。

监管机构对这些方法的处理方式不同。在英国,Ofcom 将面部年龄估算和数字 ID 列为高效方法。在欧盟,数字服务法 (DSA) 下的指南将 18 岁以上内容的估算视为临时过渡方案,并倾向于使用欧盟年龄验证应用或 EUDI 钱包。年龄验证页面涵盖了按国家/地区划分的规则。

eID 验证费用是多少?

eID 登录按每个方案、每次完成的登录计费。本页面的覆盖范围表显示了每个已上线 eID 的当前公布价格,这些价格与定价页面上的数据相同。标记为“按需”的方案将单独报价。

您只需在登录完成时付费。已取消、超时、拒绝和失败的登录是免费的,重复的回调或状态检查不会产生额外费用。eID 检查不属于免费证件层级。

工作流的其余部分按公布价格计费:完整的 KYC 检查(含证件)费用为 $0.33,NFC 芯片读取 $0.15,年龄估算 $0.10,AML 筛选 $0.20,持续监控每人每年 $0.07。证件回退按其自身的证件检查计费。您可以在承诺任何事情之前创建账户并在沙盒中进行测试。

我需要与每个 eID 方案或银行签订合同吗?

不,对于已上线的方案不需要。Didit 拥有 MitID、BankID Sweden、Finnish Trust Network、Smart-ID 和 Mobile-ID 的方案连接,因此您无需与每个方案、银行或证书提供商单独签订协议即可接受它们。您只需在工作流中启用 eID,并按每次完成的登录向 Didit 付费。

选择器和比较代码屏幕会继承您的会话品牌和自定义域名,因此用户会留在您的流程中。方案仍会显示其自己的应用和同意步骤,因为这是用户批准共享数据的地方。

有些方案对谁可以接受它们有自己的规则;一些政府登录仅对公共服务开放。对于尚未上线的任何方案,请与我们讨论其要求以及 Didit 如何连接它。

eID 与身份证的 NFC 芯片读取有何不同?

两者都依赖于密码学,但它们证明的是不同的事情。NFC 芯片读取使用手机读取电子护照或 eID 卡内部的芯片,并检查发行方对该数据的签名,这表明证件是真实的且未被篡改。它仍然需要活体检测和人脸匹配来证明持有者是其所有者。在 Didit 中,它在原生 iOS 和 Android SDK 中运行,费用为 $0.15。

eID 登录表明用户控制着他们的国家数字身份:他们通过 PIN 或生物识别在 eID 应用中批准,方案会签署他们的属性。不涉及证件,已上线的 eID 不共享肖像。

两者配合得很好。在有 eID 的地方提供 eID,对于其他所有人,在同一工作流中,按国家/地区回退到带芯片读取功能的证件采集。

EUDI 钱包怎么样?

根据 eIDAS 2(欧盟法规 2024/1183),欧盟各成员国必须在 2026 年 12 月 24 日前提供 EUDI 钱包(欧盟数字身份钱包)。法律或合同要求使用强用户认证的私营企业,必须在 2027 年 12 月 24 日前应用户要求接受 EUDI 钱包。微型和小型企业可豁免。该期限为首批实施法案于 2024 年 12 月 24 日生效后的 36 个月,即 2027 年 12 月 24 日。

意大利的 IT-Wallet 和丹麦的 AltID 是目前最先进的国家级应用,德国的钱包应用预计将于 2027 年初推出。

Didit 即将支持 EUDI 钱包:我们的钱包目录已列出 30 个 EEA 国家/地区,与国家 eID 采用相同的工作流程。在此之前,您可以使用现有的国家 eID 和文档验证方式来服务客户。EUDI 钱包页面详细解释了企业接受 EUDI 钱包的具体要求。

可以添加未列出的 eID 方案吗?

可以。Didit 可根据需求添加方案,因此请告诉我们您的客户使用哪些国家 eID、银行 ID 或政府登录,以及在哪些国家/地区。我们会研究方案对接受它的企业有什么要求(有些对私营公司开放,有些仅对公共服务开放)以及它返回什么,然后向您反馈连接它所需的一切。

同时,这并不妨碍您在该国家/地区上线。证件验证路线目前在那里可用:涵盖 14,000 多种证件类型的证件采集、电子护照和 eID 卡的芯片 (NFC) 读取、被动活体检测和人脸匹配,以及对 1,300 多个列表的 AML 筛选。

当方案上线时,您只需在该国家/地区的工作流中勾选它,您的集成保持不变。请使用“联系我们”开始。

eID 验证上线速度有多快?

您当天即可测试。在 business.didit.me 创建账户,打开您的工作流,在“身份验证”步骤中进入“国家/地区”,选择一个国家/地区,然后勾选“接受的钱包”下的 eID。设置回退,然后保存并发布。

最快的方式是托管流程:通过一个 API 调用 (POST /v3/session/) 创建会话,并将用户重定向到返回的 URL。Didit 会显示 eID 选择器,然后交给 eID 应用处理,并将签名结果发送到您的 webhook。如果您希望用户留在您的应用内,Web、iOS、Android、React Native 和 Flutter SDK 均可开启相同的流程。

请先使用沙盒应用程序进行测试,然后切换到您的实时应用程序。本页面的集成提示可让编码代理为您构建整个流程。

身份与欺诈基础设施。

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

让 AI 总结此页面