name, un status, un score entre 0 et 1 (ou null s’il est ignoré), et une justification evidence en français et en anglais, à afficher telle quelle à vos équipes.
mrz_checksum
La zone de lecture automatique (MRZ) contient des chiffres de contrôle calculés selon la norme OACI 9303. VerifNer recalcule chacun d’eux : numéro de document, date de naissance, date d’expiration, et le chiffre composite.
- pass : tous les chiffres de contrôle sont justes.
- fail : un chiffre faux, un caractère invalide ou un format inconnu. C’est un signe fort de falsification ou de document fabriqué. Score plafonné à 0,50.
- skipped : le document n’a pas de MRZ.
1 lu M, un chiffre de contrôle perdu) est corrigée avant d’être jugée quand quelque chose d’indépendant confirme la correction : la valeur de la zone imprimée dont la forme MRZ fait passer le chiffre de contrôle, un seul caractère confondu (0/O, 1/I, 5/S…) que les chiffres de contrôle désignent sans ambiguïté, ou un chiffre de contrôle laissé vide par le lecteur sur une donnée lue. La evidence dit alors « Valide après correction de la lecture : document_number (depuis la zone imprimée) ». Un chiffre faux que rien ne confirme reste faux et le contrôle échoue. Le score est alors plafonné à 0,85, sauf pour la carte papier du Niger quand tous les autres contrôles sont solides.
expiry
La date d’expiration, lue sur la MRZ en priorité, sinon sur la zone imprimée.
- pass : le document est valide à la date de la vérification.
- fail : le document est expiré (score ramené à 0) ou la date est illisible (plafond à 0,50).
viz_mrz_consistency
Compare ce qui est imprimé sur le document (zone visuelle) à ce qui est encodé dans la MRZ : nom, prénoms, date de naissance, sexe, numéro de document, date d’expiration. Un faussaire modifie souvent l’un sans l’autre.
- pass : tous les champs concordent.
- warn : ceux qui ont pu être lus concordent, mais certains étaient illisibles.
- fail : un champ diverge. Si c’est le nom, les prénoms ou la date de naissance, score plafonné à 0,50.
É devient E, les espaces deviennent <).
tamper
Les signes visuels relevés sur la photo du document. Chaque anomalie a un type et une gravité (faible, moyenne, élevée), et la justification reprend la description de ce qui a été vu.
Les anomalies de prise de vue (reflet, flou, cadrage) coûtent des points mais ne font jamais échouer le contrôle à elles seules : elles ne prouvent pas une altération. Si un mauvais cadrage cache la MRZ ou un champ, ce sont les autres contrôles qui échouent.
Un portrait invisible ou une lisibilité très faible font aussi échouer ce contrôle.
face_match
Compare le portrait du document au selfie, avec un modèle de reconnaissance faciale. Le visage est détecté et recadré automatiquement sur chaque image.
- pass : similarité de 0,45 ou plus.
- warn : similarité entre 0,30 et 0,45.
- fail : similarité sous 0,30 (score ramené à 0), aucun visage sur le selfie, plusieurs visages, ou portrait introuvable sur le document (plafond à 0,50).
- skipped : aucun selfie envoyé.
liveness
Présent uniquement quand un test de vivacité a été envoyé avec le selfie (champ liveness de la requête). Les SDK le font pour vous : pendant le selfie, la personne est invitée à tourner la tête dans un ordre tiré au hasard (gauche, droite, parfois vers le haut) et le SDK prend une rafale de petites images (320 px, 3 à 12). Un serveur VerifNer lit la pose de la tête sur chaque image, par rapport au selfie de face, et vérifie que la personne a bien suivi la consigne, dans l’ordre, et qu’il s’agit de la même personne du début à la fin. Une photo imprimée ou un écran ne peuvent pas suivre une consigne tirée au sort. Les images de la rafale sont analysées puis supprimées : elles ne sont jamais conservées.
- pass : chaque mouvement demandé a été observé, dans l’ordre, et chaque image montre la personne du selfie.
- fail : un mouvement manquant ou dans le mauvais ordre, visage immobile, pose de référence illisible, plusieurs visages ou aucun visage sur les images (plafond à 0,50) ; une autre personne sur une image (score ramené à 0).
- skipped : aucune rafale envoyée.
chip_authenticity
Présent uniquement quand une application mobile a lu la puce NFC du passeport ou de la carte (champ chip de la requête, voir Lecture NFC). Sans puce, la vérification garde ses cinq contrôles.
VerifNer refait l’authentification passive OACI 9303 côté serveur : l’empreinte de chaque fichier lu (DG1, la MRZ de la puce ; DG2, son portrait) doit figurer dans l’objet de sécurité signé (SOD), la signature doit être valide, et le certificat du signataire doit être émis par l’autorité racine (CSCA) de l’État émetteur. Quand la puce est authentique, sa MRZ remplace celle lue sur la photo et son portrait sert à la comparaison faciale.
- pass : données intactes, signature valide, et signataire reconnu par la CSCA de l’État ou figurant sur notre liste de signataires connus.
- warn : signature valide mais CSCA de l’État non enregistrée (score 0,75), signataire non reconnu par la CSCA enregistrée (0,25), ou signature non vérifiable (0,50).
- fail : données de la puce modifiées, signature invalide, puce illisible, ou puce d’un autre document que la page imprimée. Score plafonné à 0,50.
viz_mrz_consistency passe en warn au lieu d’échouer, et les champs renvoyés reprennent la valeur de la puce.