---
title: Safe Harbour Scores & Status
slug: api/safe-harbour-scores-and-status
icon: ⚓
createdAt: 2025-02-17T05:27:12.767Z
---

# What is Safe Harbour?

As part of many AML / CTF regulations around the world, a determination of 'Safe Harbour' may be required for ID verification during an onboarding process or prior to accessing services (ie financial transactions).  Safe Harbour is the determination of verifying an identity owner against two independent data sources to reach a high level of confidence that the person is who they claim they are.  Organisations may elect to implement their own rules and guidelines for Safe Harbour and verification thresholds, and the Data Zoo KYC Data API can be customised to meet those requirements.

## How Data Zoo Handles Safe Harbour

Bespoke for Data Zoo clients, the Data Zoo KYC Data API provides a **Safe Harbour Score** for each data source thereby providing an indication of confidence per identity owner verification. These source-level scores are then used to determine the overall **Safe Harbour Status** (when an organisation verifies using at least two verifications services).

A positive **Safe Harbour Status** can only be achieved when the identity owner's name is verified in at least ***two independent sources***, in combination with a verified Address <u>or</u> a verified DOB in the same ***two independent sources***.

Some organisations may have their own particular compliance or legal preferences or unique logic in determining a **Safe Harbour Status**; in those instances, Data Zoo has the capability to customise the **Safe Harbour Score&#x20;**&#x6C;ogic accordingly.

:::BlockQuote
Note: If you run Watchlist AML as a composite call, and a HIT has occurred, the Safe Harbour Status will return as "false"&#x20;
:::

***

# Safe Harbour Scores

The Data Zoo KYC Data API uses a set of default Safe Harbour Scores for every verification request.  Additional sets of Safe Harbour Scores are available and activated through account configuration.

## Default Safe Harbour Scores

| <font color="#3A9C56">**Safe Harbour Score**</font>**** | ****<font color="#3A9C56">**Verifications (from a single record in one source)**</font>****                                                                    | ****<font color="#3A9C56">**Identity Verified?**</font> |
| ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **M1**                                                  | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x61;ddress = true                                                                                      | <font color="#3A9C56">**true**</font>****               |
| **M2**                                                  | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source | <font color="#3A9C56">**true**</font>****               |
| **N1**                                                  | name = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source         | <font color="#3A9C56">**true**</font>****               |
| **None**                                                | only a single element (name, address, or dob) is verified **OR&#x20;**&#x6E;o elements are verified                                                            | <font color="#9A3534">**false**</font>                  |

## Identity Document Safe Harbour Scores

The Identity Document Safe Harbour Scores are a set of scores that can be applied to a verification where the identity document (ie National ID, Driver Licence, Passport) number is an input.  If the identity document number is input but cannot be verified, and other elements can be verified, then the a Default Safe Habour Score will be returned.

| ****<font color="#3A9C56">**Safe Harbour Score**</font>**** | ****<font color="#3A9C56">**Verifications (from a single record in one source)**</font>****                                                                                                                                                                                                   | ****<font color="#3A9C56">**Identity Verified?**</font> |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **L1**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x69;dentity document number = true                                                                                                                                                                   | <font color="#3A9C56">**true**</font>****               |
| **L2**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x69;dentity document number = true **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source                                                                              | <font color="#3A9C56">**true**</font>****               |
| **L3**                                                      | name = true **AND&#x20;**&#x69;dentity document number = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source | <font color="#9A3534">**false**</font>                  |
| **L4**                                                      | name = true **AND&#x20;**&#x69;dentity document number = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source                                                                                      | <font color="#3A9C56">**true**</font>****               |
| **L5**                                                      | only identity document number = true                                                                                                                                                                                                                                                          | <font color="#9A3534">**false**</font>                  |

## Phone Number Safe Harbour Scores

The Phone Number Safe Harbour Scores are a set of scores that can be applied to a verification where a phone number is an input.  If the phone number is input but cannot be verified, and other elements can be verified, then the a Default Safe Habour Score will be returned.

