Duplicate Check Results

If there are duplicate checks enabled in your recipe, this would be a method to identify customers that have tried to sign up previously.

Duplicate checks, and their close counterpart, the blocklist check, will return a ProcessResultObject for each match to another entity, based on your configured matching rules.

Each ProcessResultObject will contain the following values:

Field NameDescription
checkDateUTC timestamp as to when the duplicate check was matched.
checkIdThe check run that found the match.
checkPerformedByWith be one of “dup”, “bl” or “dup+bl”, as the checks run for duplicate and blocklist are the same and generally run at the same time.
checkSourceWill always be builtIn
checkTypeWill be the full list of checks that are scheduled to be run as part of the recipe (or as requested in an ad-hoc query)
confidenceLevelWhat was the matching score, based on your matching rules.
providerCheckIdWill always be the same as checkId above.
resultStateWill be one of:
CHECKED_SUCCESS_CLEAR: duplicate check was run and no match found
CHECKED_SUCCESS_WITH_NOTES: There was a match found that requires/required review.
* CHECKED_FAILED: there was an error running the duplicate check. If you see this, please let FrankieOne dev support know and provide the entityID, requestID and date/time of the error.

The following resultNote Key-Value-Pairs will also be set:

Key NameValue Description
match.entity.idThe entityID that we matched to
match.entity.customer_referenceIf the matched entity has a customer reference, then this is included as well
match.levelHow strong a match
match.type.entityA pipe ( | ) separated list of the entity fields we matched on.
match.type.documentA pipe ( | ) separated list of the document fields we matched on.
match.notesWhich matching rule was used to determine that a match has been made.
status.currentIf this match has been assessed, what is the final status. It will be one of:
false_positive
true_positive
status.manual_updateWill be the requestID of the request that set the final state of this match
status.set_dateUTC date stamp when the status was set
status.set_byThe username of the person who set the status
status.false_positive.ignoreInternal flag used to indicate this result can be ignored when evaluating overall entity state
status.true_positiveInternal flag used to indicate a true positive match

Effect on EntityProfileResult

When there is a duplicate match (either a true positive or all potential matches have not yet been marked as false positives), this will prevent any further checks from being run. In that case you would see something like the following in the entityProfileResult checkResults section:

...
            {
                "checkClass": "fraud",
                "checkType": "duplicate",
                "code": "POTENTIAL_MATCH",
                "message": "Potential duplicate match (Manual review required)",
                "result": "FAIL"
            },
            {
                "checkClass": "kyc",
                "checkType": "two_plus",
                "code": "BLOCKED_BY_OTHER_FAIL",
                "message": "Cannot check while there are potential duplicate matches",
                "result": "UNCHECKED"
            },
            {
                "checkClass": "kyc",
                "checkType": "id",
                "code": "BLOCKED_BY_OTHER_FAIL",
                "message": "Cannot check while there are potential duplicate matches",
                "result": "UNCHECKED"
            },
...

In there you can see that there is a duplicate FAIL result and subsequent checks are blocked by this failure.

Example

An example where there are two false positive matches, one true positive and outstanding are below:

