Blocklist Check Results

If there are blocklist checks enabled in the recipe, there'll be an ability to pick up on customers or entity attributes that have been blocked previously.

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

📘

Blacklist or Blocklist?

The API documents refer to “blacklists” as well as “blocklists”. We’re in the process of renaming all our blacklist references to blocklists, so recognise that these terms are interchangable and refer to the same mechanism.

Blocklist will be the preferred naming convention going forward.

Each ProcessResultObject will contain the following values:

Field NameDescription
checkDateUTC timestamp as to when the blocklist 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 the configured matching rules.
providerCheckIdWill always be the same as checkId above.
resultStateWill be one of:
CHECKED_SUCCESS_CLEAR: blocklist 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 blocklist 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
blacklist.attributeThe specific attribute that was matched (or ENTIRE_ENTITY if a general blocklist match)
blacklist.reasonWhy this particular matching entity/attribute was blocklisted
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 blocklist 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, there would be something like the following in the entityProfileResult checkResults section:

...
            {
                "checkClass": "fraud",
                "checkType": "blacklist",
                "code": "POTENTIAL_MATCH",
                "message": "Potential blacklist match (Manual review required)",
                "result": "FAIL"
            },
            {
                "checkClass": "aml",
                "checkType": "pep_media",
                "code": "BLOCKED_BY_OTHER_FAIL",
                "message": "Cannot check while there are potential blacklist matches",
                "result": "UNCHECKED"
            },
            {
                "checkClass": "none",
                "checkType": "idvalidate",
                "code": "BLOCKED_BY_OTHER_FAIL",
                "message": "Cannot check while there are potential blacklist matches",
                "result": "UNCHECKED"
            }
...

In there you can see that there is a blacklist 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:

"blacklistCheckResults": [
        {
            "checkDate": "2021-08-10T07:35:33.953Z",
            "checkId": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,pep_media,idvalidate",
            "confidenceLevel": 60,
            "providerCheckID": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "97f96378-1b64-af6d-9f09-a96fb13be05f"
                },
                {
                    "kvpKey": "match.entity.customer_reference",
                    "kvpType": "id.external",
                    "kvpValue": "5290008-new-applicant"
                },
                {
                    "kvpKey": "match.level",
                    "kvpType": "general.string",
                    "kvpValue": "MEDIUM"
                },
                {
                    "kvpKey": "match.type.document",
                    "kvpType": "general.string",
                    "kvpValue": "IdNo"
                },
                {
                    "kvpKey": "match.notes",
                    "kvpType": "general.string",
                    "kvpValue": "Match rule #2"
                },
                {
                    "kvpKey": "blacklist.reason",
                    "kvpType": "general.string",
                    "kvpValue": "FABRICATED_IDENTITY"
                },
                {
                    "kvpKey": "blacklist.attribute",
                    "kvpType": "general.string",
                    "kvpValue": "ID_DOCUMENT"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                },
                {
                    "kvpKey": "status.false_positive.ignore",
                    "kvpType": "result.code",
                    "kvpValue": "01FCQG0KBSKA5P27WGP8EZTNHX"
                },
                {
                    "kvpKey": "status.current",
                    "kvpType": "general.string",
                    "kvpValue": "false_positive"
                },
                {
                    "kvpKey": "status.manual_update",
                    "kvpType": "result.code",
                    "kvpValue": "01FCQG0KBSKA5P27WGP8EZTNHX"
                },
                {
                    "kvpKey": "status.set_by",
                    "kvpType": "general.string",
                    "kvpValue": "[email protected]"
                },
                {
                    "kvpKey": "status.set_date",
                    "kvpType": "general.datetime",
                    "kvpValue": "2021-08-10T07:39:15Z"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        },
        {
            "checkDate": "2021-08-10T07:35:33.953Z",
            "checkId": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,pep_media,idvalidate",
            "confidenceLevel": 50,
            "providerCheckID": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "3e3cac65-813b-975a-b3e8-0c772767b74a"
                },
                {
                    "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": "blacklist.reason",
                    "kvpType": "general.string",
                    "kvpValue": "FABRICATED_IDENTITY"
                },
                {
                    "kvpKey": "blacklist.attribute",
                    "kvpType": "general.string",
                    "kvpValue": "FULL_NAME"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                },
                {
                    "kvpKey": "status.true_positive",
                    "kvpType": "result.code",
                    "kvpValue": "01FDPBHTK2NKJWCC4EYEVGR18P"
                },
                {
                    "kvpKey": "status.current",
                    "kvpType": "general.string",
                    "kvpValue": "true_positive"
                },
                {
                    "kvpKey": "status.manual_update",
                    "kvpType": "result.code",
                    "kvpValue": "01FDPBHTK2NKJWCC4EYEVGR18P"
                },
                {
                    "kvpKey": "status.set_by",
                    "kvpType": "general.string",
                    "kvpValue": "[email protected]"
                },
                {
                    "kvpKey": "status.set_date",
                    "kvpType": "general.datetime",
                    "kvpValue": "2021-08-22T07:17:43Z"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        },
        {
            "checkDate": "2021-08-10T07:35:33.953Z",
            "checkId": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "checkPerformedBy": "bl",
            "checkSource": "builtin",
            "checkType": "blacklist,pep_media,idvalidate",
            "confidenceLevel": 50,
            "providerCheckID": "9c6e3b73-9a83-162b-c76e-cc8d63cf2674",
            "resultNotes": [
                {
                    "kvpKey": "match.entity.id",
                    "kvpType": "general.string",
                    "kvpValue": "c435b728-34ba-53e6-cd8d-1a6c18209bf1"
                },
                {
                    "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": "blacklist.reason",
                    "kvpType": "general.string",
                    "kvpValue": "NO_REASON_SUPPLIED"
                },
                {
                    "kvpKey": "blacklist.attribute",
                    "kvpType": "general.string",
                    "kvpValue": "ENTIRE_ENTITY"
                },
                {
                    "kvpKey": "original_checksource",
                    "kvpType": "general.string",
                    "kvpValue": "builtin"
                }
            ],
            "resultState": "CHECKED_SUCCESS_WITH_NOTES"
        }
    ],