Extraction de données
Une API de numérisation de pièces d'identité par OCR qui renvoie des champs structurés, et non un bloc de texte.
ShieldID transforme une pièce d'identité gouvernementale avec photo en données structurées, champ par champ : nom, date de naissance, numéro du document, date d'expiration, adresse et plus encore, chacun accompagné de sa source et de son propre verdict. Une API d'extraction de données de documents et une API de vérification de documents dans la même session.
Ce que vous recevez
Des champs structurés, là où le document les comporte réellement.
Tous les documents ne comportent pas tous les champs. ShieldID renvoie ce que le document contient et indique ce qui est absent.
- Nom complet
- Tel qu'imprimé, et tel qu'encodé dans le code-barres ou la MRZ lorsque le document en comporte un.
- Date de naissance
- Lu sur le recto imprimé et recoupé avec le code-barres et la MRZ.
- Numéro du document
- Numéro de permis ou numéro de passeport, dont la cohérence interne est vérifiée lorsque le format de l'émetteur le permet.
- Date d'expiration
- Lue sur le recto imprimé et dans le code-barres ou la MRZ.
- Adresse
- Lue sur le recto imprimé et dans le code-barres lorsqu'il est présent; comparable à un document d'adresse téléversé séparément.
- Sexe
- Lu lorsque le document l'imprime ou l'encode.
- Autorité émettrice
- Identifié à partir du code d'émetteur du code à barres lorsque le document en comporte un reconnu, selon la disponibilité.
Trois sources, une seule comparaison
Le code-barres, la MRZ et le recto imprimé, lus de façon délibérée, et non mélangés par accident.
Chaque champ est associé à la source dont il provient. Lorsque deux sources ne concordent pas, cela est signalé dans le résultat, et non traité comme une moyenne des deux valeurs.
Code à barres PDF417
Le verso d'un permis de conduire ou d'une carte d'identité nord-américains est décodé en champs AAMVA structurés. Lorsqu'un document comporte un code à barres, ses champs ont priorité sur le recto imprimé.
MRZ du passeport
La zone lisible par machine est repérée, lue et validée selon les formules de chiffres de contrôle de l'OACI intégrées à la zone. Un score de validité minimal, vérifié par rapport à ce score, détermine si un champ lu dans la MRZ est jugé fiable ou non — une zone qui échoue à sa propre somme de contrôle ne peut pas prendre le pas sur une source plus propre.
OCR structuré et pleine page du recto
Le recto imprimé est lu à l'aide de la mise en page propre au document lorsqu'elle est reconnue, avec repli sur l'OCR pleine page afin qu'un document peu familier produise tout de même des champs lisibles.
Les conflits sont signalés, pas moyennés
Un nom ou une date de naissance qui diffère entre le recto, le code à barres et la MRZ est signalé comme une divergence dans le résultat. Rien dans le pipeline ne choisit silencieusement un gagnant en masquant le désaccord.
Validation de la somme de contrôle de la MRZ
Une zone lisible par machine doit vérifier ses propres calculs avant que nous lui accordions notre confiance.
La zone lisible par machine de l'OACI d'un passeport comporte des chiffres de contrôle de par sa conception. ShieldID les valide avant de considérer un champ lu dans la MRZ comme fiable.
Un détecteur dédié repère la MRZ, un lecteur en extrait les caractères, et le résultat reçoit un score de validité établi selon les formules de somme de contrôle propres à la zone. Seul un champ qui atteint le score de validité minimal est considéré comme fiable à pleine priorité; une zone mal lue est traitée en conséquence plutôt que transmise comme si elle était propre.
Priorité au code à barres
Lorsque les sources se chevauchent, la plus fiable l'emporte.
Un même champ peut figurer sur le code à barres, dans la MRZ et sur le recto imprimé. ShieldID règle la question selon un ordre unique et constant, chaque fois.
- Code à barres PDF417
- MRZ du passeport, une fois sa somme de contrôle validée
- Lecture structurée du recto imprimé
- Repli sur l'OCR pleine page
Documents d'adresse
Téléversez un second document et obtenez une comparaison d'adresse simple.
Lorsqu'une vérification exige une preuve d'adresse, le demandeur téléverse un document distinct et ShieldID le lit de la même manière que la pièce d'identité.
Le document d'adresse est soumis à l'OCR, puis son adresse est comparée à celle lue sur la pièce d'identité. Il s'agit d'une simple comparaison de texte et de jetons, et non d'un classificateur de documents distinct; elle n'est exécutée que si la session l'exige et qu'un document a réellement été fourni.
Masquage et traitement des renseignements personnels
Les données extraites sont protégées de la même façon que les images.
Les champs structurés bénéficient des mêmes contrôles de confidentialité que ceux qui s'appliquent aux photos de la pièce d'identité elles-mêmes.
Date de naissance chiffrée au repos
La date de naissance est stockée chiffrée au repos; le service ne démarre pas sans la clé de chiffrement en place.
Images purgées selon un minuteur
Les images du document et du égoportrait captées sont purgées automatiquement selon un court minuteur, sept jours par défaut. Un balayage s'exécute à intervalle régulier et de nouveau peu après chaque redémarrage, de sorte qu'une période d'inactivité ne laisse jamais une image au-delà du jour où elle devrait avoir disparu.
Masquage des scores sur l'appareil
Lorsqu'un chiffre de correspondance ou de confiance serait autrement affiché sur le téléphone du demandeur, ShieldID retire le pourcentage sous-jacent de ce message avant son affichage, de sorte qu'un score brut n'est jamais exposé en dehors de votre compte.
Le dossier survit aux images
Les images sont supprimées selon un calendrier. Le fait qu'une vérification ait eu lieu, et ce qu'elle a révélé, demeure dans votre compte — et, pour une intégration Trust Ledger, sous la forme d'une entrée vérifiée/échouée dans le registre d'activité (entrées de registre pour les comptes API ShieldID : bientôt disponible).
Exemple de résultat
Verdicts par champ, dans la forme retournée par l’API.
Les noms, numéros et adresses ci-dessous sont inventés pour cet exemple. L’ensemble de champs, la provenance et les verdicts reflètent la forme réelle d’un résultat.
| Champ | Valeur | Source | Verdict |
|---|---|---|---|
| person.name | "Maria Gonzalez" | barcode | match |
| person.dob | "1991-07-22" | barcode | match |
| person.document_number | "D1234567" | barcode | match |
| person.document_country | "US" | barcode issuer code | match |
| person.address | "1428 Elm St, Sacramento, CA" | barcode | match |
| identity.name_match | PASS | front vs barcode vs requester | PASS |
| checks.document_tamper | "no_indication" | advisory model | advisory, not gating |
// Sample result. Names, numbers and addresses are fictional.
{
"session_id": "ses_9f2c...sample",
"status": "VERIFIED",
"environment": "sandbox",
"person": {
"name": "Maria Gonzalez",
"dob": "1991-07-22",
"document_type": "DRIVERS_LICENCE",
"document_country": "US",
"document_jurisdiction": "CA",
"address": "1428 Elm St, Sacramento, CA"
},
"identity": {
"checks": ["name_match"],
"warnings": [],
"sources": {
"name": "barcode",
"dob": "barcode",
"address": "barcode"
}
},
"checks": {
"document": "PASS",
"identity": "PASS",
"document_tamper": "no_indication"
},
"completed_at": "2026-09-17T14:02:11Z"
}Notes d'intégration
Les mêmes champs, peu importe où vous lisez le résultat.
Les champs structurés ne constituent pas un produit distinct de la session de vérification. Ils arrivent dans le même résultat.
- Les champs sont fournis dans le résultat de la session que vous récupérez par l'API une fois la vérification terminée.
- Le même résultat est transmis à votre point de terminaison par un webhook signé lorsque la vérification se termine, ce qui vous évite d'avoir à l'interroger de façon répétée.
- Chaque champ est associé à sa source et comporte son propre verdict, tant dans le résultat de l'API que dans la charge utile du webhook.
- Les sessions du bac à sable renvoient la même structure de champs qu'en production, ce qui vous permet de développer votre intégration avant même qu'un seul document réel ne soit lu.
Questions
Des réponses claires sur l’extraction de données.
Voyez les champs par vous-même
Lancez une vérification dans le bac à sable et lisez le résultat structuré.
Créez une session dans le bac à sable, numérisez un document avec votre propre téléphone et consultez chaque champ, sa source et son verdict dans la réponse. Les sessions du bac à sable ne sont jamais facturées.