Understanding IDV & Biometrics
Locating IDV & Biometrics Results
Once a workflow has been executed, the detailed results are nested within the overall workflowResult object. To find the specific outcomes of IDV and Biometric checks, you must navigate the JSON structure.
- Start with
workflowStepResults: In theworkflowResult, find theworkflowStepResultsarray. - Identify IDV Steps: Look for steps with names (
stepName) likeIDV_DOCUMENT_CHECK,IDV_FACIAL_COMPARISON,IDV_FACIAL_LIVENESS, andIDV_OCR_COMPARISON. - Examine
processResults: Inside each relevant step result is aprocessResultsarray. Each object here is a Process Result Object (PRO) containing granular data. - Drill into
supplementaryData: The richest details are in thesupplementaryDataobject within a PRO. Thetypefield here is crucial as it defines the structure and meaning of the data.
Decoding supplementaryData for IDV Checks
The structure of the supplementaryData object is determined by its type. For IDV and Biometrics, you will encounter several key types.
Type: IDV_DOCUMENT
This object contains the results of the automated analysis of a submitted identity document, assessing its authenticity and integrity.
Example: supplementaryData for IDV-Document
Key Fields:
outcomeRaw: The original, unprocessed result from the IDV service provider.resultMap: A map containing the results of specific checks. Keys likevisual_authenticity,image_integrity, anddata_validationindicate the status of different verification aspects.detectedDocumentType: The type of document the system identified (e.g.,DRIVERS_LICENSE,PASSPORT).detectedDocumentCountry: The ISO 3166-1 alpha-3 country code of the document as detected by the provider.
Type: IDV_FACIAL_COMPARISON
This object provides the results of comparing a user’s selfie with the photo on their identity document to confirm they are the same person.
Example: supplementaryData for IDV-Facial-Comparison
Key Fields:
resultMap: Contains metrics from the comparison. Theface_comparisonkey often includes aconfidencescore.comparedDocumentId: The unique ID of the identity document used.comparedSelfieId: The unique ID of the selfie document used.
Type: IDV_FACIAL_LIVENESS
This object contains the results of the liveness check, which verifies that the selfie was captured from a live person and not a spoof attempt (e.g., a photo of a photo).
Example: supplementaryData for IDV-Facial-Liveness
Key Fields:
resultMap: Contains the outcome of the liveness test. Theliveness_detectionkey will often have aconfidencescore.comparedSelfieId: The unique ID of the selfie document that was analyzed.
Types: IDV_OCR & IDV_OCR_COMPARISON
The Optical Character Recognition (OCR) process is crucial for extracting data and verifying it against user-provided information. This typically generates two distinct PROs.
-
IDV_OCR: This object holds the raw data extracted directly from the identity document image. TheresultMapwill contain key-value pairs of the fields read from the document, such asfull_name,document_number, anddate_of_birth. -
IDV_OCR_COMPARISON: This object compares the data extracted via OCR with the data already present on the entity. It is used to flag discrepancies.
Example: supplementaryData for IDV-OCR-Comparison
Key IDV_OCR_COMPARISON Fields:
resultMap: Indicates which fields matched successfully.mismatchMap: Crucially, this highlights any fields that did not align, showing the original vs. the OCR-extracted data.comparisonSource: Specifies what the OCR data was compared against, eitherENTITYdata orOCR_UPDATEdata.
FrankieOne employs fuzzy matching logic (Levenshtein distance) for OCR comparison to account for minor typos or OCR errors. For example, a Levenshtein distance of 1 or 2 might be allowed for names before a mismatch is flagged as SUSPECTED.
IDV Issues and Risk Factors
The results from the supplementaryData objects are used to generate specific issues and risk factors that help in decision-making.
- Issues: When a check result is
SUSPECTEDorREJECTED, a corresponding issue is typically created. For example, aREJECTEDIDV_FACIAL_LIVENESSresult will generate aLIVENESS_DETECTIONissue with aWARNINGseverity. - Risk Factors: The status of each check (
CLEAR,SUSPECTED,REJECTED) is also converted into a risk factor (e.g.,idv_document_result,idv_facial_comparison_result) which contributes to the entity’s overall risk score.
Overriding and Invalidating Results
- Overriding: If you disagree with an automated result (e.g., a
SUSPECTEDOCR mismatch), you can manually override it. By callingPATCH /v2/individuals/{entityId}/results/idvand providing theprocessResultIdof the relevant PRO, you can change itsmanualStatustoCLEAR. - Invalidation: IDV results can be automatically invalidated. For example, if an entity’s name or date of birth is updated after a successful OCR check, the original OCR PRO’s
systemStatuswill be changed fromVALIDtoSTALEorMARKED_INVALIDto indicate that the result is no longer based on the most current entity data.
