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 theworkflowStepResults
array. - 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 aprocessResults
array. Each object here is a Process Result Object (PRO) containing granular data. - Drill into
supplementaryData
: The richest details are in thesupplementaryData
object within a PRO. Thetype
field 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_validation
indicate 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_comparison
key often includes aconfidence
score.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_detection
key will often have aconfidence
score.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. TheresultMap
will 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, eitherENTITY
data orOCR_UPDATE
data.
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
SUSPECTED
orREJECTED
, a corresponding issue is typically created. For example, aREJECTED
IDV_FACIAL_LIVENESS
result will generate aLIVENESS_DETECTION
issue with aWARNING
severity. - 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
SUSPECTED
OCR mismatch), you can manually override it. By callingPATCH /v2/individuals/{entityId}/results/idv
and providing theprocessResultId
of the relevant PRO, you can change itsmanualStatus
toCLEAR
. - 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
systemStatus
will be changed fromVALID
toSTALE
orMARKED_INVALID
to indicate that the result is no longer based on the most current entity data.