diff --git a/docs/endpoints/post-token-generate.md b/docs/endpoints/post-token-generate.md
index 904e2ac6f..d2240de62 100644
--- a/docs/endpoints/post-token-generate.md
+++ b/docs/endpoints/post-token-generate.md
@@ -23,6 +23,10 @@ The `optout_check` parameter, required with a value of `1`, checks whether the u
Rather than calling this endpoint directly, you could use one of the SDKs to manage it for you. For a summary of options, see [SDKs: Summary](../sdks/summary-sdks.md).
+:::important
+Whatever option you use, the data that you send for generating UID2s must be normalized, hashed, and encoded before sending. For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md).
+:::
+
## Request Format
`POST '{environment}/v2/token/generate'`
diff --git a/docs/getting-started/gs-normalization-encoding.md b/docs/getting-started/gs-normalization-encoding.md
index ffb2a7e32..7e63db007 100644
--- a/docs/getting-started/gs-normalization-encoding.md
+++ b/docs/getting-started/gs-normalization-encoding.md
@@ -196,7 +196,7 @@ You can use this tool to verify that your internal processes are set up to corre
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](#uid2-hashing-tool). If the results don't match, check each step to find the error.
-If you're having trouble or getting errors, or even if you just want to be sure you're following the steps correctly, here are some things you can check:
+If you're having trouble or getting errors, or if you just want to be sure you're following the steps correctly, here are some things you can check:
- **Phone numbers**: Make sure you're normalizing—and normalizing correctly—as the first step.
diff --git a/docs/guides/integration-advertiser-dataprovider-endpoints.md b/docs/guides/integration-advertiser-dataprovider-endpoints.md
index 6a0e92c4f..d14924918 100644
--- a/docs/guides/integration-advertiser-dataprovider-endpoints.md
+++ b/docs/guides/integration-advertiser-dataprovider-endpoints.md
@@ -8,6 +8,7 @@ displayed_sidebar: sidebarAdvertisers
---
import Link from '@docusaurus/Link';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Advertiser/Data Provider Integration to HTTP Endpoints
@@ -32,6 +33,10 @@ You'll need to set up these values, in the UID2 Portal on the [API Keys](../port
It's very important that you keep these values secure. For details, see [Security of API Key and Client Secret](../getting-started/gs-credentials.md#security-of-api-key-and-client-secret).
:::
+## Preparing DII for Processing
+
+
+
## High-Level Steps
At a high level, the steps for advertisers and data providers integrating with UID2 are as follows:
diff --git a/docs/guides/integration-advertiser-dataprovider-overview.md b/docs/guides/integration-advertiser-dataprovider-overview.md
index 5196c7d5d..92d7c9584 100644
--- a/docs/guides/integration-advertiser-dataprovider-overview.md
+++ b/docs/guides/integration-advertiser-dataprovider-overview.md
@@ -8,6 +8,7 @@ displayed_sidebar: sidebarAdvertisers
---
import Link from '@docusaurus/Link';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Advertiser/Data Provider Integration Overview
@@ -27,6 +28,10 @@ There are other ways that you can use UID2, outside these use cases. These are j
| Send in conversions | Send raw UID2s as conversion information | Use conversion information for measurement (attribution) or for retargeting via API or pixels. |
| Receive graph data | Receive raw UID2s from graph/data providers via API or pixels | Build graph data. |
+## Preparing DII for Processing
+
+
+
## High-Level Steps
At a high level, the steps for advertisers and data providers integrating with UID2 are as follows:
diff --git a/docs/guides/integration-aws-entity-resolution.md b/docs/guides/integration-aws-entity-resolution.md
index 1706c753a..51572507c 100644
--- a/docs/guides/integration-aws-entity-resolution.md
+++ b/docs/guides/integration-aws-entity-resolution.md
@@ -9,6 +9,7 @@ displayed_sidebar: docs
---
import Link from '@docusaurus/Link';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# AWS Entity Resolution Integration Guide
@@ -73,6 +74,10 @@ The following table shows the sequence of steps shown in the diagram.
| 16 | Amazon Data Exchange | Returns raw UID2s to AWS Entity Resolution. |
| 17 | AWS Entity Resolution | Writes the output records to the S3 bucket including the raw UID2s. |
+## Preparing DII for Processing
+
+
+
## Initial Setup Steps
The following are the initial steps for setting up your UID2 integration in AWS Entity Resolution:
diff --git a/docs/guides/integration-ctv-guide.md b/docs/guides/integration-ctv-guide.md
index e78765fc8..b125bdea3 100644
--- a/docs/guides/integration-ctv-guide.md
+++ b/docs/guides/integration-ctv-guide.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptPrivateOperatorOption from '../snippets/_snpt-private-operator-option.mdx';
# CTV Integration Guide
@@ -31,6 +32,10 @@ To determine how you'll implement these steps, choose from the [CTV Integration
+## Preparing DII for Processing
+
+
+
## Private Operator Option
diff --git a/docs/guides/integration-databricks.md b/docs/guides/integration-databricks.md
index da1985502..30c90c86b 100644
--- a/docs/guides/integration-databricks.md
+++ b/docs/guides/integration-databricks.md
@@ -9,6 +9,7 @@ displayed_sidebar: docs
---
import Link from '@docusaurus/Link';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Databricks Clean Rooms Integration Guide
@@ -44,6 +45,10 @@ Here are some key benefits of integrating with Databricks for your UID2 processi
- Streamlined integration between UID2 identifiers and The Trade Desk activation ecosystem.
- Self-service support for marketers and advertisers through Databricks.
+## Preparing DII for Processing
+
+
+
## Integration Steps
At a high level, the following are the steps to set up your Databricks integration and process your data:
diff --git a/docs/guides/integration-google-ss.md b/docs/guides/integration-google-ss.md
index 069139af8..3fcc4ff1b 100644
--- a/docs/guides/integration-google-ss.md
+++ b/docs/guides/integration-google-ss.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Google Ad Manager Secure Signals Integration Guide
@@ -88,6 +89,10 @@ A sample implementation for Prebid.js with Secure Signals is also available. For
+## Preparing DII for Processing
+
+
+
## Publisher Integration
When an encrypted signal is cached, the secure signals feature does not execute the handler to generate a new signal. Because of this, it is necessary to clear the cache before and after data capture.
diff --git a/docs/guides/integration-javascript-client-server.md b/docs/guides/integration-javascript-client-server.md
index 257b0d759..580fa28d4 100644
--- a/docs/guides/integration-javascript-client-server.md
+++ b/docs/guides/integration-javascript-client-server.md
@@ -9,8 +9,9 @@ displayed_sidebar: docs
---
import Link from '@docusaurus/Link';
-import SnptExampleClientServerSendUid2ToSdk from '../snippets/_snpt-example-client-server-send-uid2-to-sdk.mdx';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
+import SnptExampleClientServerSendUid2ToSdk from '../snippets/_snpt-example-client-server-send-uid2-to-sdk.mdx';
# Client-Server Integration Guide for JavaScript
@@ -46,6 +47,10 @@ If you are using Google Ad Manager and want to use the secure signals feature, f
+## Preparing DII for Processing
+
+
+
## Complete UID2 Account Setup and Configure Account
To integrate with UID2, you'll need to have a UID2 account. If you haven't yet created an account, first follow the steps described on the [Account Setup](../getting-started/gs-account-setup.md) page.
diff --git a/docs/guides/integration-javascript-client-side.md b/docs/guides/integration-javascript-client-side.md
index d18ea6192..06d81d223 100644
--- a/docs/guides/integration-javascript-client-side.md
+++ b/docs/guides/integration-javascript-client-side.md
@@ -12,6 +12,7 @@ import Link from '@docusaurus/Link';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Client-Side Integration Guide for JavaScript
@@ -61,6 +62,10 @@ If you want to use a debug build of the SDK, use the following URL instead:
+## Preparing DII for Processing
+
+
+
## Complete UID2 Account Setup and Configure Account
To integrate with UID2, you'll need to have a UID2 account. If you haven't yet created an account, first follow the steps described on the [Account Setup](../getting-started/gs-account-setup.md) page.
diff --git a/docs/guides/integration-javascript.md b/docs/guides/integration-javascript.md
index e8ae844c2..5d3fce750 100644
--- a/docs/guides/integration-javascript.md
+++ b/docs/guides/integration-javascript.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# UID2 Integration Overview for JavaScript
@@ -31,6 +32,10 @@ For additional flexibility, UID2 also provides alternative methods for some of t
+## Preparing DII for Processing
+
+
+
## Client-Side or Client-Server Integration
The options for integrating with UID2 using the SDK for JavaScript are summarized in the following table. Choose the option that's best for you.
diff --git a/docs/guides/integration-mobile-client-server.md b/docs/guides/integration-mobile-client-server.md
index 5a09ca28b..dc92d48eb 100644
--- a/docs/guides/integration-mobile-client-server.md
+++ b/docs/guides/integration-mobile-client-server.md
@@ -11,12 +11,13 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
+import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptExampleAdvertisingToken from '../snippets/_snpt-example-advertising-token.mdx';
import SnptEnableLogging from '../snippets/_snpt-mobile-docs-enable-logging.mdx';
import SnptGMAIMA_Plugins from '../snippets/_snpt-mobile_docs_gmaima-plugin-gss.mdx';
import SnptPrebidMobileSDK from '../snippets/_snpt-mobile_docs_prebid-mobile.mdx';
import SnptErrorResponseStates from '../snippets/_snpt-mobile-docs-error-response-states.mdx';
-import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
# UID2 Client-Server Integration Guide for Mobile
@@ -61,6 +62,10 @@ For instructions for installing the correct SDK/version into your mobile app, se
+## Preparing DII for Processing
+
+
+
## Complete UID2 Account Setup and Configure Account
To integrate with UID2, you'll need to have a UID2 account. If you haven't yet created an account, first follow the steps described on the [Account Setup](../getting-started/gs-account-setup.md) page.
diff --git a/docs/guides/integration-mobile-client-side.md b/docs/guides/integration-mobile-client-side.md
index ea0636283..ca5b04a62 100644
--- a/docs/guides/integration-mobile-client-side.md
+++ b/docs/guides/integration-mobile-client-side.md
@@ -11,12 +11,13 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
+import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptExampleAdvertisingToken from '../snippets/_snpt-example-advertising-token.mdx';
import SnptEnableLogging from '../snippets/_snpt-mobile-docs-enable-logging.mdx';
import SnptGMAIMA_Plugins from '../snippets/_snpt-mobile_docs_gmaima-plugin-gss.mdx';
import SnptPrebidMobileSDK from '../snippets/_snpt-mobile_docs_prebid-mobile.mdx';
import SnptErrorResponseStates from '../snippets/_snpt-mobile-docs-error-response-states.mdx';
-import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
# UID2 Client-Side Integration Guide for Mobile
@@ -196,6 +197,10 @@ If necessary, you can also change the default Subscription ID and public key to
+## Preparing DII for Processing
+
+
+
## Complete UID2 Account Setup and Configure Account
To integrate with UID2, you'll need to have a UID2 account. If you haven't yet created an account, first follow the steps described on the [Account Setup](../getting-started/gs-account-setup.md) page.
diff --git a/docs/guides/integration-mobile-overview.md b/docs/guides/integration-mobile-overview.md
index 3d5d86321..13600d015 100644
--- a/docs/guides/integration-mobile-overview.md
+++ b/docs/guides/integration-mobile-overview.md
@@ -10,6 +10,7 @@ displayed_sidebar: sidebarPublishers
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# UID2 Mobile Integration Overview for Android and iOS
@@ -33,6 +34,10 @@ For additional flexibility, UID2 also provides alternative methods for some of t
+## Preparing DII for Processing
+
+
+
## Integration Overview: High-Level Steps
At a high level, to integrate your mobile app with UID2 using the UID2 mobile SDKs, you'll need to complete the following steps:
diff --git a/docs/guides/integration-options-private-operator.md b/docs/guides/integration-options-private-operator.md
index af50818bb..e7724ddbf 100644
--- a/docs/guides/integration-options-private-operator.md
+++ b/docs/guides/integration-options-private-operator.md
@@ -8,6 +8,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptUpgradePolicy from '../snippets/_snpt-private-operator-upgrade-policy.mdx';
import SnptRotatingTheKeys from '../snippets/_snpt-private-operator-rotating-the-keys.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# UID2 Private Operator Integration Overview
@@ -98,6 +99,10 @@ For information about supported versions and deprecation dates, see [Private Ope
+## Preparing DII for Processing
+
+
+
## Getting Started
To get started as a Private Operator, follow these steps:
@@ -115,6 +120,10 @@ To get started as a Private Operator, follow these steps:
5. Test.
6. Go live.
+:::important
+Whatever option you use, the data that you send for generating UID2s must be normalized, hashed, and encoded before sending. For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md).
+:::
+
## Implementation Resources
The following documentation resources are available for Private Operators to implement UID2.
diff --git a/docs/guides/integration-options-publisher-web.md b/docs/guides/integration-options-publisher-web.md
index dd4efdfb1..76dc04d11 100644
--- a/docs/guides/integration-options-publisher-web.md
+++ b/docs/guides/integration-options-publisher-web.md
@@ -7,6 +7,7 @@ displayed_sidebar: sidebarPublishers
---
import Link from '@docusaurus/Link';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
# Publisher Web Integration Overview
@@ -43,6 +44,10 @@ To accomplish all steps, you can combine solutions. For example, you could use t
+## Preparing DII for Processing
+
+
+
## Publisher Web Options Workflow
To choose your implementation and get started, follow these steps:
diff --git a/docs/guides/integration-prebid-client-server.md b/docs/guides/integration-prebid-client-server.md
index 5032ee513..0092483a9 100644
--- a/docs/guides/integration-prebid-client-server.md
+++ b/docs/guides/integration-prebid-client-server.md
@@ -9,9 +9,10 @@ displayed_sidebar: docs
---
import Link from '@docusaurus/Link';
+import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAddPrebidjsToYourSite from '../snippets/_snpt-prebid-add-prebidjs-to-your-site.mdx';
import SnptStoreUID2TokenInBrowser from '../snippets/_snpt-prebid-storing-uid2-token-in-browser.mdx';
-import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
# UID2 Client-Server Integration Guide for Prebid.js
@@ -40,6 +41,10 @@ Information about how to integrate Prebid with UID2 is also in the following loc
+## Preparing DII for Processing
+
+
+
## Integration Overview: High-Level Steps
You'll need to complete the following steps:
diff --git a/docs/guides/integration-prebid-client-side.md b/docs/guides/integration-prebid-client-side.md
index 39f72f964..ce56cf44f 100644
--- a/docs/guides/integration-prebid-client-side.md
+++ b/docs/guides/integration-prebid-client-side.md
@@ -9,9 +9,10 @@ displayed_sidebar: docs
---
import Link from '@docusaurus/Link';
+import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAddPrebidjsToYourSite from '../snippets/_snpt-prebid-add-prebidjs-to-your-site.mdx';
import SnptStoreUID2TokenInBrowser from '../snippets/_snpt-prebid-storing-uid2-token-in-browser.mdx';
-import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
# UID2 Client-Side Integration Guide for Prebid.js
@@ -31,6 +32,10 @@ If you need to use an earlier version of Prebid.js, use the implementation solut
+## Preparing DII for Processing
+
+
+
## Integration Overview: High-Level Steps
You'll need to complete the following steps:
diff --git a/docs/guides/integration-prebid.md b/docs/guides/integration-prebid.md
index 69e1c9406..42c320d02 100644
--- a/docs/guides/integration-prebid.md
+++ b/docs/guides/integration-prebid.md
@@ -10,12 +10,21 @@ displayed_sidebar: sidebarPublishers
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptStoreUID2TokenInBrowser from '../snippets/_snpt-prebid-storing-uid2-token-in-browser.mdx';
# UID2 Integration Overview for Prebid
This guide is an overview of integration options for publishers who want to integrate with UID2 and generate UID2 tokens (advertising tokens) to be passed by Prebid.js or the Prebid Mobile SDK in the RTB bidstream.
+## Integrating with Single Sign-On (SSO)
+
+
+
+## Preparing DII for Processing
+
+
+
## Prebid.js Support for Web
UID2 provides a Prebid.js module that supports the following:
@@ -33,10 +42,6 @@ UID2 is not designed to be used where salts and encryption keys in the private tables. No DII is stored at any point. |ETL (Extract Transform Load) jobs constantly update the UID2 Core/Optout Snowflake storage with internal data that powers the UID2 Operator Web Services. The data used by the Operator Web Services is also available through the UID2 Share. |
|When you use shared functions and views, you pay Snowflake for transactional computation costs. |These private tables, secured in the UID2 Snowflake account, automatically synchronize with the UID2 Core/Optout Snowflake storage that holds internal data used to complete UID2-related tasks. | |
+## Preparing DII for Processing
+
+
+
## Summary of Integration Steps
:::important
diff --git a/docs/guides/operator-guide-aks-enclave.md b/docs/guides/operator-guide-aks-enclave.md
index 01b74c465..b73df1bac 100644
--- a/docs/guides/operator-guide-aks-enclave.md
+++ b/docs/guides/operator-guide-aks-enclave.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptUpgradePolicy from '../snippets/_snpt-private-operator-upgrade-policy.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAttestFailure from '../snippets/_snpt-private-operator-attest-failure.mdx';
import SnptRotatingTheKeys from '../snippets/_snpt-private-operator-rotating-the-keys.mdx';
@@ -89,6 +90,10 @@ Install the Kubernetes `kubectl` command-line interface. For details, see [Insta
Install the `helm` command-line interface. For details, see [Installing Helm](https://helm.sh/docs/intro/install/) in the Helm documentation.
+## Preparing DII for Processing
+
+
+
## Deployment Environments
The following environments are available. As a best practice, we recommend that you test and verify your implementation in the integration environment before deploying in the production environment.
diff --git a/docs/guides/operator-guide-aws-marketplace.md b/docs/guides/operator-guide-aws-marketplace.md
index 0940ddf1b..85470adb7 100644
--- a/docs/guides/operator-guide-aws-marketplace.md
+++ b/docs/guides/operator-guide-aws-marketplace.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptUpgradePolicy from '../snippets/_snpt-private-operator-upgrade-policy.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAttestFailure from '../snippets/_snpt-private-operator-attest-failure.mdx';
import SnptRotatingTheKeys from '../snippets/_snpt-private-operator-rotating-the-keys.mdx';
@@ -160,6 +161,10 @@ The following diagram illustrates the virtual private cloud that hosts private o

+## Preparing DII for Processing
+
+
+
## Deployment
To deploy UID2 Operator on AWS Marketplace, complete the following steps:
diff --git a/docs/guides/operator-guide-azure-enclave.md b/docs/guides/operator-guide-azure-enclave.md
index f32ab9b13..4db035874 100644
--- a/docs/guides/operator-guide-azure-enclave.md
+++ b/docs/guides/operator-guide-azure-enclave.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptUpgradePolicy from '../snippets/_snpt-private-operator-upgrade-policy.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAttestFailure from '../snippets/_snpt-private-operator-attest-failure.mdx';
import SnptRotatingTheKeys from '../snippets/_snpt-private-operator-rotating-the-keys.mdx';
@@ -75,6 +76,10 @@ For details, see [Azure roles](https://learn.microsoft.com/en-us/azure/role-base
When all prerequisite steps are complete, you're ready to deploy the UID2 Private Operator. See [Deployment](#deployment).
+## Preparing DII for Processing
+
+
+
## Deployment Environments
The following environments are available. As a best practice, we recommend that you test and verify your implementation in the integration environment before deploying in the production environment.
diff --git a/docs/guides/operator-private-gcp-confidential-space.md b/docs/guides/operator-private-gcp-confidential-space.md
index 3af5495ad..03bd59531 100644
--- a/docs/guides/operator-private-gcp-confidential-space.md
+++ b/docs/guides/operator-private-gcp-confidential-space.md
@@ -10,6 +10,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptUpgradePolicy from '../snippets/_snpt-private-operator-upgrade-policy.mdx';
+import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAttestFailure from '../snippets/_snpt-private-operator-attest-failure.mdx';
import SnptRotatingTheKeys from '../snippets/_snpt-private-operator-rotating-the-keys.mdx';
@@ -107,6 +108,10 @@ When UID2 account registration is complete, and you've installed the gcloud CLI,
- Review information about [deployment environments](#deployment-environments).
- Review information about the [deployment options](#deployment-options) available, including the benefits of each, and decide which to use.
+## Preparing DII for Processing
+
+
+
## Deployment Environments
The following environments are available, and both [deployment options](#deployment-options) support both environments.
diff --git a/docs/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md b/docs/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md
new file mode 100644
index 000000000..1a8289dc8
--- /dev/null
+++ b/docs/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md
@@ -0,0 +1,54 @@
+---
+title: Preparing DII for Processing
+description: Summary of key steps to prepare your input data for conversion to UID2s.
+hide_table_of_contents: false
+sidebar_position: 01
+displayed_sidebar: docs
+---
+
+import Link from '@docusaurus/Link';
+
+# Preparing Emails and Phone Numbers for Processing
+
+The input data that you provide to the UID2 Service must be in the correct format so that the data is correctly converted to valid UID2s that you can use for targeted advertising.
+
+This is true in all cases, whichever of these solutions you're using to convert your emails and phone numbers to UID2s:
+- By making direct calls to the UID2 APIs.
+- Via your own Private Operator.
+- By using any of the UID2 SDK integrations, Prebid.js integration, or Android/iOS integration.
+- By using Snowflake.
+
+## Processing Steps
+
+The exact steps for preparing your data to be consumed by the UID2 service are laid out in the [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) documentation. The steps, in sequence, are as follows:
+1. Normalize the raw data.
+2. Create a 32-byte SHA-256 hash of the normalized raw data.
+3. Apply Base64-encoding to the 32-byte SHA-256 value.
+
+If you're making direct calls to the UID2 APIs, or calling the UID2 APIs via your own Private Operator, you must complete each step, exactly as described and in the correct sequence.
+
+## Valid Input
+
+If you're using a UID2 SDK, or other integration solution such as the Prebid.js integration, Android/iOS integration, or Snowflake, the options for your input data are shown in the following table.
+
+
[Phone Number Normalization](../getting-started/gs-normalization-encoding#phone-number-normalization) [Phone Number Hash Encoding](../getting-started/gs-normalization-encoding#phone-number-hash-encoding)
+
+
+
diff --git a/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx
new file mode 100644
index 000000000..50fe99175
--- /dev/null
+++ b/docs/snippets/_snpt-preparing-emails-and-phone-numbers.mdx
@@ -0,0 +1,5 @@
+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
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md b/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md
new file mode 100644
index 000000000..1a8289dc8
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md
@@ -0,0 +1,54 @@
+---
+title: Preparing DII for Processing
+description: Summary of key steps to prepare your input data for conversion to UID2s.
+hide_table_of_contents: false
+sidebar_position: 01
+displayed_sidebar: docs
+---
+
+import Link from '@docusaurus/Link';
+
+# Preparing Emails and Phone Numbers for Processing
+
+The input data that you provide to the UID2 Service must be in the correct format so that the data is correctly converted to valid UID2s that you can use for targeted advertising.
+
+This is true in all cases, whichever of these solutions you're using to convert your emails and phone numbers to UID2s:
+- By making direct calls to the UID2 APIs.
+- Via your own Private Operator.
+- By using any of the UID2 SDK integrations, Prebid.js integration, or Android/iOS integration.
+- By using Snowflake.
+
+## Processing Steps
+
+The exact steps for preparing your data to be consumed by the UID2 service are laid out in the [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) documentation. The steps, in sequence, are as follows:
+1. Normalize the raw data.
+2. Create a 32-byte SHA-256 hash of the normalized raw data.
+3. Apply Base64-encoding to the 32-byte SHA-256 value.
+
+If you're making direct calls to the UID2 APIs, or calling the UID2 APIs via your own Private Operator, you must complete each step, exactly as described and in the correct sequence.
+
+## Valid Input
+
+If you're using a UID2 SDK, or other integration solution such as the Prebid.js integration, Android/iOS integration, or Snowflake, the options for your input data are shown in the following table.
+
+
[Phone Number Normalization](../getting-started/gs-normalization-encoding#phone-number-normalization) [Phone Number Hash Encoding](../getting-started/gs-normalization-encoding#phone-number-hash-encoding)