# COPPA Compliance

## How does this service work?

Per **FTC Safe Harbor Guidelines** we must locate the target, determine they are not deceased, are "18+" and have provided an accurate SSN variable from the list below.

* **You must provide the target's SSN variable in one of three formats:**

  * **Full 9 SSN**
  * **Last 4 SSN**
  * **IDR Calc SSN**

  *IDR Calc is Veratad's patented process that allows the user to sum up at least two digits from their SSN to prove they know the variable without collecting sensitive PII. **See IDR Calc section below for more details***

{% hint style="info" %}
This service can also be accessed in countries outside of the United States. Please contact your Veratad Professional Services Team Member for more details.
{% endhint %}

## IDMatchCOPPA5.0

<mark style="color:green;">`POST`</mark> `https://production.idresponse.com/process/5/gateway`

Make an

**HTTPS POST**

request with the following body parameters to find out if the target has provided valid identity attributes. You will receive a synchronous response in 2-3 seconds with a

**result**

object that includes an

**action, detail**

and

**issues object**

.

#### Request Body

| Name                                      | Type   | Description                                                                                                                  |
| ----------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------- |
| user<mark style="color:red;">\*</mark>    | string | Your account's API username                                                                                                  |
| pass<mark style="color:red;">\*</mark>    | string | Your account's API password                                                                                                  |
| service<mark style="color:red;">\*</mark> | string | The service name (IDMatch5.0)                                                                                                |
| reference                                 | string | A unique identifier for your customer                                                                                        |
| target                                    | object | The individual being sent for verification                                                                                   |
| fn<mark style="color:red;">\*</mark>      | string | The target's first name                                                                                                      |
| ln<mark style="color:red;">\*</mark>      | object | The target's last name                                                                                                       |
| addr<mark style="color:red;">\*</mark>    | string | The target's street address (line 1 and line 2)                                                                              |
| city                                      | string | the target's city                                                                                                            |
| state                                     | string | The target's state                                                                                                           |
| zip<mark style="color:red;">\*</mark>     | string | The target's zip                                                                                                             |
| dob                                       | string | The target's Date of Birth (YYYYMMDD format)                                                                                 |
| ssn                                       | string | <p>The target's SSN (either 4, 9 or IDR Calc)</p><p>\</p></p><p>\</p></p><p>See IDR Calc section below for more details.</p> |
| phone                                     | string | The target's phone number                                                                                                    |
| email                                     | string | The target's email address                                                                                                   |
| age<mark style="color:red;">\*</mark>     | string | The age to check (must be sent like "age+" i.e. "18+", "21+" etc.)                                                           |
| test\_key                                 | string | The test key value that you are using to test                                                                                |

{% tabs %}
{% tab title="200 Transaction processed and result returned" %}

```javascript
{
  "meta": {
    "company": "Company ABC, Inc.",
    "confirmation": "21201890",
    "reference": "12345 {A UNIQUE ID}",
    "service": "IDMatchCOPPA5.0",
    "timestamp": "2020-08-08 17:56:14",
    "user": "user@company.com"
  },
  "result": {
    "action": "REVIEW",
    "detail": "TRANSACTION REQUIRES FURTHER ATTENTION",
    "issues": [
      "SSN CHECK FAILED"
    ]
  }
}
```

{% endtab %}
{% endtabs %}

## Sample Request Body

```javascript
{
      "user": "USERNAME",
      "pass": "PASSWORD",
      "service": "IDMatchCOPPA5.0",
      "reference": "12345 {A UNIQUE ID}",
      "target":{
            "fn":"Barbara",
            "ln": "Miller",
            "addr": "123 Main St",
            "city": "Stratford",
            "state": "CT",
            "zip": "06614",
            "dob": "19740821",
            "ssn": "5698",
            "age": "18+",
            "test_key": "general_identity"
          }
  }
```

## Action and Detail Responses

The following are all values that will be returned in the result object of the response.

| Action | Detail                                 | Description                                                                                                                                             |
| ------ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| FAIL   | NO MATCH                               | No matching identity found in the data sources                                                                                                          |
| FAIL   | TARGET IS DECEASED                     | Target found as a deceased identity                                                                                                                     |
| FAIL   | MINOR SUBMITTED                        | The target's submitted DOB is under 18                                                                                                                  |
| FAIL   | TARGET IS UNDERAGE                     | We have found the target's DOB and it is under 18+                                                                                                      |
| FAIL   | POSSIBLE MINOR                         | There are multiple DOBs on file and we could not determine which links to the target and one of them is under 18+                                       |
| FAIL   | AGE NOT VERIFIED                       | There was no DOB on file for this individual so we were unable to verify their age                                                                      |
| REVIEW | TRANSACTION REQUIRES FURTHER ATTENTION | Target found and not deceased, but at least one identity attribute provided does not match. For this service the only issue will be "SSN CHECK FAILED". |
| PASS   | ALL CHECKS PASSED                      | Target was found, is not deceased and has passed all verification checks                                                                                |

## Issues Responses

When a transaction returns as REVIEW then there will be a list of issues. This list can include any of the below values.

| Issue            | Description                                 |
| ---------------- | ------------------------------------------- |
| SSN CHECK FAILED | The SSN provided does not match any on file |

## Rules

IDMatch+COPPA will process with the default base ruleset:

{% hint style="success" %}
The base ruleset will return a PASS when:

* A match is found
* The target is not deceased
* The target is 18+
* The target has provided an accurate SSN value
  {% endhint %}

{% hint style="warning" %}
The base ruleset will return a REVIEW when:

* A match is found
* The target is not deceased
* The target is 18+
* The target did not provide an accurate SSN value
  {% endhint %}

{% hint style="danger" %}
The base ruleset will return a FAIL when:

* A match is not found
* The target is deceased
* The target could not be confirmed as 18+
  {% endhint %}

## IDR Calc

IDR Calc is Veratad's patented process that allows the user to sum up at least two digits from their SSN to prove they know the variable without collecting sensitive PII. Here is an example request using IDR Calc.

```javascript
{
      "user": "USERNAME",
      "pass": "PASSWORD",
      "service": "IDMatchCOPPA5.0",
      "reference": "12345 {A UNIQUE ID}",
      "target":{
            "fn":"Barbara",
            "ln": "Miller",
            "addr": "123 Main St",
            "city": "Stratford",
            "state": "CT",
            "zip": "06614",
            "dob": "19740821",
            "dcalc_mask": "100000001", // use this attribute to set which question you asked
            "dcalc_answer": "16", // use this attribute to populate the user's answer
            "age": "18+",
            "test_key": "general_identity"
          }
  }
```

| Attribute     | Description                                                                                                                                                           |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| dcalc\_mask   | <p>Defines to the system what two digits you asked the customer to sum</p><p>Place a "1" in the positions of the summed values and "0" in the remaining positions</p> |
| dcalc\_answer | The value of the sum that the user entered                                                                                                                            |

## Service Testing

Use the test\_key attribute to test the service. When the test\_key is provided the system will dynamically drop the live data sources and use the testing database. To access test cases click the link below.

{% content-ref url="../../testing-1/additional-test-cases" %}
[additional-test-cases](https://api.veratad.com/testing-1/additional-test-cases)
{% endcontent-ref %}
