Verifique que cada votante sea una persona real y única, y detecte a la misma persona que intenta votar dos veces. $0.33 por votante, duplicados detectados de forma gratuita. 500 verificaciones gratuitas cada mes.
Con la confianza de más de 2.000 organizaciones en todo el mundo.
Lo que debe la gobernanza
Las billeteras no son personas. Las personas son personas.
Un solo humano puede crear cien billeteras, direcciones de correo electrónico o teléfonos
desechables. Nada de eso prueba que sean cien humanos diferentes. Didit
vincula el voto a una cara real y a un documento real, y la Búsqueda Facial 1:N (gratuita)
detecta a la misma persona intentándolo de nuevo. 500 verificaciones gratuitas cada mes.
Cómo funciona
Desde el registro hasta el usuario verificado en cuatro pasos.
Paso 01
Crear el flujo de trabajo
Elige las comprobaciones que desees: identificación, prueba de vida, coincidencia facial, sanciones, dirección, edad, teléfono, correo electrónico, preguntas personalizadas. Arrástralas a un flujo en el panel de control o publica el mismo flujo en nuestra API. Ramifica según las condiciones, realiza pruebas A/B, no se requiere código.
Paso 02
Integrar
Integra de forma nativa con nuestro SDK web, iOS, Android, React Native o Flutter. Redirige a una página alojada. O simplemente envía a tu usuario un enlace, por correo electrónico, SMS, WhatsApp, donde sea. Elige lo que se adapte a tu pila tecnológica.
Paso 03
El usuario pasa por el flujo
Didit aloja la cámara, las indicaciones de iluminación, la transferencia móvil y la accesibilidad. Mientras el usuario está en el flujo, puntuamos más de 200 señales de fraude en tiempo real y verificamos cada campo con fuentes de datos autorizadas. El resultado en menos de dos segundos.
Paso 04
Recibes los resultados
Los webhooks firmados en tiempo real mantienen tu base de datos sincronizada en el momento en que un usuario es aprobado, rechazado o enviado a revisión. Consulta la API bajo demanda. O abre la consola para inspeccionar cada sesión, cada señal y gestionar los casos a tu manera.
Diseñado para la gobernanza · Con precio de infraestructura
Seis primitivas. Una API. $0.33 por votante.
La identidad anti-Sybil no es una comprobación, es una receta. KYC del votante, búsqueda contra la cohorte, aplicación de la elegibilidad, firma del paquete de auditoría, reutilización en la siguiente ronda.
Paquete KYC certificado anti-spoofing iBeta Nivel 1: verificación de identidad, prueba de vida pasiva, coincidencia facial 1:1, detección AML. Veredicto en menos de dos segundos, más de 14,000 documentos en más de 220 países.
Cada inscripción se compara con cada votante previamente inscrito. Por encima del umbral de similitud → bloqueo antes de que se registre la votación. Gratuito, limitado solo a tu conjunto de datos.
Candidato a votanteCoincidencia de cohortePuntuaciónAcción
voter-12871voter-911297Bloquear
voter-12872voter-744084Revisar
voter-12873voter-632862Revisar
voter-12874no match9Aprobar
Gratis por cohorte · limitado a su conjunto de datos1:N
03 · Preservación de la privacidad
Demuestra la unicidad. No reveles nada más.
La plataforma de votación solo ve `unique: true`, un PID (Identificador Pseudónimo) pseudónimo, un rango de edad y una región. Los documentos y datos biométricos permanecen dentro de Didit, cifrados en reposo. Cumple con GDPR, ISO/IEC 27001, SOC 2 Tipo 1.
El KYC reutilizable (gratuito, incluido) permite que un votante verificado demuestre su unicidad en cada votación posterior solo con una selfie, sin volver a capturar documentos. Funciona en todas las plataformas impulsadas por Didit. Alineado con eIDAS2.
Primera votación · KYC completo$0.33 por paquete una vez
Próxima votación · solo selfieGratis · KYC reutilizable
MultiplataformaMisma identidad, en cada plataforma Didit
Soulbound, opcionalCombínalo con atestaciones en cadena
Alineado con eIDAS2. El usuario es dueño de la credencial.
05 · Reglas de jurisdicción
Elegibilidad por región para cada votante.
Lista blanca de países, edad mínima, exclusión de sanciones/PEP, caducidad de documentos, umbral de similitud: todo aplicado en un solo flujo de trabajo. Edita las reglas en el Creador de flujos de trabajo sin código sin necesidad de volver a desplegar.
País de emisión · lista blancaES · FR · DE · ITAprobar
Edad mínima≥ 18Aprobar
Sanciones / PEP encontradoMás de 1,300 listasBloquear
Caducidad del documentoVálido el día de la votaciónRevisar
Búsqueda facial 1:N · cohorte≥ 0.85 de similitudBloquear
Edite la elegibilidad en el Creador de Flujos de Trabajo sin código.
06 · Paquete de auditoría
Pruebas criptográficas de integridad de voto.
Recibos de inscripción firmados (X-Signature-V2, HMAC SHA-256), PIDs de votante pseudónimos, registros a prueba de manipulaciones con retención predeterminada de 5 años. Exporta a tu portal de transparencia o al snapshot de tu DAO.
Coincidencias no vacías superiores a 0.85 → duplicado, bloquear.documentos →
Integración lista para el agente
Implementa la votación anti-Sybil en una sola instrucción.
Pégalo en Claude Code, Cursor, Codex, Devin, Aider o Replit Agent. Rellena tu pila. El agente construye el flujo de trabajo de inscripción, bloquea duplicados, firma el veredicto y prepara la siguiente ronda.
didit-integration-prompt.md
You are integrating Didit anti-Sybil identity into a voting / governance / survey / airdrop / quadratic-funding platform. The recipe ensures each real human can be counted exactly once — no duplicates, no bots, no farmed accounts.
Two pillars:
1. Verify the voter is a real human with a real identity. ONE call to POST /v3/session/ with ID Verification + Liveness + Face Match.
2. Check the voter has not already been enrolled in this cohort. Face Search 1:N runs the voter's face against every previously-enrolled voter and returns a similarity score. Above threshold → duplicate, block.
Cost:
- Voter Know Your Customer (KYC) bundle: $0.33 per voter (Sessions API)
- Face Search 1:N: free (included)
- Re-vote / next round with Reusable KYC: free (the user proves uniqueness without re-doing KYC)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Face Search 1:N + your jurisdiction rules (age, country, sanctions).
STEP 1 — Enrol the voter with the Sessions API
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + Face Search 1:N>",
"vendor_data": "<your voter id, max 256 chars>",
"callback": "https://<your-app>/vote/enrolment/callback",
"metadata": {
"purpose": "vote_enrolment",
"cohort_id": "<your election / round / airdrop id>"
}
}
Response: 201 Created with the hosted session URL. Redirect the voter to it. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on enrolment completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your voter id>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"face_search": { "status": "Approved", "matches": [] }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 3 — Block duplicates
When face_search.matches is non-empty AND the top match's similarity is above your threshold (typical: 0.85), DO NOT add the voter to the cohort. The voter has likely been enrolled already, possibly under a different document or alias.
Recommended handling:
similarity ≥ 0.95 → block automatically, log the match
similarity 0.85–0.95 → route to manual review
similarity < 0.85 → enrol normally
STEP 4 — Privacy-preserving storage
The platform stores ONLY:
- voter_pid (pseudonymous identifier — a UUID, NOT the raw document number)
- unique (boolean)
- age_band (e.g. "18+", "25-34") — never the raw birth date unless your eligibility rule needs it
- region (e.g. "EU", "ES") — never the raw address
Documents, biometrics, and full names stay inside Didit, encrypted at rest. Default retention 5 years post-relationship; configurable per workflow.
STEP 5 — Read the decision on demand
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full decision JSON. Use this when the tally service needs to confirm a voter is still eligible at vote time.
STEP 6 — Reusable KYC for subsequent rounds
Once a voter is verified, the next vote / round / airdrop can reuse the verification at no extra cost. The user proves uniqueness with a selfie only — no document re-capture. Same workflow, different cohort id.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Don't transform them.
- Face Search 1:N is scoped to YOUR cohort by default — Didit doesn't share faces across customers.
- Always check the duplicate score BEFORE recording the ballot, never after.
- The platform never sees the raw ID document or the raw face template — only the verdict and the pseudonymous PID.
- Default record retention is 5 years post-relationship per the EU AML package; extend per your governing body's rules.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/integration/webhooks
- https://docs.didit.me/core-technology/reusable-kyc/overview
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
¿Necesita más contexto? Consulte la documentación completa del módulo.docs.didit.me →
Cumplimiento por diseño
Abre un nuevo país con 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 enviar 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 en persona.
Por votante — paquete KYC completo, búsqueda facial 1:N dentro de la cohorte incluida.
Free
KYC reutilizable — las rondas subsiguientes prueban la unicidad solo con una selfie.
<0s
Veredicto de inscripción de extremo a extremo por votante, en Android de nivel básico.
0
Verificaciones gratuitas cada mes, en cada cuenta.
Tres niveles, una lista de precios
Empiece gratis. Pague por uso. Escale a Enterprise.
500 verificaciones gratuitas cada mes, para siempre. Pago por uso para producción. Contratos personalizados, residencia de datos y SLAs (Acuerdos de Nivel de Servicio) en Enterprise.
Gratis
Gratis
$0 / mes. No se requiere tarjeta de crédito.
Paquete KYC gratuito (Verificación de ID + Prueba de vida pasiva + Coincidencia facial + Análisis de dispositivo e IP) — 500 / mes, cada mes