From 608693bb96c8be815e39e1c51ad6c31ab50ed5db Mon Sep 17 00:00:00 2001 From: BEHNAM MOZAFARI Date: Thu, 5 Mar 2026 18:00:59 +1100 Subject: [PATCH 1/7] Add token validator reference page --- docs/ref-info/ref-token-validator.md | 86 ++++++++++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 87 insertions(+) create mode 100644 docs/ref-info/ref-token-validator.md diff --git a/docs/ref-info/ref-token-validator.md b/docs/ref-info/ref-token-validator.md new file mode 100644 index 000000000..117be4533 --- /dev/null +++ b/docs/ref-info/ref-token-validator.md @@ -0,0 +1,86 @@ +--- +title: UID2 Token Validator +description: How to use the UID2 Token Validator to validate UID2 tokens against source DII and confirm your token generation workflow is correct. +hide_table_of_contents: false +sidebar_position: 02 +displayed_sidebar: docs +--- + +import Link from '@docusaurus/Link'; + +# UID2 Token Validator + +The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates UID2 tokens against their source directly identifying information (DII) to confirm that token generation is working correctly. + +## Overview + +Publishers and other participants who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads. + +## Prerequisites + +To use the UID2 Token Validator, you need: + +- A **UID2 Client Key** (API Key) +- A **UID2 Secret Key** + +If you do not have these, see [API Keys](../portal/api-keys.md) for instructions on creating them in the UID2 Portal. + +## Using the Token Validator + +Enter your **Client Key** (API Key) and **Secret Key** in the fields at the top of the Token Validation section. + +Select the **Operator** (environment) you want to validate against: + +- **UID2 Integration (Testing)**: Use this environment when testing your integration. +- **UID2 Production**: Use this for production token validation. + +For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). + +### Validate a Single Token + +1. Under **Input Mode**, select **Single Validation**. +2. In the **Identifier** field, enter the DII you used to generate the token. This can be: + - A raw email address + - A raw phone number + - A Base64-encoded email hash + - A Base64-encoded phone hash +3. Select the **Identifier Type** that matches your input. +4. In the **Token** field, paste the UID2 token you want to validate. +5. Click **Validate Tokens**. + +### Validate Multiple Tokens (CSV) + +To validate a batch of token-identifier pairs: + +1. Under **Input Mode**, select **CSV**. +2. Prepare a CSV file with the following columns: + - `identifier`: The DII (raw email, raw phone, email hash, or phone hash) + - `identifier_type`: Either `email`, `phone`, `email_hash` or `phone_hash` + - `token`: The UID2 token to validate. +3. Upload the CSV file. +4. Click **Validate Tokens**. + +## Interpreting Validation Results + +After clicking **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair: + +| Column | Description | +|---|---| +| Identifier | The DII you entered | +| Identifier Type | `email`, `phone`, `email_hash` or `phone_hash` | +| Normalized Hash | The Base64-encoded SHA-256 hash of the normalized DII | +| Token | The token you submitted | +| Validation | The result of the validation, see the table below | + +The **Validation** column reflects the response from the [POST /token/validate](../endpoints/post-token-validate.md) endpoint. + +| Validation Result | Meaning | +|---|---| +| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash | +| `Failed: Token does not match identifier` | The token does not match the provided DII, the most likely cause is incorrect normalization or hashing | +| `Failed: Invalid token` | The token is malformed and cannot be parsed | +| `Failed: {"status":"unauthorized"}` | The API credentials provided are invalid or unauthorized | + +:::tip +If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produces for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). +::: \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 4a5f58d70..32aa4c233 100644 --- a/sidebars.js +++ b/sidebars.js @@ -382,6 +382,7 @@ const fullSidebar = [ 'getting-started/gs-encryption-decryption', 'getting-started/gs-normalization-encoding', 'ref-info/ref-preparing-emails-and-phone-numbers-for-processing', + 'ref-info/ref-token-validator', 'getting-started/gs-opt-out', 'ref-info/ref-operators-public-private', 'ref-info/ref-integration-approaches', From 993d5853b37dc800421b37a20f72552db160190e Mon Sep 17 00:00:00 2001 From: BEHNAM MOZAFARI Date: Thu, 5 Mar 2026 18:07:29 +1100 Subject: [PATCH 2/7] Add reference page to integration guides --- docs/guides/integration-liveramp-tips.md | 2 +- docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/guides/integration-liveramp-tips.md b/docs/guides/integration-liveramp-tips.md index 415bda3e8..9b16108e5 100644 --- a/docs/guides/integration-liveramp-tips.md +++ b/docs/guides/integration-liveramp-tips.md @@ -32,7 +32,7 @@ To add a valid UID2 token to the ATS envelope, a publisher must provide plain te You must use the SHA-256 hashing methodology, which is supported by both UID2 and LiveRamp. Using any other hashing methodology, or missing any step, results in either no UID2 token added to the ATS envelope or an invalid token added. -For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md). +For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md). To verify that your normalization and hashing steps are producing the correct output, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). ## Set Envelope Refresh to 1800 Seconds diff --git a/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx index 50fe99175..cdcc643c0 100644 --- a/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx +++ b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx @@ -2,4 +2,6 @@ import Link from '@docusaurus/Link'; It's critical that the input data, which you are converting to UID2, is in an acceptable format. If it isn't, you won't get the expected results. For example, you must normalize phone numbers to include the country code, as explained in [Phone Number Normalization](../getting-started/gs-normalization-encoding.md#phone-number-normalization). -For details, see [Preparing Emails and Phone Numbers for Processing](../ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md). \ No newline at end of file +For details, see [Preparing Emails and Phone Numbers for Processing](../ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md). + +To verify that your normalization and hashing steps are producing the correct output, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). \ No newline at end of file From 77911b2a9c084bf08c6cd37966d5007a09c07325 Mon Sep 17 00:00:00 2001 From: Behnam Mozafari Date: Fri, 6 Mar 2026 10:48:59 +1100 Subject: [PATCH 3/7] Added reference to token validator in Normalization and Encoding page --- docs/getting-started/gs-normalization-encoding.md | 4 ++++ docs/ref-info/ref-token-validator.md | 7 +------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/getting-started/gs-normalization-encoding.md b/docs/getting-started/gs-normalization-encoding.md index 50468dfd1..402dfe0b5 100644 --- a/docs/getting-started/gs-normalization-encoding.md +++ b/docs/getting-started/gs-normalization-encoding.md @@ -192,6 +192,10 @@ If the input data doesn't have a valid email or phone number format, or if the p You can use this tool to verify that your internal processes are set up to correctly create normalized, hashed, and encoded values for UID2. +## UID2 Token Validator + +To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized and encoded values are correct, see [UID2 Token Validator](../ref-info/ref-token-validator.md). + ## Troubleshooting In all scenarios, follow the steps on your side to prepare your DII for processing, and then check your resulting values by using the [UID2 hashing tool](https://hashing-tool.samples.uidapi.com/). If the results don't match, check each step to find the error. diff --git a/docs/ref-info/ref-token-validator.md b/docs/ref-info/ref-token-validator.md index 117be4533..e94da3ada 100644 --- a/docs/ref-info/ref-token-validator.md +++ b/docs/ref-info/ref-token-validator.md @@ -29,12 +29,7 @@ If you do not have these, see [API Keys](../portal/api-keys.md) for instructions Enter your **Client Key** (API Key) and **Secret Key** in the fields at the top of the Token Validation section. -Select the **Operator** (environment) you want to validate against: - -- **UID2 Integration (Testing)**: Use this environment when testing your integration. -- **UID2 Production**: Use this for production token validation. - -For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). +Select the **Operator** (environment) you want to validate against. For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). ### Validate a Single Token From 1a2d224654357f911b87e89c7cf424ca5f8ddac7 Mon Sep 17 00:00:00 2001 From: Behnam Mozafari Date: Fri, 6 Mar 2026 13:41:31 +1100 Subject: [PATCH 4/7] Removed reference to token validator from liveramp guide --- docs/getting-started/gs-normalization-encoding.md | 2 +- docs/guides/integration-liveramp-tips.md | 2 +- docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/gs-normalization-encoding.md b/docs/getting-started/gs-normalization-encoding.md index 402dfe0b5..81ec94278 100644 --- a/docs/getting-started/gs-normalization-encoding.md +++ b/docs/getting-started/gs-normalization-encoding.md @@ -194,7 +194,7 @@ You can use this tool to verify that your internal processes are set up to corre ## UID2 Token Validator -To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized and encoded values are correct, see [UID2 Token Validator](../ref-info/ref-token-validator.md). +To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). ## Troubleshooting diff --git a/docs/guides/integration-liveramp-tips.md b/docs/guides/integration-liveramp-tips.md index 9b16108e5..415bda3e8 100644 --- a/docs/guides/integration-liveramp-tips.md +++ b/docs/guides/integration-liveramp-tips.md @@ -32,7 +32,7 @@ To add a valid UID2 token to the ATS envelope, a publisher must provide plain te You must use the SHA-256 hashing methodology, which is supported by both UID2 and LiveRamp. Using any other hashing methodology, or missing any step, results in either no UID2 token added to the ATS envelope or an invalid token added. -For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md). To verify that your normalization and hashing steps are producing the correct output, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). +For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md). ## Set Envelope Refresh to 1800 Seconds diff --git a/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx index cdcc643c0..b045384be 100644 --- a/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx +++ b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx @@ -4,4 +4,4 @@ It's critical that the input data, which you are converting to UID2, is in an ac For details, see [Preparing Emails and Phone Numbers for Processing](../ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md). -To verify that your normalization and hashing steps are producing the correct output, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). \ No newline at end of file +To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). \ No newline at end of file From 874040dda70292a5bb85738f9dc26f645f5a034c Mon Sep 17 00:00:00 2001 From: Behnam Mozafari Date: Fri, 6 Mar 2026 14:28:06 +1100 Subject: [PATCH 5/7] Copied over ref-token-validator.md to japanese folder to fix broken link error --- docs/ref-info/ref-token-validator.md | 6 +- .../current/ref-info/ref-token-validator.md | 81 +++++++++++++++++++ 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md diff --git a/docs/ref-info/ref-token-validator.md b/docs/ref-info/ref-token-validator.md index e94da3ada..0d5147fb5 100644 --- a/docs/ref-info/ref-token-validator.md +++ b/docs/ref-info/ref-token-validator.md @@ -20,14 +20,14 @@ Publishers and other participants who generate UID2 tokens by providing DII some To use the UID2 Token Validator, you need: -- A **UID2 Client Key** (API Key) -- A **UID2 Secret Key** +- A **UID2 API Key** (Client Key) +- A **UID2 Client Secret** If you do not have these, see [API Keys](../portal/api-keys.md) for instructions on creating them in the UID2 Portal. ## Using the Token Validator -Enter your **Client Key** (API Key) and **Secret Key** in the fields at the top of the Token Validation section. +Enter your **API Key** (Client Key) and **Client Secret** in the fields at the top of the Token Validation section. Select the **Operator** (environment) you want to validate against. For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md b/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md new file mode 100644 index 000000000..0d5147fb5 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md @@ -0,0 +1,81 @@ +--- +title: UID2 Token Validator +description: How to use the UID2 Token Validator to validate UID2 tokens against source DII and confirm your token generation workflow is correct. +hide_table_of_contents: false +sidebar_position: 02 +displayed_sidebar: docs +--- + +import Link from '@docusaurus/Link'; + +# UID2 Token Validator + +The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates UID2 tokens against their source directly identifying information (DII) to confirm that token generation is working correctly. + +## Overview + +Publishers and other participants who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads. + +## Prerequisites + +To use the UID2 Token Validator, you need: + +- A **UID2 API Key** (Client Key) +- A **UID2 Client Secret** + +If you do not have these, see [API Keys](../portal/api-keys.md) for instructions on creating them in the UID2 Portal. + +## Using the Token Validator + +Enter your **API Key** (Client Key) and **Client Secret** in the fields at the top of the Token Validation section. + +Select the **Operator** (environment) you want to validate against. For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). + +### Validate a Single Token + +1. Under **Input Mode**, select **Single Validation**. +2. In the **Identifier** field, enter the DII you used to generate the token. This can be: + - A raw email address + - A raw phone number + - A Base64-encoded email hash + - A Base64-encoded phone hash +3. Select the **Identifier Type** that matches your input. +4. In the **Token** field, paste the UID2 token you want to validate. +5. Click **Validate Tokens**. + +### Validate Multiple Tokens (CSV) + +To validate a batch of token-identifier pairs: + +1. Under **Input Mode**, select **CSV**. +2. Prepare a CSV file with the following columns: + - `identifier`: The DII (raw email, raw phone, email hash, or phone hash) + - `identifier_type`: Either `email`, `phone`, `email_hash` or `phone_hash` + - `token`: The UID2 token to validate. +3. Upload the CSV file. +4. Click **Validate Tokens**. + +## Interpreting Validation Results + +After clicking **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair: + +| Column | Description | +|---|---| +| Identifier | The DII you entered | +| Identifier Type | `email`, `phone`, `email_hash` or `phone_hash` | +| Normalized Hash | The Base64-encoded SHA-256 hash of the normalized DII | +| Token | The token you submitted | +| Validation | The result of the validation, see the table below | + +The **Validation** column reflects the response from the [POST /token/validate](../endpoints/post-token-validate.md) endpoint. + +| Validation Result | Meaning | +|---|---| +| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash | +| `Failed: Token does not match identifier` | The token does not match the provided DII, the most likely cause is incorrect normalization or hashing | +| `Failed: Invalid token` | The token is malformed and cannot be parsed | +| `Failed: {"status":"unauthorized"}` | The API credentials provided are invalid or unauthorized | + +:::tip +If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produces for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). +::: \ No newline at end of file From 063d81413eff91385f84bb5e906fe560ba2264b3 Mon Sep 17 00:00:00 2001 From: Behnam Mozafari Date: Fri, 6 Mar 2026 15:22:34 +1100 Subject: [PATCH 6/7] Address review comments --- .../gs-normalization-encoding.md | 4 + docs/ref-info/ref-token-validator.md | 4 +- .../current/ref-info/ref-token-validator.md | 81 ------------------- 3 files changed, 6 insertions(+), 83 deletions(-) delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md diff --git a/docs/getting-started/gs-normalization-encoding.md b/docs/getting-started/gs-normalization-encoding.md index 81ec94278..914bfe58c 100644 --- a/docs/getting-started/gs-normalization-encoding.md +++ b/docs/getting-started/gs-normalization-encoding.md @@ -194,6 +194,10 @@ You can use this tool to verify that your internal processes are set up to corre ## UID2 Token Validator +:::note +This section is for publishers only. Publishers are the only participants who should generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII). +::: + To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). ## Troubleshooting diff --git a/docs/ref-info/ref-token-validator.md b/docs/ref-info/ref-token-validator.md index 0d5147fb5..f9ad94fbd 100644 --- a/docs/ref-info/ref-token-validator.md +++ b/docs/ref-info/ref-token-validator.md @@ -10,11 +10,11 @@ import Link from '@docusaurus/Link'; # UID2 Token Validator -The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates UID2 tokens against their source directly identifying information (DII) to confirm that token generation is working correctly. +The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates UID2 tokens against their source directly identifying information (DII) to confirm that token generation is working correctly. ## Overview -Publishers and other participants who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads. +Publishers who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads. ## Prerequisites diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md b/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md deleted file mode 100644 index 0d5147fb5..000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: UID2 Token Validator -description: How to use the UID2 Token Validator to validate UID2 tokens against source DII and confirm your token generation workflow is correct. -hide_table_of_contents: false -sidebar_position: 02 -displayed_sidebar: docs ---- - -import Link from '@docusaurus/Link'; - -# UID2 Token Validator - -The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates UID2 tokens against their source directly identifying information (DII) to confirm that token generation is working correctly. - -## Overview - -Publishers and other participants who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads. - -## Prerequisites - -To use the UID2 Token Validator, you need: - -- A **UID2 API Key** (Client Key) -- A **UID2 Client Secret** - -If you do not have these, see [API Keys](../portal/api-keys.md) for instructions on creating them in the UID2 Portal. - -## Using the Token Validator - -Enter your **API Key** (Client Key) and **Client Secret** in the fields at the top of the Token Validation section. - -Select the **Operator** (environment) you want to validate against. For information about UID2 environments, see [Environments](../getting-started/gs-environments.md). - -### Validate a Single Token - -1. Under **Input Mode**, select **Single Validation**. -2. In the **Identifier** field, enter the DII you used to generate the token. This can be: - - A raw email address - - A raw phone number - - A Base64-encoded email hash - - A Base64-encoded phone hash -3. Select the **Identifier Type** that matches your input. -4. In the **Token** field, paste the UID2 token you want to validate. -5. Click **Validate Tokens**. - -### Validate Multiple Tokens (CSV) - -To validate a batch of token-identifier pairs: - -1. Under **Input Mode**, select **CSV**. -2. Prepare a CSV file with the following columns: - - `identifier`: The DII (raw email, raw phone, email hash, or phone hash) - - `identifier_type`: Either `email`, `phone`, `email_hash` or `phone_hash` - - `token`: The UID2 token to validate. -3. Upload the CSV file. -4. Click **Validate Tokens**. - -## Interpreting Validation Results - -After clicking **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair: - -| Column | Description | -|---|---| -| Identifier | The DII you entered | -| Identifier Type | `email`, `phone`, `email_hash` or `phone_hash` | -| Normalized Hash | The Base64-encoded SHA-256 hash of the normalized DII | -| Token | The token you submitted | -| Validation | The result of the validation, see the table below | - -The **Validation** column reflects the response from the [POST /token/validate](../endpoints/post-token-validate.md) endpoint. - -| Validation Result | Meaning | -|---|---| -| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash | -| `Failed: Token does not match identifier` | The token does not match the provided DII, the most likely cause is incorrect normalization or hashing | -| `Failed: Invalid token` | The token is malformed and cannot be parsed | -| `Failed: {"status":"unauthorized"}` | The API credentials provided are invalid or unauthorized | - -:::tip -If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produces for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). -::: \ No newline at end of file From 5d4c13946f69589c0508a6fcb00154dbfb66557a Mon Sep 17 00:00:00 2001 From: Behnam Mozafari Date: Fri, 6 Mar 2026 15:25:48 +1100 Subject: [PATCH 7/7] Address review comments --- docs/getting-started/gs-normalization-encoding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/gs-normalization-encoding.md b/docs/getting-started/gs-normalization-encoding.md index 914bfe58c..2b853bf47 100644 --- a/docs/getting-started/gs-normalization-encoding.md +++ b/docs/getting-started/gs-normalization-encoding.md @@ -198,7 +198,7 @@ You can use this tool to verify that your internal processes are set up to corre This section is for publishers only. Publishers are the only participants who should generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII). ::: -To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). +To validate the full token generation pipeline end-to-end, confirming that UID2 tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). ## Troubleshooting