| ****<font color="#3A9C56">**Safe Harbour Score**</font>**** | ****<font color="#3A9C56">**Verifications (from a single record in one source)**</font>****                                                                                                                                                                                       | ****<font color="#3A9C56">**Identity Verified?**</font> |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **P1**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x70;hone number = true                                                                                                                                                                   | <font color="#3A9C56">**true**</font>****               |
| **P2**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source                                                                              | <font color="#3A9C56">**true**</font>****               |
| **P3**                                                      | name = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source | <font color="#9A3534">**false**</font>                  |
| **P4**                                                      | name = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source                                                                                      | <font color="#3A9C56">**true**</font>****               |
| **P5**                                                      | only phone number = true                                                                                                                                                                                                                                                          | <font color="#9A3534">**false**</font>                  |
| **P6**                                                      | name = true and address = true and DOB = false or DOB is not verifiable and phone Number was not input                                                                                                                                                                            | <font color="#3A9C56">**true**</font>****               |

## Combination Safe Harbour Scores

The Combination Safe Harbour Scores are a set of scores that can be applied to a verification where the identity document (ie National ID, Driver Licence, Passport) number is an input and where a phone number is an input.  If the identity document number or phone number is input but cannot be verified, and other elements can be verified, then the either a Default Safe Habour Score, a Phone Number Safe Harbour Score, or an Identity Document Number Safe Harbour Score will be returned.

| ****<font color="#3A9C56">**Safe Harbour Score**</font>**** | ****<font color="#3A9C56">**Verifications (from a single record in one source)**</font>****                                                                                                                                                                                                                                                                       | ****<font color="#3A9C56">**Identity Verified?**</font> |
| ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **C1**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x69;dentity document number = true                                                                                                                                                                                                 | <font color="#3A9C56">**true**</font>****               |
| **C2**                                                      | name = true **AND&#x20;**&#x64;ob = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x69;dentity document number = true<font color="#dd144e"> </font>**AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source                                                                               | <font color="#3A9C56">**true**</font>****               |
| **C3**                                                      | name = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x69;dentity document number = true<font color="#dd144e"> </font>**AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source  **AND&#x20;**&#x61;ddress = false **OR&#x20;**&#x61;ddress not input **OR&#x20;**&#x61;ddress not available at source | <font color="#9A3534">**false**</font>                  |
| **C4**                                                      | name = true **AND&#x20;**&#x70;hone number = true **AND&#x20;**&#x69;dentity document number = true **AND&#x20;**&#x61;ddress = true **AND&#x20;**&#x64;ob = false **OR&#x20;**&#x64;ob not input **OR&#x20;**&#x64;ob not available at source                                                                                                                    | <font color="#3A9C56">**true**</font>****               |
| **C5**                                                      | only phone number = true **AND&#x20;**&#x69;dentity document number = true                                                                                                                                                                                                                                                                                        | <font color="#9A3534">**false**</font>                  |

***

# Safe Harbour Status

## Safe Harbour Configurations

The Data Zoo KYC Data API can be customised and configured to meet a client's own determination of their Safe Harbour requirements.  A customised configuration can be applied at an organisation level or at a user account level.

## Default Safe Harbour Status Logic

The Default Safe Harbour Status logic applies globally to all services in the Data Zoo KYC Data API, and will apply by default to all organisations and user accounts.

When 2 or more results are included in the verification response then the Safe Harbour Status will be set to '<font color="#59C16F">**true**</font>' or '<font color="#CC6968">**false**</font>' depending on the returned Safe Harbour Scores (refer below matrix).

![](https://api.archbee.com/api/optimize/9LT9G8KBwYkogmRe-56PO-Yu5AwgrafRzyXfn5gZ_e1-20250316-224309.png)

## New Zealand Safe Harbour Status Logic

Where a New Zealand service is included in the request then there is an alternate Safe Harbour Status logic that will apply as there are slightly different regulations within New Zealand. A Safe Harbour Status for New Zealand must include one source where the identity owner's address is verified and one source where the identity owner's date of birth is verified (refer to the below matrix).&#x20;

![](https://api.archbee.com/api/optimize/9LT9G8KBwYkogmRe-56PO-kWJEjWAEbM2TAuZHTFkzX-20250316-225059.png)

