Haz la verificación eID con cinco eID nacionales, disponibles en siete países: MitID, BankID Sweden, Finnish Trust Network, Smart-ID y Mobile-ID. Cada uno devuelve un nombre firmado, fecha de nacimiento e identificador del esquema, como el personnummer sueco (MitID devuelve uno seudonimizado). Quienes no tengan un eID pueden completar la verificación con un control de documentos en más de 220 países y territorios, todo dentro del mismo flujo de trabajo.
No se comparte la dirección ni el retrato. Añade prueba de vida y coincidencia facial si necesitas un selfi.
Qué te ofrece un inicio de sesión con eID
Firmado por el emisor. Verificado por Didit.
Un inicio de sesión con eID (identificación electrónica) reemplaza la foto de un documento con datos firmados por el esquema. Didit verifica la firma y añade el resultado a la sesión.
01Nombre completo y fecha de nacimiento, firmados por el esquema
02Un identificador del sistema: personnummer, código de identidad personal o código personal (MitID devuelve un identificador seudonimizado)
03El nivel de garantía que el esquema afirmó
04Una verificación de firma en cada resultado: signature_valid
05Sin foto de documento, sin PIN compartido con Didit, y sin coste a menos que el inicio de sesión se complete
Cómo funciona
De eID nacional a cliente verificado en cuatro pasos.
Paso 01 / 04
01
Elige las eIDs por país
En el constructor de flujos, abre el paso de Verificación de ID, elige un país y marca las eIDs que aceptas en Wallets aceptadas. Luego, elige qué sucede si un inicio de sesión falla: recurrir a la captura de documentos o rechazar.
Envía al usuario al flujo
Crea una sesión con una llamada a la API y redirige al flujo alojado, o ábrelo en el SDK de Web, iOS, Android, React Native o Flutter. El selector solo muestra las eIDs que aceptaste para el país del usuario.
El usuario aprueba en su app de eID
Entrega en el mismo dispositivo o un código QR en el escritorio para MitID, BankID y Finnish Trust Network, o un código de comparación aprobado en el teléfono para Smart-ID y Mobile-ID. El PIN permanece en la app de eID.
Obtienes el resultado firmado
Un webhook firmado te informa que el estado ha cambiado. La decisión incluye el esquema, los atributos firmados, el nivel de garantía y la verificación de la firma, con verification_method establecido en wallet.
Verificación eID · Seis partes
eIDs nacionales y una ruta de documentos, en un solo flujo.
Cada fila es una parte del mismo flujo de trabajo. Activa lo que necesite tu proceso de onboarding, país por país, y mantén una única integración.
MitID en Dinamarca, BankID en Suecia, Finnish Trust Network en Finlandia, Smart-ID en Estonia, Letonia, Lituania y Bélgica, y Mobile-ID en Estonia y Lituania. Cada una devuelve un nombre completo, una fecha de nacimiento y el identificador propio del esquema: el personnummer sueco, el código de identidad personal finlandés, el código personal báltico, o un alias CPR seudonimizado para MitID. Ninguna eID activa comparte una dirección o un retrato.
Un flujo de trabajo, con una ruta de documentos para todos los demás.
No todo el mundo tiene una eID, y muchos clientes viven donde aún no hay ninguna activa. Configura la alternativa por país y la misma sesión pasa a una verificación de documentos: más de 14.000 tipos de documentos, lectura de chip (NFC) de pasaportes electrónicos y tarjetas de identificación electrónica por $0.15, prueba de vida pasiva y coincidencia facial. Una verificación KYC (Know Your Customer) completa con un documento cuesta $0.33.
Art. 22(6)(b)eID nacionalMitIDInicio de sesión eIDAtributos firmadosEUDI Wallet: próximamente
Art. 22(6)(a)Documento de identidadPasaporteLectura de chipPrueba de vidaCoincidencia facialPara personas sin un eID activo
Identidad verificadaNombre · fecha de nacimiento · identificadorRuta utilizadaMitID
03 · Datos firmados
Datos firmados sobre los que puedes actuar.
Cada resultado de eID se guarda en un objeto wallet_verification en la sesión: el esquema, el país emisor, el nivel de garantía, los atributos y signature_valid. Si un esquema devuelve un nivel más débil del que solicitaste, el inicio de sesión falla en lugar de degradarse silenciosamente. Solo se facturan los inicios de sesión completados. Los cancelados, los que han expirado y los fallidos son gratuitos.
Verifica la edad a partir de una fecha de nacimiento firmada.
Un inicio de sesión eID devuelve una fecha de nacimiento firmada por el esquema, lo que prueba la edad sin necesidad de una foto del documento. Para grandes volúmenes, un diseño recomendado es la estimación de edad primero, a $0.10 por verificación con prueba de vida pasiva, y una verificación eID o de documento solo para resultados dudosos.
Añade el filtro AML (anti-money laundering) después del paso eID y el nombre y la fecha de nacimiento verificados se envían directamente a las listas de sanciones, PEP (persona políticamente expuesta) y listas de vigilancia en más de 1.300 bases de datos, por $0.20 por verificación. La monitorización continua vuelve a filtrar cada día por $0.07 por persona al año. Una posible coincidencia se envía a tu revisor.
iDIN, la tarjeta eID alemana, Freja eID, la tarjeta de identificación estonia, eParaksts, BankID Norway, Vipps, Buypass, itsme, OneID, ConnectID, UAE PASS, gov.br, GOV.UK Wallet, Bank iD, MojeID, Diia, FranceConnect y Auðkenni están en nuestra hoja de ruta, y la aceptación de EUDI Wallet (EU Digital Identity Wallet) llegará pronto. Para cualquier otro esquema, contáctanos: Didit añade esquemas bajo petición, y la ruta de documentos ya funciona en ese país.
La cobertura sigue el catálogo país por país. Una bandera aquí significa que hay una wallet listada para ese país, no que esté activa.
Cobertura eID
Cada eID nacional, país por país.
Los eIDs nacionales y bancarios de Europa y los principales esquemas de identificación digital de otras regiones: qué pide cada uno al usuario, su nivel de garantía y qué devuelve. El estado y los precios provienen del catálogo de wallets en vivo de Didit.
136 de 136 esquemas
Esquema
País
Estado en Didit
Nivel de garantía
Qué hace el usuario
Datos que recibes
Precio por inicio de sesión
MitID
País
Dinamarca
Estado en Didit
En vivo
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Nombre, fecha de nacimiento, alias CPR seudonimizado, nivel de garantía, verificación de firma
Precio por inicio de sesión
$0.25
Mobile-ID
País
Estonia
Estado en Didit
En vivo
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
Smart-ID
País
Estonia
Estado en Didit
En vivo
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
Estonian ID card and Digi-ID
País
Estonia
Estado en Didit
Próximamente
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Finnish Trust Network (bank IDs)
País
Finlandia
Estado en Didit
En vivo
Nivel de garantía
Sustancial · no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Nombre, fecha de nacimiento, código de identidad personal, verificación de firma
Precio por inicio de sesión
$0.25
FINeID citizen certificate (ID card)
País
Finlandia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Mobiilivarmenne
País
Finlandia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial · no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Auðkenni (app, SIM and card)
País
Islandia
Estado en Didit
Próximamente
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Mobile-ID
País
Lituania
Estado en Didit
En vivo
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
Smart-ID
País
Lituania
Estado en Didit
En vivo
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
Asmens tapatybės kortelė (identity card)
País
Lituania
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Smart-ID
País
Letonia
Estado en Didit
En vivo
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
eParaksts mobile
País
Letonia
Estado en Didit
Próximamente
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eID karte (identity card)
País
Letonia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eParaksts karte
País
Letonia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
BankID (Norway)
País
Noruega
Estado en Didit
Próximamente
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Buypass ID
País
Noruega
Estado en Didit
Próximamente
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Vipps
País
Noruega
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Commfides eID
País
Noruega
Estado en Didit
Bajo petición
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MinID
País
Noruega
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial · no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
BankID Sweden
País
Suecia
Estado en Didit
En vivo
Nivel de garantía
Sustancial · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Nombre, fecha de nacimiento, personnummer, verificación de firma
Precio por inicio de sesión
$0.20
Freja eID
País
Suecia
Estado en Didit
Próximamente
Nivel de garantía
Sustancial · Notificado por la UE (solo Freja+ obtenido a través de un agente ATG)
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
SverigeID
Aún no lanzado
País
Suecia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
ID Austria
País
Austria
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Smart-ID
País
Bélgica
Estado en Didit
En vivo
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Nombre, fecha de nacimiento, código personal, verificación de firma
Precio por inicio de sesión
$0.20
itsme
País
Bélgica
Estado en Didit
Próximamente
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Belgian eID card
País
Bélgica
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MyGov.be key
País
Bélgica
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Swiss E-ID (swiyu)
Aún no lanzado
País
Suiza
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
SwissID
País
Suiza
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Online-Ausweisfunktion (Personalausweis)
País
Alemania
Estado en Didit
Próximamente
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
d-you
Aún no lanzado
País
Alemania
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
FranceConnect
País
Francia
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
France Identité
País
Francia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
L'Identité Numérique La Poste
País
Francia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eID.li
País
Liechtenstein
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
itsme
País
Luxemburgo
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Luxembourg eID card
País
Luxemburgo
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
LuxTrust
País
Luxemburgo
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
iDIN
País
Países Bajos
Estado en Didit
Próximamente
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
itsme
País
Países Bajos
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
DigiD
País
Países Bajos
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eHerkenning (business login)
País
Países Bajos
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Yivi
País
Países Bajos
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
GOV.UK Wallet
País
Reino Unido
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
OneID
País
Reino Unido
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
GOV.UK One Login
País
Reino Unido
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE · GPG 45 medium
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Government Digital Wallet
Aún no lanzado
País
Irlanda
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MyGovID
País
Irlanda
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE · SAFE 2
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Digital Identity (IdentiTek)
Aún no lanzado
País
Albania
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
e-Albania
País
Albania
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
B-Trust Mobile
País
Bulgaria
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eAuth
País
Bulgaria
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Electronic identity certificate (identity card)
Aún no lanzado
País
Bulgaria
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Evrotrust eID
País
Bulgaria
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Cyprus national eID
País
Chipre
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Bank iD
País
Chequia
Estado en Didit
Próximamente
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MojeID
País
Chequia
Estado en Didit
Próximamente
Nivel de garantía
Bajo, Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eDoklady
País
Chequia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eObčanka (identity card)
País
Chequia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Identita občana (NIA)
País
Chequia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Mobilní klíč eGovernmentu
País
Chequia
Estado en Didit
Bajo petición
Nivel de garantía
Bajo, Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Cartera Digital Beta
Aún no lanzado
País
España
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Cl@ve
País
España
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
DNIe (DNI 3.0 and 4.0)
País
España
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MiDNI
País
España
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Gov.gr Wallet
País
Grecia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
TAXISnet credentials
País
Grecia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Certilia mobile.ID
País
Croacia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eOI (identity card)
País
Croacia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
NIAS (e-Građani)
País
Croacia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE (usa la eOI, notificada por la UE en nivel Alto)
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
DÁP (Digitális Állampolgárság)
País
Hungría
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Ügyfélkapu+
País
Hungría
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
CIE and CieID
País
Italia
Estado en Didit
Bajo petición
Nivel de garantía
Bajo, Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
IT-Wallet
País
Italia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
SPID
País
Italia
Estado en Didit
Bajo petición
Nivel de garantía
Bajo, Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Carte de identitate (identity card)
País
Moldavia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
EVO
País
Moldavia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
EVOSign
País
Moldavia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MPass
País
Moldavia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Semnătura Mobilă
País
Moldavia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Evrotrust eID
País
Macedonia del Norte
Estado en Didit
Bajo petición
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
m.Uslugi
Aún no lanzado
País
Macedonia del Norte
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
OneID (KIBS)
País
Macedonia del Norte
Estado en Didit
Bajo petición
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
uslugi.gov.mk eID
País
Macedonia del Norte
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Maltese e-ID
País
Malta
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE (solo tarjeta eID y documentos electrónicos de residencia)
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
e-dowód (identity card)
País
Polonia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
login.gov.pl
País
Polonia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
mObywatel
País
Polonia
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Profil Zaufany
País
Polonia
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial, Alto · Notificado por la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Autenticação.gov
País
Portugal
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Cartão de Cidadão
País
Portugal
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Chave Móvel Digital
País
Portugal
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Carte electronică de identitate
País
Rumanía
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
ROeID
País
Rumanía
Estado en Didit
Bajo petición
Nivel de garantía
Sustancial · Notificado por la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eID.gov.rs (ConsentID)
País
Serbia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Lična karta (identity card)
País
Serbia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eOI and eOsebna
País
Eslovenia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE (solo el documento de identidad)
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
SI-PASS
País
Eslovenia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
eID karta (identity card)
País
Eslovaquia
Estado en Didit
Bajo petición
Nivel de garantía
Alto · Notificado por la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
MeID
País
Eslovaquia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Slovensko v mobile
País
Eslovaquia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
e-Devlet
País
Turquía
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Contraseña más un código de un solo uso
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
T.C. Kimlik Kartı (identity card)
País
Turquía
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Diia
País
Ucrania
Estado en Didit
Próximamente
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
BankID NBU
País
Ucrania
Estado en Didit
Bajo petición
Nivel de garantía
no notificado en la UE
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
UAE PASS
País
Emiratos Árabes Unidos
Estado en Didit
Próximamente
Nivel de garantía
Basic, Verified
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Kuwait Mobile ID (Hawyti)
País
Kuwait
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Absher
País
Arabia Saudí
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Nafath
País
Arabia Saudí
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
ConnectID
País
Australia
Estado en Didit
Próximamente
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
myID
País
Australia
Estado en Didit
Bajo petición
Nivel de garantía
Según las reglas del sistema
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
National Online Identity Authentication
País
China
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Identitas Kependudukan Digital (IKD)
País
Indonesia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Aadhaar e-KYC
País
India
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
DigiLocker
País
India
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
My Number Card (JPKI)
País
Japón
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Mobile ID
País
Corea del Sur
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
RealMe verified identity
País
Nueva Zelanda
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
PhilSys (PhilID, ePhilID)
País
Filipinas
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Escanea un código QR con la app
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Singpass (Myinfo)
País
Singapur
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
NDID
País
Tailandia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
ThaID
País
Tailandia
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Mi Argentina
País
Argentina
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
gov.br
País
Brasil
Estado en Didit
Próximamente
Nivel de garantía
Según las reglas del sistema
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Service d'authentification gouvernementale
País
Canadá
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Llave MX
País
México
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
DNIe 3.0
País
Perú
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Apple Wallet Digital ID
País
Estados Unidos
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Google Wallet ID Pass
País
Estados Unidos
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
ID.me
País
Estados Unidos
Estado en Didit
Bajo petición
Nivel de garantía
NIST IAL2
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Login.gov
País
Estados Unidos
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Inicia sesión en la página del esquema
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
State mobile driver's licences (mDL)
País
Estados Unidos
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Cédula digital wallet
Aún no lanzado
País
Uruguay
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Aprueba en la app eID
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
National Identification Number (NIN)
País
Nigeria
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Confirma un código en el teléfono
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Smart ID card
País
Sudáfrica
Estado en Didit
Bajo petición
Nivel de garantía
No indicado
Qué hace el usuario
Toca la tarjeta de identificación (NFC) o usa un lector de tarjetas
Datos que recibes
Por esquema
Precio por inicio de sesión
Bajo petición
Última revisión: 5 de octubre de 2026. No es asesoramiento legal. El nivel de garantía es el propio nivel del esquema bajo eIDAS (la regulación de la UE sobre identificación electrónica) o las normas nacionales, según lo publique el emisor o la lista de esquemas notificados de la UE. Los precios son por inicio de sesión completado. Para cualquier esquema marcado como Bajo petición, contáctanos: la ruta de documentos con lectura de chip ya funciona en ese país.
Mira el flujo
Tres pantallas, sin foto de documento.
Lo que tu cliente ve con Smart-ID: elige el eID, confirma un código en la app y vuelve verificado. MitID, BankID y Finnish Trust Network se conectan a la app en el mismo teléfono, o muestran un código QR en el escritorio.
Verifica con tu eID
MitID
BankID
Finnish Trust Network
Smart-ID
Mobile-ID
01
Elige tu eID
El selector muestra los eIDs que aceptas para el país del usuario, con sus marcas oficiales.
Tu código de verificación
4821
Comprueba que tu app muestra el mismo código y luego confirma.
02
Aprueba en la app
El usuario comprueba que el código coincide y luego confirma con su PIN en la app eID. Didit nunca ve el PIN.
Identidad verificada
Volviendo a la aplicación
03
Verificado
El flujo devuelve al usuario a tu aplicación, y el resultado firmado llega por webhook.
Integra
Activa los eIDs. Lee el resultado firmado.
Habilita los eIDs por país en el flujo de trabajo, con la ruta de documentos como alternativa, y luego lee el resultado firmado de la decisión de sesión o del webhook.
Implementa la verificación eID con un solo prompt.
Copia este prompt en tu agente de codificación y describe tu stack. Cubre la configuración del flujo de trabajo por país, la llamada de sesión, el webhook firmado, el resultado de wallet_verification y la facturación.
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
Cumplimiento por diseño
Abre un nuevo país en un clic. Nosotros hacemos el trabajo duro.
Abrimos las filiales locales, aseguramos las licencias, realizamos las pruebas de penetración, obtenemos las certificaciones y nos alineamos con cada nueva regulación. Para lanzar verificaciones en un nuevo país, activa un interruptor. Más de 220 países en vivo, auditados y probados trimestralmente, el único proveedor de identidad que un gobierno de un estado miembro de la UE ha calificado formalmente como más seguro que la verificación presencial.
Empieza gratis. Paga por uso. Escala a Enterprise.
500 verificaciones gratis cada mes, para siempre. Después, paga solo cuando se ejecute un módulo. Contratos personalizados, residencia de datos y acuerdos de nivel de servicio (SLA) en Enterprise.
Gratis
$0/ mes · sin tarjeta
Para construir, probar y tus primeros usuarios.
Todo lo que necesitas para empezar:
500 verificaciones KYC completas cada mes
ID, prueba de vida, coincidencia facial, dispositivo e IP
Más de 200 señales de fraude, lista de bloqueo, duplicados
KYC reutilizable en toda la red Didit
Constructor de flujos de trabajo, gestión de casos, SDKs
Soporte con IAAgente de IA en consola, documentación y comunidad.