Identity data comparison (v1)
This is the current stable version of this step type.
Compares identity details from two sources using step IDs configured in options
Ensures the identity information collected from different steps or documents refers to the same person, improving decision accuracy. Both source steps are declared by their IDs in the options object. Use Identity data comparison (v2) for new flows. In v2, you choose the two identity sources in the step's input mapping instead of in options.
Key features
- Dual source comparison: Compares identity data from two distinct
BasicIdentitydata blocks produced by earlier steps. - Configurable attributes: Select which fields to compare —
givenName,familyName,name, orbirthDate. At least one attribute is required. - Dual comparison modes:
strictrequires exact matches;tolerantaccepts minor name variations and ignores the day component of dates. - Detailed
ComparisonResultsoutput: Produces aComparisonResultsdata block on both routes, including a per-attribute breakdown of compared, mismatched, and missing fields.
Configuration
| Option | Type | Required | Description |
|---|---|---|---|
leftOperand | string | Yes | The id of the step that produced the first BasicIdentity data block. Must differ from rightOperand. |
rightOperand | string | Yes | The id of the step that produced the second BasicIdentity data block. Must differ from leftOperand. |
attributes | string[] | Yes | BasicIdentity field names to compare. At least one required. Accepted values: givenName, familyName, name, birthDate. |
mode | string | Yes | Comparison mode: "strict" (exact match) or "tolerant" (minor variations accepted). See Comparison mode details. Accepted values: strict, tolerant. |
Comparison mode details
| Mode | Name comparison | Date comparison |
|---|---|---|
strict | All words from both names must have a "close enough" match. | Dates must be exactly equal. |
tolerant | At least one word from the first name must have a "close enough" match in the second name. | Year and month must match; day is ignored. |
Input data blocks
leftOperand and rightOperand must each name a step that comes before this step in the flow and produces a BasicIdentity data block. If either one does not, flow validation reports an error.
| Input slot | Data block | Required | Description |
|---|---|---|---|
basicIdentity1 | BasicIdentity | Yes | First identity source — wired via inputMapping. |
basicIdentity2 | BasicIdentity | Yes | Second identity source — wired via inputMapping. |
Comparison logic
The step sets the verdict field of the ComparisonResults data block to one of three values and follows one of two routes. Both noMatch and inconclusive follow the failure route. To tell them apart, read verdict in the session results.
| Verdict | Route | Description |
|---|---|---|
match | match | All specified attributes were compared and all values matched. |
noMatch | failure | At least one compared attribute did not match. Takes priority over inconclusive when both mismatches and missing values are present. |
inconclusive | failure | One or more required attribute values were missing, making comparison impossible. No mismatches were detected among the available attributes. |
Routes
| Route | Description |
|---|---|
match | All specified attributes were compared and all values matched. |
failure | At least one attribute did not match, or one or more required attribute values were missing. |
Output data blocks
| Route | Data blocks produced |
|---|---|
match | ComparisonResults |
failure | ComparisonResults |
Example payloads
ComparisonResults — match
{
"verdict": "match",
"leftOperand": "doc-id-step",
"rightOperand": "eid-step",
"attributesCompared": [
"givenName",
"familyName",
"birthDate"
],
"mismatchedAttributes": [],
"missingAttributes": []
}
ComparisonResults — noMatch
{
"verdict": "noMatch",
"leftOperand": "doc-id-step",
"rightOperand": "eid-step",
"attributesCompared": [
"givenName",
"familyName",
"birthDate"
],
"mismatchedAttributes": [
"familyName"
],
"missingAttributes": []
}
ComparisonResults — inconclusive
{
"verdict": "inconclusive",
"leftOperand": "doc-id-step",
"rightOperand": "eid-step",
"attributesCompared": [
"givenName",
"familyName"
],
"mismatchedAttributes": [],
"missingAttributes": [
"birthDate"
]
}