Onfido logo home page
Watch a demo
Get in touch
Arrow back Back to guides

Identity Enhanced report logic

Introduction

This guide describes the logic used in the Identity Enhanced report (API v3), and how you can optionally build your own logic on top of it using report results.

Standard logic

If the applicant address is in the UK:

  • "result": "clear" the applicant is not found in mortality lists AND

    • at least one match on the applicant's name and current address, and a match on the applicant's name and date of birth (either in the same or different source) OR
    • 2 matches on the applicant's name and current address from 2 different sources
  • "result": "consider" either:

    • the applicant is found in mortality lists, or;
    • only one match on the applicant's name and current address or name and date of birth
  • "result": "unidentified" no matches are found

This follows the definition of 2+2 as per the JMLSG Guidelines 2014 Section 5.3.69.

If the applicant address is outside of the UK:

  • "result": "clear" at least one source matches the applicant's name and current address
  • "result": "consider" the name and date of birth is matched, but no name and address matches are found
  • "result": "unidentified" no matches are found

When the SSN or the last 4 digits of the SSN are provided:

  • "result": "clear" at least one source matches the applicant's name and address, and the last 4 digits of the SSN are matched
  • "result": "unidentified" no matches are found
  • "result": "consider" otherwise

Number of addresses: As per JMLSG definitions, this check will only attempt to find a match using the applicant's current address.

Mortality: Only checked in the UK.

Building your own logic

You can (optionally) build your own logic around report results.

For example, you may require matches to be found on 2 or more sources and at least 1 match on the applicant's name and current address.

In this example, you would add criteria of:

  1. >=2 against total_number of sources under the total_sources sub-breakdown that is under the sources parent breakdown.
  2. clear against the result value under the address parent breakdown.

Here's a partial Identity Enhanced report result with some comments to help explain this:

HTTP/1.1 201 Created
Content-Type: application/json

...

  "breakdown": {
    "sources": {
      "result": "clear",
      "breakdown": {
        "total_sources": {
          "result": "clear",
          "properties": {
            "total_number_of_sources": "3" ## --< ADD ">=2" CRITERIA HERE>
          }
        },
      }
    },

    "address": {
      "result": "clear", ## --< ADD "clear" CRITERIA HERE>
      "breakdown": {
        "credit_agencies": {
          "result": "clear",
          "properties": {
            "number_of_matches": "1"
          }
        },
        "telephone_database": {
          "result": "clear",
          "properties": {}
        },
        "voting_register": {
          "result": "clear",
          "properties": {}
        }
      }
    },
    "date_of_birth": {
      "result": "clear",
      "breakdown": {
        "credit_agencies": {
          "result": "clear",
          "properties": {}
        },

...