GovFaceMatch Technical Details

GovFaceMatch is Incode’s direct connection to state DMV systems for biometric face comparison. During verification, the supported document data fields are sent to the DMV. If the document data fields match to a record within the DMV database, the uploaded selfie is compared against the official portrait stored in the state’s DMV database. A successful Face Match guarantees that the Data Match also passed, and provides the highest level of assurance that the person presenting the document is the legitimate holder.

GovFaceMatch is part of the overall US GovMatch offering.

Decisioning

State requirements mandate that certain data fields must match before Incode can access the DMV selfie. Face matching only occurs after this data match succeeds. Therefore, a successful Face Match guarantees that the Data Match also passed.

Decisioning should be based on the status value in the overall object. The status value can be:

  • OK: Face Match is successful

  • FAIL: Face Match is unsuccessful

    • Did not meet Must-Match requirements of the state

      OR

    • Met Must-Match requirements of the state, but uploaded face image did not match official photograph stored in the state's DMV database

Scoring

Most states return a face match confidence score with a passing threshold of 77. Due to variability of image quality by state, face match confidence thresholds vary, and not every state may provide that level of granularity. Numeric match confidence is provided where applicable and acceptance thresholds are subject to change. When numeric match confidence is not returned, a simple pass (100.0) / fail (0.0) is used when determining a match.

Must-Match Data fields for CA

For California, the following data must meet the listed match requirements:

  • Document Number: Exact match
  • First 3 letters of Last Name: Partial match
  • Date of Birth: Exact match
Must-Match Data fields for GA, MS, VA

For Georgia, Mississippi, and Virginia, the following data must meet the listed match requirements:

  • Document Number: Exact match
  • First Name: Exact match
  • Last Name: Exact match
  • Date of Birth: Exact match

Standalone API

POST /omni/process/government-validation?countryCode=USA

To retrieve the results of GovMatch, use the Fetch Scores endpoint. When government record verification is enabled for your organization, a governmentValidation field is present in the endpoint results.

Request Body

{
    "idNumber": "T123456789",
    "firstName": "EMILYTEST",
    "paternalLastName": "DAVISTEST",
    "birthDate": "1987-04-18",
    "base64Image": "{{selfie}}",
    "issuerState": "VA"
}

Response Body

{
    "valid": true,
    "statusCode": 0,
    "governmentValidation": {
        "recognitionConfidence": {
            "value": "100.0",
            "status": "OK"
        },
        "validationStatus": {
            "value": "0",
            "status": "OK",
            "key": "ok"
        },
        "ocrValidation": [
            {
                "value": "true",
                "status": "OK",
                "key": "documentNumber"
            },
            {
                "value": "true",
                "status": "OK",
                "key": "firstName"
            },
            {
                "value": "true",
                "status": "OK",
                "key": "paternalLastName"
            },
            {
                "value": "true",
                "status": "OK",
                "key": "birthDate"
            }
        ],
        "ocrValidationOverall": {
            "value": "100.0",
            "status": "OK"
        },
        "overall": {
            "value": "100.0",
            "status": "OK"
        },
        "provider": "DMV Face Match"
    }
}

Response Details

The response for GovFaceMatch is contained within the governmentValidation object. This object contains the following fields:

FieldTypeDescription
validationStatusStatusValueProvider status code for error handling. Contains a value, status, and key. See below for more information.
ocrValidation
Optional
Array[StatusValue]Individual data field match results. Each data field result contains a value, status, and key. See below for more information.
recognitionConfidence
Optional
StatusValueFace Match confidence score. Only present for GovFaceMatch; indicates biometric verification was performed. Contains a value and status. See below for more information.
ocrValidationOverall
Optional
StatusValuePercentage of OCR fields that matched. Supplementary data for analysis. Contains a value and status. See below for more information.
overallStatusValuePrimary verification result. Use this field to determine pass/fail. Contains a value and status. See below for more information.
provider
Optional
StringIndicates whether the request was sent to GovFaceMatch (GovFaceMatch) or GovDataMatch (GovDataMatch). Only present for US verification.

StatusValue key/value pairs

Any field listed as StatusValue in the table above contains a value and a status. Some also contain a key.

FieldTypeDescription
value
Optional
StringThe numeric or boolean value.
statusStringThe status code wrapped in a strong. Possible statuses are:
  • OK: User passed verification.

  • FAIL: Either data or face did not match during validation.

  • UNKNOWN: GovFaceMatch was run, but the submitted document or region isn’t supported or something went wrong when trying to perform validation.

key
Optional
StringThe key for which the status is being reported. For example, firstName, birthDate, or documentNumber.

Error Codes

Please refer to Upcoming Changes to Error Codes for US Government Verification

If these errors appear for a legitimate user, or if the errors persist, submit a support ticket through http://support.incode.com/ for further investigation.

Reason CodeDescriptionStatusNext Steps
providerNotConfiguredProvider Not Configured
Provider is not configured or is incorrectly configured for this flow.
UNKNOWNSubmit a support ticket through http://support.incode.com/ to troubleshoot issues with your configuration.
missingDocumentIdMissing Document Number Document number missing or has an invalid pattern.UNKNOWNCheck ID capture quality for barcode/OCR readability issues.
invalidExpirationDateInvalid Expiration Date Expiration date is not valid per document standards.UNKNOWNCheck ID capture quality for barcode/OCR readability issues. If user is legitimate, submit a support ticket through http://support.incode.com/ for further investigation.
notEnoughDataMissing Required Data
One or more required fields are missing or invalid.
UNKNOWNEnsure all required fields are provided by user into session.
missingSelfieMissing Selfie Provider requires selfie for processing but not provided in session.UNKNOWNEnsure the user provides a selfie into the session.
selfieChecksFailedSelfie Image Quality Check Failed
Higher-quality selfie needed for processing by provider.
UNKNOWNEnsure the user retakes a higher-quality selfie (e.g. check brightness, blurriness, face mask, occlusion).
documentTypeNotSupportedDocument Type Not Supported Invalid document type for validation by the configured provider.UNKNOWNEnsure the user is providing a supported document type.
geographicRegionNotSupportedCountry Not Supported Document country not supported by the configured provider.UNKNOWNVerify the user is providing supported document and countries are provisioned correctly.
geographicStateRegionNotSupportedState Not Supported Document state not supported by the configured provider.UNKNOWNVerify the user is providing supported document and states are provisioned correctly.
connectionErrorProvider Connection Error
Error occurred during processing within provider environment.
UNKNOWNTry again later; if issue persists, submit a support ticket through http://support.incode.com/.
infrastructureErrorIncode Processing Error
Error occurred during processing within Incode environment.
UNKNOWNTry again later; if issue persists, submit a support ticket through http://support.incode.com/.
nullIf government validation status is not present, then it means the module was not run.UNKNOWNTry again later; if issue persists, submit a support ticket through http://support.incode.com/.
userNotFoundUser Not Found
ID not found in government database.
FAILCheck data extraction quality. If user is legitimate, submit a support ticket through http://support.incode.com/ for further investigation.
faceComparisonFailedFace Match Failed
Selfie does not match government database portrait.
FAILCheck selfie capture quality. If user is legitimate, submit a support ticket through http://support.incode.com/ for further investigation.

Did this page help you?