Skip to content

Commit

Permalink
Merge pull request #717 from IABTechLab/gwh-APIDOCS-2592-GM-hashing-e…
Browse files Browse the repository at this point in the history
…dits

External copy edits from GM
  • Loading branch information
genwhittTTD authored Sep 26, 2024
2 parents a1535f2 + cab8c9d commit 22da75f
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
6 changes: 3 additions & 3 deletions docs/getting-started/gs-faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ The procedure is a little different depending on whether or not you are using an

#### What is the uniqueness and rotation policy for UID2 tokens?

The UID2 service encrypts UID2 tokens using random initialization vectors. The UID2 token is unique for a given user as the user browses the internet. This means that every time a UID2 token is generated, the token is always different, even for the same underlying raw UID2. Every time the token is refreshed, a new token is generated and encrypted. This mechanism helps ensure that untrusted parties cannot track a user's identity.
The UID2 service encrypts UID2 tokens using random initialization vectors. The UID2 token is unique for a given user as the user browses the internet. This means that every time a UID2 token is generated, the token is always different, even for the same underlying raw UID2. Every time the token is refreshed, a new token is generated and encrypted.

#### What does a UID2 token look like in the bidstream?

Expand All @@ -137,7 +137,7 @@ Here are some frequently asked questions for advertisers and data providers usin
- [Do refreshed emails get assigned to the same bucket with which they were previously associated?](#do-refreshed-emails-get-assigned-to-the-same-bucket-with-which-they-were-previously-associated)
- [How often should UID2s be refreshed for incremental updates?](#how-often-should-uid2s-be-refreshed-for-incremental-updates)
- [How should I generate the SHA-256 of DII for mapping?](#how-should-i-generate-the-sha-256-of-dii-for-mapping)
- [Should I store large volumes of email address, phone number, or their hash mappings?](#should-i-store-large-volumes-of-email-address-phone-number-or-their-hash-mappings)
- [Should I store mapping of email addresses, phone numbers, or corresponding hashes to raw UID2s in my own datasets?](#should-i-store-mapping-of-email-addresses-phone-numbers-or-corresponding-hashes-to-raw-uid2s-in-my-own-datasets)
- [How should I handle user opt-outs?](#how-should-i-handle-user-opt-outs)
- [Does the same DII always result in the same raw UID2?](#does-the-same-dii-always-result-in-the-same-raw-uid2)
- [If two operators process the same DII, are the results the same?](#if-two-operators-process-the-same-dii-are-the-results-the-same)
Expand Down Expand Up @@ -168,7 +168,7 @@ Even though each salt bucket is updated roughly once a year, individual bucket u

The system should follow the [email normalization rules](gs-normalization-encoding.md#email-address-normalization) and hash without salting.

#### Should I store large volumes of email address, phone number, or their hash mappings?
#### Should I store mapping of email addresses, phone numbers, or corresponding hashes to raw UID2s in my own datasets?

Yes. Not storing mappings may increase processing time drastically when you have to map millions of email addresses or phone numbers. Recalculating only those mappings that actually need to be updated, however, reduces the total processing time because only about 1/365th of UID2s need to be updated daily.

Expand Down
2 changes: 1 addition & 1 deletion docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ UID2 is a deterministic ID that is based on <Link href="ref-info/glossary-uid#gl

| ID Type | Shared in Bidstream? | Description |
| :--- | :--- | :--- |
| **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 prevent re-identification of the original personal data, the input value is hashed if it was not already hashed, then salted, and then hashed again 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 `user@example.com` resulted in this value: `E2dxEv3oMBzNHPw5iUVmwH2Hv+60D4AXYe+2ge9U0No=`. |
| **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 <Link href="../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 `user@example.com` resulted in this value: `E2dxEv3oMBzNHPw5iUVmwH2Hv+60D4AXYe+2ge9U0No=`. |
| **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 <Link href="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 `user@example.com` resulted in this value: `A4AAAAs6ZBcEbwAPoFhVV7CNW5W-4R-9TKDNL4RS0ctkw1U-IkNOXSnWczvwOMgCQaXHPf3Gd1o1W6IBmlZBFIloM67XOsOgwP5jUrQrclGkq1zBJJUJmOFTe6sJJA7pM1GP9gLd-hz5did6baZvcKd8DXkUYM-WALRZFnzHivu_1YEsC_CeXNdMexKDN7EwSQ6L5eZvOd1F1RkF_nLy_J0twg`. |

:::note
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ SDKを使うかどうかで手順は少し異なります。
#### What is the uniqueness and rotation policy for UID2 tokens?
UID2 Token の一意性とローテーションポリシーは何ですか?

UID2 Service は、ランダムな初期化ベクトルを使用して UID2 Token を暗号化します。UID2 Token は、ユーザーがインターネットを閲覧する際に、特定のユーザーに対して一意になります。つまり、UID2 Token が生成されるたびに、同じ UID2 であっても常に異なるトークンが生成されます。トークンが更新されるたびに新しいトークンが生成され、暗号化されます。この仕組みにより、信頼できない当事者がユーザーの身元を追跡できないようにすることができます。
UID2 Service は、ランダムな初期化ベクトルを使用して UID2 Token を暗号化します。UID2 Token は、ユーザーがインターネットを閲覧する際に、特定のユーザーに対して一意になります。つまり、UID2 Token が生成されるたびに、同じ UID2 であっても常に異なるトークンが生成されます。トークンが更新されるたびに新しいトークンが生成され、暗号化されます。

#### What does a UID2 token look like in the bidstream?
UID2 Token は、ビッドストリームではどのように見えますか?
Expand All @@ -138,7 +138,7 @@ UID2 フレームワークを使用する広告主やデータプロバイダー
- [更新されたメールアドレスは、以前関連付けられていたバケットと同じバケットに割り当てられますか?](#do-refreshed-emails-get-assigned-to-the-same-bucket-with-which-they-were-previously-associated)
- [インクリメンタルアップデートの場合、UID2 はどのくらいの頻度で更新するべきですか?](#how-often-should-uid2s-be-refreshed-for-incremental-updates)
- [マッピング用の DII の SHA-256 はどのように生成すればよいですか?](#how-should-i-generate-the-sha-256-of-dii-for-mapping)
- [大量のメールアドレスや電話番号やそれらのハッシュマッピングを保存すべきか?](#should-i-store-large-volumes-of-email-address-phone-number-or-their-hash-mappings)
- [大量のメールアドレスや電話番号やそれらのハッシュマッピングを保存すべきか?](#should-i-store-mapping-of-email-addresses-phone-numbers-or-corresponding-hashes-to-raw-uid2s-in-my-own-datasets)
- [ユーザーのオプトアウトはどのように処理すればよいですか?](#how-should-i-handle-user-opt-outs)
- [同じ DII は常に同じ生UID2になりますか?](#does-the-same-dii-always-result-in-the-same-raw-uid2)
- [2 つの Operator が同じ DII を処理した場合、結果は同じになりますか?](#if-two-operators-process-the-same-dii-are-the-results-the-same)
Expand Down Expand Up @@ -173,7 +173,7 @@ UID2 生成リクエストで提供されるメタデータには、UID2 の生

システムは[メールアドレス正規化ルール](../getting-started/gs-normalization-encoding#email-address-normalization)に従って、salt せずにハッシュ化する必要があります。

#### Should I store large volumes of email address, phone number, or their hash mappings?
#### Should I store mapping of email addresses, phone numbers, or corresponding hashes to raw UID2s in my own datasets?
大量のメールアドレスや電話番号やそれらのハッシュマッピングを保存すべきか?

はい。何百万ものメールアドレスや電話番号をマッピングする必要がある場合、マッピングを保存しないことで処理時間が大幅に増加する可能性があります。しかし、実際に更新が必要なマッピングだけを再計算すると、毎日更新する必要があるのは UID2 の約 365 分の 1 なので、総処理時間が短縮されます。
Expand Down

0 comments on commit 22da75f

Please sign in to comment.