You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- The hash of `+00000000002` as the `phone_hash` value.
121
+
121
122
2. Wait until the SDK's [background auto-refresh](../sdks/sdk-ref-javascript.md#background-token-auto-refresh) attempts to refresh the advertising token (this can take several hours) and observe the refresh attempt fail with the `OPTOUT` status. At this point the SDK also clears the first-party cookie.
122
123
123
124
##### Without SDK:
@@ -127,7 +128,9 @@ The procedure is a little different depending on whether or not you are using an
- The hash of `+00000000002` as the `phone_hash` value.
131
+
130
132
2. Store the returned `refresh_token` for use in the following step.
133
+
131
134
3. Send a [POST /token/refresh](../endpoints/post-token-refresh.md) request with the `refresh_token` (saved in step 2) as the `token` value.<br/>The body response should be empty, and the `status` value should be set to `optout` because the `[email protected]` email and the `+00000000002` phone number always result in a logged-out user.
132
135
133
136
#### What is the uniqueness and rotation policy for UID2 tokens?
On startup/resumption of the app, if `getAdvertisingToken()` returns `null`, it is time to generate new identity on the server by following the instructions in [Implement Server-Side Token Generation](#implement-server-side-token-generation). Then, pass the result into the mobile app’s UID2Manager again: see [Configure the UID2 mobile SDK](#configure-the-uid2-mobile-sdk).
270
+
On startup/resumption of the app, if `getAdvertisingToken()` returns `null`, it is time to generate new identity on the server by following the instructions in [Implement Server-Side Token Generation](#implement-server-side-token-generation). Then, pass the result into the mobile app’s UID2Manager again: see [Configure the UID2 Mobile SDK](#configure-the-uid2-mobile-sdk).
Copy file name to clipboardExpand all lines: docs/intro.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,13 +38,13 @@ The UID2 framework is built on the following technical principles:
38
38
39
39
-**Distributed integration**: Multiple certified integration paths provide options for publishers, advertisers, and third-party data providers to manage and exchange UID2 tokens.
40
40
41
-
-**Decentralized storage**: The framework does not have a centralized storage for personal data (<Linkhref="ref-info/glossary-uid#gl-dii">DII</Link>) mappings. All participants maintain only their own data.
41
+
-**Decentralized storage**: The framework does not have centralized storage for personal data (<Linkhref="ref-info/glossary-uid#gl-dii">DII</Link>) mappings. All participants maintain only their own data.
42
42
43
43
-**Lean infrastructure**: The UID2 system is light and inexpensive to operate.
44
44
45
45
-**Internet scale**: The UID2 infrastructure can scale to address the continuously increasing needs of [participants](#participants) and to meet the performance demands of specific geographic regions.
46
46
47
-
-**Self-reliant**: UID2 does not rely on external services for processing of real-time bidding (RTB) data.
47
+
-**Self-reliant**: UID2 does not rely on external services for the processing of real-time bidding (RTB) data.
48
48
49
49
## Elements of the UID2 Infrastructure
50
50
@@ -62,7 +62,7 @@ UID2 is a deterministic ID that is based on <Link href="ref-info/glossary-uid#gl
62
62
| ID Type | Shared in Bidstream? | Description |
63
63
| :--- | :--- | :--- |
64
64
|**Raw UID2**| No | An unencrypted alphanumeric identifier created through the UID2 APIs or SDKs with the user's verifiable personal data, such as a hashed or unhashed email address or a phone number, as input.<br/>To avoid revealing the source data, the input value is hashed if it was not already hashed, and then hashed again using a secret <Linkhref="ref-info/glossary-uid#gl-salt">salt</Link> value to create the raw UID2. The process that creates the raw UID2 is designed to create a secure, opaque value that can be stored by advertisers, third-party data providers, and demand-side platforms (DSPs).<br/>Raw UID2s are case sensitive.<br/>Example: A request for the raw UID2 for the fictitious email address `[email protected]` resulted in this value: `E2dxEv3oMBzNHPw5iUVmwH2Hv+60D4AXYe+2ge9U0No=`. |
65
-
|**UID2 Token (Advertising Token)**| Yes | An encrypted form of a raw UID2. UID2 tokens are generated from hashed or unhashed email addresses or phone numbers that are converted to raw UID2s and then encrypted to help ensure protection in the <Linkhref="ref-info/glossary-uid#gl-bidstream">bidstream</Link>.<br/>UID2 tokens are designed to be used by publishers or publisher service providers. Supply-side platforms (SSPs) pass UID2 tokens in the bidstream and DSPs decrypt them at bid request time.<br/>UID2 tokens are case sensitive.<br/>Example: A request for a UID2 token for the fictitious email address `[email protected]` resulted in this value: `A4AAAAs6ZBcEbwAPoFhVV7CNW5W-4R-9TKDNL4RS0ctkw1U-IkNOXSnWczvwOMgCQaXHPf3Gd1o1W6IBmlZBFIloM67XOsOgwP5jUrQrclGkq1zBJJUJmOFTe6sJJA7pM1GP9gLd-hz5did6baZvcKd8DXkUYM-WALRZFnzHivu_1YEsC_CeXNdMexKDN7EwSQ6L5eZvOd1F1RkF_nLy_J0twg`. |
65
+
|**UID2 Token (Advertising Token)**| Yes | An encrypted form of a raw UID2. UID2 tokens are generated from hashed or unhashed email addresses or phone numbers that are converted to raw UID2s and then encrypted to help ensure protection in the <Linkhref="ref-info/glossary-uid#gl-bidstream">bidstream</Link>.<br/>UID2 tokens are designed to be used by publishers or publisher service providers. Supply-side platforms (SSPs) pass UID2 tokens in the bidstream and DSPs decrypt them at bid request time.<br/>UID2 tokens are case sensitive.<br/>Example: A request for a UID2 token for the fictitious email address `[email protected]` resulted in this value: `A4AAAAs6ZBcEbwAPoFhVV7CNW5W-4R-9TKDNL4RS0ctkw1U-IkNOXSnWczvwOMgCQaXHPf3Gd1o1W6IBmlZBFIloM67XOsOgwP5jUrQrclGkq1zBJJUJmOFTe6sJJA7pM1GP9gLd-hz5did6baZvcKd8DXkUYM-WALRZFnzHivu_1YEsC_CeXNdMexKDN7EwSQ6L5eZvOd1F1RkF_nLy_J0twg`. |
66
66
67
67
:::note
68
68
For the fictitious email address `[email protected]` used in these examples, the corresponding refresh token was: `AAAABrexFHvQVhNJqu+y/ua7rsgShF8e9NUXUJOZFmeFRD8TAsJadaLfOlLkwC5iSxcOKWFD9YwMBzbbcPa92CInba+bcPTaAFNmM2ZpIHgGy6lDcNPzvEnPQh/5fyZ3MD44SX/tHyIXa0R2OBAOLBA1A81r3jefhSsxZdyyBF58KtnaX6UbaeOEaguOfMnJdmhaPeWKj33v7vGfROWtxDWmi6wvGL5lHTX9H6iIZ9i1WSsemYPUgmoDOQeT7nzllJK968OECFj5LkCazDN3pCrYSeuJby9o0fMuSZNxzp6EVzi6XVED4ETtzpcaY0AArzzdh0IXV9MgH8jyg7bJSUWXQG+8kMPZzwbs9EB+7ddAUOLZL/GBna8Hm3Im03EjN3sJ`.
@@ -75,7 +75,7 @@ The UID2 framework consists of the following components, all of which are curren
75
75
| Component | Description |
76
76
| :--- | :--- |
77
77
|**Core Service**| A centralized service that manages access to <ahref="ref-info/glossary-uid#gl-salt">salts</a>, <ahref="ref-info/glossary-uid#gl-encryption-key">encryption keys</a>, and other relevant data in the UID2 ecosystem. |
78
-
|**Operator Service**| A service that enables the management and storage of encryption keys and salts from the UID2 Core Service, hashing of users' personal data, encryption of raw UID2s, and decryption of UID2 tokens. There can be multiple instances of the service (public or private) operated by multiple [participants](#participants), known as operators.<br/><Linkhref="ref-info/glossary-uid#gl-public-operator">Public Operators</Link> run publicly available instances of the <Linkhref="ref-info/glossary-uid#gl-operator-service">Operator Service</Link> and make them available to all relevant UID2 participants. There might also be <Linkhref="ref-info/glossary-uid#gl-private-operator">Private Operators</Link> that run private instances of the Operator Service exclusively for their own use. All instances are designed with protections to keep critical UID2 data secure and interoperable, regardless of who operates the service. |
78
+
|**Operator Service**| A service that enables the management and storage of encryption keys and salts from the UID2 Core Service, hashing of users' personal data, encryption of raw UID2s, and decryption of UID2 tokens. There can be multiple instances of the service (public or private) operated by multiple [participants](#participants), known as operators.<br/><Linkhref="ref-info/glossary-uid#gl-public-operator">Public Operators</Link> run publicly available instances of the <Linkhref="ref-info/glossary-uid#gl-operator-service">Operator Service</Link> and make them available to all relevant UID2 participants. There might also be <Linkhref="ref-info/glossary-uid#gl-private-operator">Private Operators</Link> that run private instances of the Operator Service exclusively for their own use. All instances are designed with protections to keep critical UID2 data secure and interoperable, regardless of who operates the service. |
79
79
|**Opt-Out Service**| A global service that manages and stores user opt-out requests and disseminates them to publishers, operator service instances, and DSPs. |
80
80
|**Transparency and Control Portal**| A user-facing website, [https://www.transparentadvertising.com/](https://www.transparentadvertising.com/), that allows consumers to opt out of UID2 at any time. |
| Prebid (Overview) |[UID2 Integration Overview for Prebid](../guides/integration-prebid.md)| An overview of options for publishers who want to integrate with UID2 and generate UID2 tokens to be passed by Prebid.js or the Prebid Mobile SDK in the RTB bidstream. |
107
+
| Prebid (Overview) |[UID2 Integration Overview for Prebid](../guides/integration-prebid.md)| An overview of options for publishers who want to integrate with UID2 and generate <Linkhref="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> (advertising tokens) to be passed by Prebid.js or the Prebid Mobile SDK in the RTB bidstream. |
108
108
| Prebid.js Client-Side Integration |[UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)| A guide for publishers who want to request UID2 tokens client-side, which is the easiest implementation approach, and choose to have Prebid.js manage the following: <ul><li>Token generation and <ahref="../ref-info/glossary-uid#gl-token-refresh">token refresh</a>.</li><li>Passing the tokens into the RTB bidstream.</li></ul> |
109
-
| Prebid.js Client-Server Integration |[UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md)| A guide for publishers who want to integrate with UID2 and generate <Linkhref="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> (advertising tokens) to be passed by Prebid.js in the RTB bidstream, but want to generate tokens server-side: for example, publishers who are using a <Linkhref="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link>. |
109
+
| Prebid.js Client-Server Integration |[UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md)| A guide for publishers who want to integrate with UID2 and generate UID2 tokens to be passed by Prebid.js in the RTB bidstream, but want to generate tokens server-side: for example, publishers who are using a <Linkhref="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link>. |
110
110
| JavaScript (Overview) |[UID2 Integration Overview for JavaScript](../guides/integration-javascript.md)| An overview of options for publishers who want to integrate with UID2 using the JavaScript SDK. |
111
111
| JavaScript Client-Side Integration |[Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)| A guide for publishers who want to integrate with UID2 using only client-side JavaScript changes, which is the easiest implementation approach.<br/>The SDK for JavaScript manages token generation and token refresh automatically. |
112
112
| JavaScript Client-Server Integration |[Client-Server Integration Guide for JavaScript](../guides/integration-javascript-client-server.md)| A publisher guide covering standard web integration scenarios that use the SDK for JavaScript and require tokens to be generated on the server side and passed to the publisher web pages. |
@@ -139,7 +139,7 @@ The following resources are available for publishers integrating with Prebid.
| Prebid (Overview) |[UID2 Integration Overview for Prebid](../guides/integration-prebid.md)| An overview of options for publishers who want to integrate with UID2 and generate UID2 tokens to be passed by Prebid.js or the Prebid Mobile SDK in the RTB bidstream. |
142
+
| Prebid (Overview) |[UID2 Integration Overview for Prebid](../guides/integration-prebid.md)| An overview of options for publishers who want to integrate with UID2 and generate <Linkhref="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> (advertising tokens) to be passed by Prebid.js or the Prebid Mobile SDK in the RTB bidstream. |
143
143
| Prebid.js Client-Side Integration |[UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)| A guide for publishers who want to request UID2 tokens client-side, which is the easiest implementation approach, and choose to have Prebid.js manage the following: <ul><li>Token generation and token refresh.</li><li>Passing the tokens into the RTB bidstream.</li></ul> |
144
144
| Prebid.js Client-Server Integration |[UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md)| A guide for publishers who want to integrate with UID2 and generate UID2 tokens to be passed by Prebid.js in the RTB bidstream, but want to generate tokens server-side: for example, publishers who are using a Private Operator. |
145
145
| Prebid.js on Mobile |[UID2 Mobile Integration for Prebid.js](../guides/integration-prebid-mobile-summary.md)| A summary of information resources for UID2 integration with Prebid.js on mobile devices. |
Copy file name to clipboardExpand all lines: docs/ref-info/ref-server-side-token-generation.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,12 +19,12 @@ There are two approaches for publishers generating UID2 tokens on the server sid
19
19
- Direct integration to API endpoints
20
20
21
21
:::warning
22
-
For security reasons, the API key and secret used in token generation *must* be called on the server side. Do not store these values on the client side, whether on a web page, mobile app, or in Prebid. For details, see [Security of API Key and Client Secret](../getting-started/gs-credentials.md#security-of-api-key-and-client-secret).
22
+
For security reasons, the API key and secret used in token generation *must* be called on the server side. Do not store these values on the client side, whether on a web page, in a mobile app, or in Prebid. For details, see [Security of API Key and Client Secret](../getting-started/gs-credentials.md#security-of-api-key-and-client-secret).
Copy file name to clipboardExpand all lines: docs/sdks/sdk-ref-android.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,15 +126,15 @@ There are two ways to establish an initial UID2 Identity:
126
126
127
127
1. Generate the UID2 identity using DII—email (hashed or unhashed) or phone number (hashed or unhashed). For integration instructions, see [Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side.md).
128
128
129
-
2. Create a UID2 identity server-side and then pass it into the UID2 SDK. For integration instructions, refer to [Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server.md).
129
+
2. Create a UID2 identity server-side and then pass it into the UID2 SDK. For integration instructions, see [Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server.md).
130
130
131
131
The UID2 Mobile SDKs can perform refreshes of UID2 identities, after an Identity is established. This is because the refresh functionality relies on the refresh tokens that are part of the UID2 Identity.
132
132
133
133
## Code Samples
134
134
135
135
The following code samples provide examples of performing specific activities relating to managing UID2 with the SDK for Android.
136
136
137
-
Generate an initial UID2 Identity (refer to [Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side#configure-the-uid2-mobile-sdk)):
137
+
Generate an initial UID2 Identity (see [Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side#configure-the-uid2-mobile-sdk)):
Set the UID2 Identity (refer to [Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server#configure-the-uid2-mobile-sdk)):
146
+
Set the UID2 Identity (see [Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server#configure-the-uid2-mobile-sdk)):
@@ -171,7 +171,7 @@ The following functions are available as part of the UID2Manager API:
171
171
172
172
#### generateIdentity()
173
173
174
-
Generate a UID2 Identity using <Link href="../ref-info/glossary-uid#gl-dii">Directly identifying information (DII)</Link>. For instructions, see [Configure the UID2 mobile SDK](../guides/integration-mobile-client-side.md#configure-the-uid2-mobile-sdk) in the *Client-Side Integration Guide for Mobile*.
174
+
Generate a UID2 Identity using <Link href="../ref-info/glossary-uid#gl-dii">Directly identifying information (DII)</Link>. For instructions, see [Configure the UID2 Mobile SDK](../guides/integration-mobile-client-side.md#configure-the-uid2-mobile-sdk) in the *Client-Side Integration Guide for Mobile*.
Copy file name to clipboardExpand all lines: docs/sdks/sdk-ref-csharp-dotnet.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,10 @@ import Link from '@docusaurus/Link';
11
11
12
12
You can use the SDK for C# / .NET on the server side to encrypt raw UID2s to create UID2 tokens for sharing, and to decrypt UID2 tokens to access the raw UID2.
13
13
14
+
## Overview
15
+
16
+
The functions outlined here define the information that you'll need to configure or can retrieve from the library. The parameters and property names defined below are pseudocode. Actual parameters and property names vary by language but will be similar to the information outlined here.
17
+
14
18
## Functionality
15
19
16
20
This SDK simplifies integration with UID2 for any DSPs or UID2 sharers who are using C# / .NET for their server-side coding. The following table shows the functions it supports.
0 commit comments