Vérifie n'importe quelle identité. Contre la source qui l'a émis.
Vérifie un nom, un numéro d'identification ou une adresse par rapport à la source qui l'a émis — plus de 1 000 registres, bureaux et opérateurs télécoms en un seul appel. À partir de 0,05 $ par vérification, 500 gratuites/mois.
Approuvé par plus de 2000 organisations dans le monde entier.
Registres gouvernementaux
Valide les identités face aux bases de données nationales en direct.
Confirme l'identité de la personne et sa pièce d'identité par rapport au registre officiel — SSN, RFC, CPF,
Aadhaar, NIN, et plus de 60 autres registres nationaux. Prix publié par pays.
Comment ça marche
De l'inscription à l'utilisateur vérifié en quatre étapes.
Étape 01
Crée le workflow
Choisis les vérifications que tu souhaites — ID, vivacité, correspondance faciale, sanctions, adresse, âge, téléphone, e-mail, questions personnalisées. Fais-les glisser dans un flux sur le tableau de bord, ou publie le même flux via notre API. Crée des branches conditionnelles, exécute des tests A/B, aucun code requis.
Étape 02
Intègre
Intègre nativement avec nos SDK Web, iOS, Android, React Native ou Flutter. Redirige vers une page hébergée. Ou envoie simplement un lien à ton utilisateur — par e-mail, SMS, WhatsApp, n'importe où. Choisis ce qui correspond à ta stack.
Étape 03
L'utilisateur suit le parcours
Didit gère la caméra, les indications lumineuses, le transfert mobile et l'accessibilité. Pendant que l'utilisateur est dans le flux, nous évaluons plus de 200 signaux de fraude en temps réel et vérifions chaque champ par rapport à des sources de données fiables. Résultat en moins de deux secondes.
Étape 04
Tu reçois les résultats
Des webhooks signés en temps réel maintiennent ta base de données synchronisée dès qu'un utilisateur est approuvé, refusé ou envoyé en révision. Interroge l'API à la demande. Ou ouvre la console pour inspecter chaque session, chaque signal, et gérer les cas à ta manière.
Conçu pour les développeurs · Conçu contre la fraude · Ouvert par nature
Six fonctionnalités. Un seul feature flag. DATABASE_VALIDATION.
Chaque fonctionnalité ci-dessous est un interrupteur sur le même module. Pas de niveaux de vente incitative, pas de plans séparés, pas d'appels additionnels — active les services que tu souhaites par workflow.
Registres civils, autorités fiscales, listes électorales, agences de crédit, opérateurs télécoms, registres judiciaires et vérification d'adresse — tous accessibles via un seul endpoint. Une nouvelle source est ajoutée chaque mois et apparaît automatiquement.
Catalogue de sources
POST /v3/database-validation/ · routé par issuing_state
En direct
1,000+
Sources
60+
Pays
6
Catégories
1
Endpoint
État civilBureau de créditTélécomRegistres judiciairesAdresse
Choisis le domaine de données qui correspond à la fraude que tu combats. Les vérifications de registre civil déjouent les identités synthétiques. Les vérifications d'agences de crédit confirment l'historique. Les vérifications télécoms confirment une ligne active. La vérification d'adresse prouve la résidence.
Exécute les services en parallèle. La plus haute confiance l'emporte.
Active autant de services que tu veux par pays et Didit les exécute en parallèle. Une source confirmant est un signal fort — deux sources indépendantes corroborant sont le verdict le plus solide que nous puissions rendre.
Orchestration par source
issuing_state=BRA · cascade parallèle
Correspondance 2x2
2/3
Sources correspondantes
2×2
validation_type
1
Ignoré · non facturé
bra_cpfReceita FederalCorrespondance complète
bra_tseTribunal Superior EleitoralCorrespondance complète
bra_addrCorreios CEP · entrée manquanteIgnoré
04 · Format du rapport
Correspondance par champ. Données source. Score biométrique.
Chaque source renvoie un verdict par champ, un code de résultat et un enregistrement de registre nettoyé — nom complet, dates, photo, signature et un score de correspondance faciale sur les services biométriques comme le RENAPER en Argentine et le Tribunal Electoral au Panama.
Rapport de validation
Receita Federal · outcome_code MATCH
full_match
first_name
Joãofull_match
last_name
Silvafull_match
date_of_birth
14/03/1988full_match
identification_number
123.456.789-00full_match
Correspond au registre · confiance 1×1
address
Av. Paulista, São Paulopartial_match
face_match_score
0.97full_match
05 · Couverture régionale
Amérique latine, Espagne et plus de 45 pays.
19 registres civils directement intégrés en Amérique latine et en Espagne. 156 ensembles de données dans 45 autres pays via le réseau d'identité mondial. Une nouvelle intégration est généralement mise en ligne en deux à trois semaines sur demande.
Couverture régionale
LATAM + Espagne · réseau mondial · 45+ pays
En direct
19
Registres directs
45+
Pays
156
Datasets · réseau
🇦🇷ARGRENAPER · biométriqueDirect
🇲🇽MEXRENAPO · registre civilDirect
🇩🇴DOMJunta Central ElectoralEn direct
🇸🇬SGPMyInfo · semaine de lancement 2En attente
06 · Paiement variable par appel
À partir de 0,05 $ par vérification. Aucun minimum. 500 gratuites.
Facturé uniquement sur une requête réussie. Niveau le moins cher 0,05 $ (République dominicaine). Niveau standard de registre gouvernemental 0,20 $ (Argentine, Brésil, Mexique, Espagne, Colombie, Pérou, Chili, et plus). Les services ignorés ne sont jamais facturés.
Tarification par source
Paiement par appel réussi · 500 gratuits / mois
À partir de 0,05 $
$0.05
Niveau le moins cher
$0.20
Niveau standard
$1.50
Biométrie premium
🇩🇴Junta Central Electoral$0.05Le moins cher
🇧🇷Receita Federal · CPF$0.20Standard
🇵🇦SIB Plus · biométrique$1.50Premium
Ignoré · non facturé si les entrées requises sont manquantes.500 gratuits / mois
Intègre
Deux endpoints. Même JSON. Même catalogue.
Laisse Didit capturer l'ID et extraire automatiquement les champs, ou envoie directement les données d'identité si tu les as déjà. Même format JSON en sortie.
Tu gères les données d'identité. Nous les acheminons vers le bon registre et te
retournons le verdict en ligne.docs →
Intégration prête pour agent
Déploie la validation de base de données en une seule invite.
Colle le bloc ci-dessous dans Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Renseigne ta stack — framework, langage, cas d'utilisation — et l'agent déploiera le workflow, le webhook et le code de décision de bout en bout.
didit-integration-prompt.md
# Didit Database Validation — integrate in 5 minutes
You are integrating Didit's Database Validation module into <my_stack>.
Database Validation cross-references each user's identity data against the
authoritative source for that country — the national civil registry, tax
authority, electoral roll, credit bureau, telco database, court record or
biometric service that issued the document. 1,000+ data sources reachable
through one endpoint. Follow these steps exactly. Every URL, header, and
enum value below is canonical — do not paraphrase or "improve" them.
## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
(returns an API key bound to the workspace + application).
## 2. Two integration paths — pick one
### Path A — Workflow Builder (hosted UI)
Best when you want Didit to capture the ID document, run Optical Character Recognition (OCR), derive the
required fields automatically, and trigger the right registry service per
issuing country.
1. Create a workflow that contains the DATABASE_VALIDATION feature:
POST https://verification.didit.me/v3/workflows/
Authorization header: x-api-key: <your-api-key>
Body: workflow_label, features array including
{ feature: "DATABASE_VALIDATION" } (UPPERCASE — strict enum)
Configure per-country service IDs (e.g. arg_renaper, bra_cpf,
mex_curp, dom_cedula) plus partialMatchAction / noMatchAction.
2. Create a verification session for an end user:
POST https://verification.didit.me/v3/session/
Body: workflow_id (from step 1), vendor_data (your own user id).
Response: session_url — redirect the user to it.
3. Listen for webhook callbacks (see "Webhooks" below).
### Path B — Standalone server-to-server API
Best when you already have the identity fields (mobile SDK capture,
existing onboarding pipeline, reseller flow). Single endpoint, every
country and every service routed through it.
POST https://verification.didit.me/v3/database-validation/
Content-Type: multipart/form-data
Body fields (all optional except issuing_state and at least one identifier):
- issuing_state (required, ISO 3166-1 alpha-3, e.g. ARG, BRA, MEX)
- services (optional, repeated, service IDs to run; omit
to run every configured service for that country)
- identification_number (e.g. DNI, CPF, CURP, cedula number)
- first_name
- last_name
- date_of_birth (YYYY-MM-DD)
- selfie (file, required for biometric services such as
arg_renaper, pan_cedula_sib, pan_cedula_sib_plus)
- address_element_1 (street + number)
- address_element_2 (unit / building / floor)
- address_element_3 (suburb / district)
- address_element_4 (city / state / region)
- address_element_5 (postal code; postal_code alias accepted)
- consent (boolean — required when the selected service
has requires_consent=true in the catalog)
- vendor_data (optional string, your user id)
Response: JSON report with match_type, validation_type (1x1 or 2x2),
per-service validations, source_data, and any warnings.
## 3. Webhooks (Path A only — Path B returns synchronously)
- Register a webhook destination once via
POST https://verification.didit.me/v3/webhook/destinations/
Body: url, subscribed_events: ["session.verified", "session.review_started",
"session.declined"]
- Response includes secret_shared_key — store it.
- Every webhook delivery carries an X-Signature-V2 header you MUST verify
before trusting the payload. HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature.Algorithm:
1. sortKeys(payload) recursively
2. shortenFloats (truncate trailing zeros after the decimal point)
3. JSON.stringify the result
4. HMAC-SHA256 with the secret_shared_key
5. Hex-encode, compare to the X-Signature-V2 header.
## 4. Reading the report (both paths return the same shape)
The database_validation object includes:
- status: "Approved" | "Declined" | "In Review" | "Not Finished"
- match_type: "full_match" | "partial_match" | "no_match"
- issuing_state: ISO 3166-1 alpha-3 country code
- validation_type: "1x1" (single source full-match) or "2x2" (two
independent sources corroborate the data)
- screened_data: the user fields submitted (identification_number,
first_name, last_name, date_of_birth, selfie, address fields, ...)
- validations: array of per-service results. Each entry carries
service_id (e.g. arg_renaper), service_name, outcome_code (MATCH,
NO_MATCH, DOCUMENT_NOT_FOUND, BIOMETRIC_IMAGE_UNUSABLE,
REGISTRY_UNAVAILABLE, ...), optional outcome_detail, a per-field
validation block (full_match / partial_match / no_match), and a
source_data block lifted from the registry record (photo, signature,
full_name, gender, dates, face_match_score for biometric services).
Configurable risks (action per workflow — Decline, Review, or Approve):
- DATABASE_VALIDATION_PARTIAL_MATCH (partialMatchAction)
- DATABASE_VALIDATION_NO_MATCH (noMatchAction)
Warnings raised when a service cannot run:
- COULD_NOT_PERFORM_DATABASE_VALIDATION — required input field missing
(e.g. CPF could not be OCR-extracted). You are NOT charged. Session
auto-moves to In Review; saving the missing field in the Console
retriggers the check.
## 5. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: DATABASE_VALIDATION, ID_VERIFICATION,
LIVENESS, FACE_MATCH, AML, IP_ANALYSIS.
- Country codes are ISO 3166-1 alpha-3 UPPERCASE: ARG, BRA, MEX, ESP, ...
- Service IDs are lowercase snake-case with a country prefix:
arg_renaper, bra_cpf, mex_curp, dom_cedula, pan_cedula_sib_plus, ...
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: "Approved", "Declined", "In Review",
"Not Finished" (title-cased, space-separated).
- match_type casing matches exactly: full_match, partial_match, no_match
(lowercase snake-case).
- You are only billed when a service returns a result. Skipped services
(missing input, unsupported issuing_state) are never billed.
## 6. Pricing reference (public, pay-per-call)
- Variable per source. Lowest tier: $0.05 per check (Dominican Republic,
Junta Central Electoral).
- Standard government-registry tier: $0.20 per check (Argentina RENAPER,
Brazil Receita Federal CPF, Mexico RENAPO CURP, Spain DGP, Colombia
Registraduria, Peru RENIEC, Chile Registro Civil, Ecuador, Uruguay,
El Salvador, Guatemala, Honduras, Bolivia, Paraguay, Venezuela, Costa
Rica).
- Biometric premium tier: $0.75 (Panama SIB) up to $1.50 (Panama SIB
Plus elevated tier with stronger biometric thresholds).
- Global identity network: 156 datasets across 45 countries (AU, NZ,
UK, IE, FR, DE, IT, ES, PT, NL, BE, CH, AT, Nordics, Greece, Poland,
Czechia, Hungary, Romania, Slovakia, India, Indonesia, Philippines,
Thailand, Malaysia, Singapore, Hong Kong, China, Cambodia, Kenya,
Nigeria, South Africa, Morocco, USA, Canada). Per-service pricing
surfaced in the catalog and billing exports.
- 500 free checks every month, forever, on every account.
## 7. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test the full catalog of services with the per-country reference pages
under https://docs.didit.me/api-reference/database-validation/.
- Switch to live: flip the application's environment toggle in console.
When in doubt: https://docs.didit.me/core-technology/database-validation/overview
Besoin de plus de contexte ? Consulte la documentation complète du module.docs.didit.me →
Couverture des registres officiels
147 registres officiels — recherchable.
Chaque fournisseur de validation de base de données vérifié par Didit, avec l'URL de référence canonique et la catégorie de vérification. Provenant du même catalogue de documentation Mintlify que celui utilisé par la Console Business — recherche par nom de pays, code ISO 3166-1 alpha-3 ou ID de service. 147 services · 53 pays.
Ouvre un nouveau pays en un clic. On s'occupe du plus dur.
Nous ouvrons les filiales locales, obtenons les licences, effectuons les tests d'intrusion, obtenons les certifications et nous alignons sur chaque nouvelle réglementation. Pour déployer des vérifications dans un nouveau pays, il suffit d'activer un interrupteur. Plus de 220 pays en direct, audités et testés chaque trimestre — le seul fournisseur d'identité qu'un gouvernement d'un État membre de l'UE a formellement jugé plus sûr que la vérification en personne.
Registres civils d'Amérique latine et d'Espagne, intégrés directement.
À partir de $0.05
Par vérification. Facturé uniquement sur un résultat.
<0.0s
De bout en bout sur le trafic de production.
Trois niveaux, une seule grille tarifaire
Démarre gratuitement. Paye à l'usage. Passe à l'Enterprise.
500 vérifications gratuites chaque mois, pour toujours. Paiement à l'usage pour la production. Contrats personnalisés, résidence des données et SLAs (Service Level Agreements) pour l'Enterprise.
Gratuit
Gratuit
0 $ / mois. Aucune carte de crédit requise.
Pack KYC gratuit (vérification d'identité + détection de vivacité passive + correspondance faciale + analyse appareil & IP) — 500 / mois, chaque mois
Commence gratuitement → ne paie que lorsqu'une vérification est effectuée → débloque l'Enterprise pour un contrat personnalisé, un SLA ou la résidence des données.
FAQ
Questions fréquentes
Qu'est-ce que Didit ?
Didit est une infrastructure pour l'identité et la fraude — la plateforme que nous aurions aimé avoir lorsque nous développions nos propres produits : ouverte, flexible et pensée pour les développeurs, afin qu'elle s'intègre parfaitement à ta stack plutôt que d'être une boîte noire avec laquelle tu dois jongler.
Une seule API couvre la vérification des personnes (KYC, Know Your Customer), la vérification des entreprises (KYB, Know Your Business), le screening des portefeuilles crypto (KYT, Know Your Transaction), et le monitoring des transactions en temps réel — sur une stack conçue pour être :
Rapide — p99 inférieur à 2 secondes sur chaque session
Fiable — en production avec plus de 1 500 entreprises dans plus de 220 pays
Sécurisée — SOC 2 Type 1, ISO 27001, conforme au GDPR, et officiellement attestée par le régulateur financier espagnol comme plus sûre que la vérification en personne
L'empreinte sous-jacente : plus de 14 000 types de documents dans plus de 48 langues, plus de 1 000 sources de données, et plus de 200 signaux de fraude sur chaque session. L'infrastructure Didit apprend dynamiquement de chaque session et s'améliore chaque jour.
Qu'est-ce que la validation de base de données ?
La validation de base de données croise les données d'identité d'un utilisateur — nom, date de naissance, numéro d'identification, adresse — avec plus de 1 000 sources fiables accessibles via un seul endpoint. Registres civils gouvernementaux, autorités fiscales, listes électorales, bureaux de crédit, bases de données télécoms et dossiers judiciaires, ainsi que la vérification d'adresses.
Elle permet de déjouer les identités synthétiques (un DNI ou un CPF brésilien fabriqué ne figurera pas dans les registres officiels), de confirmer la résidence pour l'onboarding AMLD6 (Anti-Money Laundering Directive 6), et de router automatiquement par issuing_state pour que tu n'aies pas à coder en dur les fournisseurs par pays.
Variable par fournisseur, facturé uniquement sur un résultat. Pas de minimum, pas de frais de plateforme, pas de frais sur les services ignorés.
Niveau le moins cher 0,05 $ par vérification (République dominicaine via la Junta Central Electoral).
Niveau standard des registres gouvernementaux 0,20 $ (Argentine, Brésil, Mexique, Espagne, Colombie, Pérou, Chili, et plus).
Premium biométrique 0,75 $ – 1,50 $ (Panama Servicio de Identificación Biométrica (SIB) et SIB Plus).
Inclus dans un workflow KYC (Know Your Customer) complet avec la vérification de document d'identité + la détection du vivant + la correspondance faciale : 0,33 $ par session.
Quelle est la rapidité de la vérification pour mon utilisateur final ?
Le flux complet prend normalement moins de 30 secondes de bout en bout — prends la pièce d'identité, scanne le document, prends le selfie, c'est fait. C'est le plus rapide du marché. Les fournisseurs KYC traditionnels prennent généralement plus de 90 secondes pour le même flux.
En arrière-plan, Didit renvoie le résultat en moins de deux secondes au p99, mesuré à partir du moment où l'utilisateur termine le selfie jusqu'au déclenchement de ton webhook. La capture mobile est optimisée pour les téléphones lents et les réseaux lents : compression d'image progressive, chargement paresseux du SDK (Software Development Kit), et un transfert en un clic du bureau au téléphone via un code QR si l'utilisateur commence sur le web.
Quelle est la forme de la réponse ?
L'objet database_validation renvoie :
status — Approved, Declined, In Review.
match_type — full_match, partial_match, no_match.
validation_type — 1x1 (un registre corrobore) ou 2x2 (deux registres indépendants corroborent, la plus haute confiance que nous puissions exprimer).
validations[] — lignes par service avec service_id, résultat par champ, un outcome_code (MATCH, NO_MATCH, DOCUMENT_NOT_FOUND, BIOMETRIC_IMAGE_UNUSABLE, REGISTRY_UNAVAILABLE), et les source_data extraites de l'enregistrement du registre — nom complet, dates, URL (Uniform Resource Locator) de la photo, signature, plus face_match_score pour les services biométriques.
Même forme sur l'API (Application Programming Interface) autonome et sur le flux de session.
Que se passe-t-il si un utilisateur échoue, abandonne ou expire ?
Chaque session aboutit à l'un des sept statuts clairs, afin que ton code sache toujours quoi faire :
Approved — toutes les vérifications ont réussi. Fais avancer l'utilisateur.
Declined — une ou plusieurs vérifications ont échoué. Tu peux permettre à l'utilisateur de soumettre à nouveau l'étape spécifique qui a échoué (par exemple, reprendre le selfie) sans relancer tout le flux.
In Review — signalé pour examen de conformité. Ouvre le cas dans la console, vois tous les signaux, décide d'approuver ou de refuser.
In Progress — l'utilisateur est en cours de flux.
Not Started — lien envoyé, l'utilisateur ne l'a pas encore ouvert. Envoie un rappel s'il reste trop longtemps.
Abandoned — l'utilisateur a ouvert le lien mais n'a pas terminé à temps. Relance ou expire.
Expired — le lien de session a expiré. Crée une nouvelle session.
Un webhook signé se déclenche à chaque changement de statut, afin que ta base de données reste toujours synchronisée. Les sessions abandonnées et refusées sont gratuites.
Où sont stockées mes données client et comment sont-elles protégées ?
Les données de production sont traitées et stockées par défaut dans l'Union européenne, sur Amazon Web Services. Les contrats d'entreprise peuvent demander des régions alternatives pour les juridictions dont les régulateurs l'exigent.
Chiffrement partout. AES-256 au repos sur chaque base de données, stockage d'objets et sauvegarde. TLS 1.3 (Transport Layer Security) en transit sur chaque appel API, webhook et session de la console Business. Les données biométriques sont chiffrées sous une clé de client principale distincte.
La rétention est sous ton contrôle. La rétention par défaut est indéfinie (illimitée), sauf si tu configures une durée plus courte — entre 30 jours et 10 ans par application — et tu peux supprimer n'importe quelle session individuelle à tout moment depuis le tableau de bord ou l'API.
Certifications : SOC 2 Type 1 (audit Type 2 en cours), ISO/IEC 27001:2022, iBeta Level 1 PAD, et une attestation publique du Tesoro / SEPBLAC / CNMV espagnol que la vérification d'identité à distance de Didit est plus sûre que la vérification en personne. Rapport complet sur /security-compliance.
Didit est-il conforme pour mon secteur d'activité ?
Didit est conforme par défaut aux régulateurs clés de l'infrastructure d'identité :
GDPR + UK GDPR — séparation contrôleur/sous-traitant, accord de traitement des données complet publié, autorité de contrôle principale désignée (AEPD espagnole).
AMLD6 + EU AML Single Rulebook — plus de 1 300 listes de sanctions, de personnes politiquement exposées et de médias défavorables filtrées en temps réel.
eIDAS 2.0 — aligné avec le portefeuille d'identité numérique de l'UE ; prêt pour l'identité réutilisable.
MiCA (Markets in Crypto-Assets) — prêt pour les rampes d'accès crypto, les échanges et les dépositaires.
DORA — Digital Operational Resilience Act, résilience opérationnelle des services financiers de l'UE.
BIPA, CUBI, Washington HB 1493, CCPA / CPRA — confidentialité biométrique américaine (Illinois, Texas, Washington) et confidentialité des consommateurs californiens.
UK Online Safety Act — obligations de vérification de l'âge et de sécurité des enfants.
FATF Travel Rule — données sur l'expéditeur et le bénéficiaire des transferts crypto, interopérable IVMS-101.
Mémo détaillé, chaque certificat, chaque lettre de régulateur : /security-compliance.
À quelle vitesse puis-je intégrer et commencer à vérifier des utilisateurs ?
60 secondes pour un compte sandbox sur business.didit.me — sans carte de crédit.
5 minutes pour une vérification fonctionnelle via Claude Code, Cursor, ou tout agent de codage via notre serveur Model Context Protocol (MCP).
Un week-end pour une intégration prête pour la production avec vérification par webhook signé, tentatives et un flux de remédiation lorsqu'un utilisateur est refusé.
Trois chemins d'intégration — choisis celui qui correspond à ta stack :
Intègre nativement avec nos SDK Web, iOS, Android, React Native ou Flutter.
Redirige l'utilisateur vers la page de vérification hébergée — zéro SDK.
Envoie un lien par e-mail, SMS, WhatsApp ou tout autre canal — zéro travail front-end.