"duplicateCheckResults": [
        {
            "checkDate": "2021-03-24T05:49:48.925Z",
            "checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
            "confidenceLevel": 50,
            "providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "562d651e-72c2-62b3-0494-bc7c6c5fa622"
                },
                {
                    "kvpKey": "match.level",
                    "kvpType": "general.string",
                    "kvpValue": "MEDIUM"
                },
                {
                    "kvpKey": "match.type.entity",
                    "kvpType": "general.string",
                    "kvpValue": "Date|Fnam"
                },
                {
                    "kvpKey": "match.notes",
                    "kvpType": "general.string",
                    "kvpValue": "Match rule #5"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                },
                {
                    "kvpKey": "status.false_positive.ignore",
                    "kvpType": "result.code",
                    "kvpValue": "01F1HCJ9Z28PEH116EPRBERPTZ"
                },
                {
                    "kvpKey": "status.current",
                    "kvpType": "general.string",
                    "kvpValue": "false_positive"
                },
                {
                    "kvpKey": "status.manual_update",
                    "kvpType": "result.code",
                    "kvpValue": "01F1HCJ9Z28PEH116EPRBERPTZ"
                },
                {
                    "kvpKey": "status.set_by",
                    "kvpType": "general.string",
                    "kvpValue": "[email protected]"
                },
                {
                    "kvpKey": "status.set_date",
                    "kvpType": "general.datetime",
                    "kvpValue": "2021-03-24T05:50:53Z"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        },
        {
            "checkDate": "2021-03-24T05:49:48.925Z",
            "checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
            "confidenceLevel": 50,
            "providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "3dd1a14c-ea67-69c6-94b9-511abad25c56"
                },
                {
                    "kvpKey": "match.level",
                    "kvpType": "general.string",
                    "kvpValue": "MEDIUM"
                },
                {
                    "kvpKey": "match.type.entity",
                    "kvpType": "general.string",
                    "kvpValue": "Date|Fnam"
                },
                {
                    "kvpKey": "match.notes",
                    "kvpType": "general.string",
                    "kvpValue": "Match rule #5"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                },
                {
                    "kvpKey": "status.true_positive",
                    "kvpType": "result.code",
                    "kvpValue": "01FDP9VKDQF6V763XG9AC778SW"
                },
                {
                    "kvpKey": "status.current",
                    "kvpType": "general.string",
                    "kvpValue": "true_positive"
                },
                {
                    "kvpKey": "status.manual_update",
                    "kvpType": "result.code",
                    "kvpValue": "01FDP9VKDQF6V763XG9AC778SW"
                },
                {
                    "kvpKey": "status.set_by",
                    "kvpType": "general.string",
                    "kvpValue": "[email protected]"
                },
                {
                    "kvpKey": "status.set_date",
                    "kvpType": "general.datetime",
                    "kvpValue": "2021-08-22T06:48:06Z"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        },
        {
            "checkDate": "2021-03-24T05:49:48.925Z",
            "checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
            "confidenceLevel": 50,
            "providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "1dd0b3af-97b7-5db0-fc35-9b180aa0b37d"
                },
                {
                    "kvpKey": "match.level",
                    "kvpType": "general.string",
                    "kvpValue": "MEDIUM"
                },
                {
                    "kvpKey": "match.type.entity",
                    "kvpType": "general.string",
                    "kvpValue": "Date|Fnam"
                },
                {
                    "kvpKey": "match.notes",
                    "kvpType": "general.string",
                    "kvpValue": "Match rule #5"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        },
        {
            "checkDate": "2021-03-24T05:49:48.925Z",
            "checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
            "confidenceLevel": 80,
            "providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "668f310d-26fb-c1f9-7a6a-b202997fb968"
                },
                {
                    "kvpKey": "match.level",
                    "kvpType": "general.string",
                    "kvpValue": "HIGH"
                },
                {
                    "kvpKey": "match.type.entity",
                    "kvpType": "general.string",
                    "kvpValue": "Date"
                },
                {
                    "kvpKey": "match.type.document",
                    "kvpType": "general.string",
                    "kvpValue": "IdNo"
                },
                {
                    "kvpKey": "match.notes",
                    "kvpType": "general.string",
                    "kvpValue": "Match rule #2"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                },
                {
                    "kvpKey": "status.false_positive.ignore",
                    "kvpType": "result.code",
                    "kvpValue": "01F1HCJ3X0GJNN86BCDW2MB4RR"
                },
                {
                    "kvpKey": "status.current",
                    "kvpType": "general.string",
                    "kvpValue": "false_positive"
                },
                {
                    "kvpKey": "status.manual_update",
                    "kvpType": "result.code",
                    "kvpValue": "01F1HCJ3X0GJNN86BCDW2MB4RR"
                },
                {
                    "kvpKey": "status.set_by",
                    "kvpType": "general.string",
                    "kvpValue": "[email protected]"
                },
                {
                    "kvpKey": "status.set_date",
                    "kvpType": "general.datetime",
                    "kvpValue": "2021-03-24T05:50:47Z"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        }
    ],