Privacy Sandboxの調査

# 1. 概要
Googleが検討中のPrivacy Sandboxに関する調査。調査中のため記載内容に誤りがある可能性があります。

随時更新予定。

# 2. 前提
2020/3/12時点の調査

# 3. Privacy Sandboxの概要
GoogleはサードパーティCookieの廃止を決定しましたが、サードパーテイCookieの代替案として「プライバシーサンドボックス（Privacy Sandbox）」を提案しています。
GoogleはPrivacy Sandbox はChromeブラウザ内における広告ターゲティングの許可を継続しつつ、不適切なトラッキングを減らすための手段であると説明しています。

Privacy Sandboxでは、5つのAPIが提供される予定です。広告主は各APIを使って、コンバージョンやアトリビューションに関する集計データを受け取ることが可能となる見込みです。

# 4. Privacy Sandboxの5つのAPI
## 4.1. Privacy Budget API
「プライバシーバジェットAPI（privacy budget API）」は、個人を識別可能な情報に予算（バジェット）を与え、、予算の中であれば情報を取得可能とすることにより、サイトがGoogleのAPIから収集するデータの量を制限します。

## 4.2. Trust Toknes API
「トラストAPI（trust API）」は、Google版のCAPTCHAで、人間かロボットか否かをCookieの代わりに判定するために利用します。

このAPIは、CAPTCHAに似たプログラムの実行がChromeユーザーに一度だけ求められます。その後は、匿名の「トラストトークン（trust tokens）」を利用して、このユーザーが本物の人間であることを証明します。

例えば、以下のようなコードで、信頼されているユーザーにトークンを提供します。

```javascript
fetch('<issuer>/.well-known/trust-token', {
  trustToken: {
    type: 'token-request',
    issuer: <issuer>
  }
}).then(...)
```

- https://github.com/WICG/trust-token-api

## 4.3. Conversion Measurement API
「コンバージョンメジャーメントAPI（conversion measurement API）」は、ユーザーが広告を見たかどうか、そして最終的に商品の購入やWebページを開いたかどうかを広告主に知らせます。

An impression is an anchor tag with special attributes:

```html
<a conversiondestination=”[eTLD+1]” impressiondata=”[string]” impressionexpiry=[unsigned long long] reportingdomain=”[eTLD+1]”>
```

- conversiondestination: 遷移先のドメイン。
- impressiondata: インプレッションを識別するための16進文字列としてエンコードされた64ビットの情報。ただし、ブラウザによって制限される可能性がある。
- impressionexpiry: (optional) インプレッションを無効とする場合のミリ秒単位の有効期限。デフォルトは7日間で、最大値は30日間です。ブラウザによって最大有効期限は異なる場合があります。
- reportingdomain: (optional) コンバージョンをレポートする先のドメイン。

- https://github.com/csharrison/conversion-measurement-api

## 4.4. Federated Learning of Cohorts
「FLoC（Federated Learning of Cohorts)」は、ブラウザ側で機械学習を行うことで、同様の傾向があるユーザーグループの閲覧傾向を調べます。

ユーザーのブラウジング履歴からブラウザによって導出されたユーザーグループは、FLoCキー（または「フロック」）ラウザによって識別が可能となります。ユーザーグループはユーザーがWebを横断するにつれて、時間の経過とともにグループは更新されます。

FLoCキーは、クライアントヒントを介してWebサイトで利用可能となります。

```html
Accept-CH = Sec-CH-Flock
```

```html
GET https://ad-network.example/serve_ad.html?width=300&height=250
Referer: https://allaboutmotorcycles.com/home.html
Sec-CH-Flock: 43A7
```

- https://github.com/jkarlin/floc

## 4.5. PIGIN（referring to private interest groups, including noise)
「PIGIN（referring to private interest groups, including noise」はユーザーが所属すると思われる一連のインタレストグループをChromeブラウザに追跡させます（ノイズを含む）。

以下のJavascriptで、ユーザーを特定のインタレストグループに参加するようブラウザに要求することができるようになります。

```javascript
var myGroup = {'owner' : 'www.wereallylikeshoes.com',
               'name' : 'athletic-shoes',
               'readers' : ['first-ad-network.com',
                            'second-ad-network.com']
              };
window.navigator.joinPrivateInterestGroup(myGroup, 30 * kSecsPerDay);
```

- [W3C group meeting](https://www.w3.org/2019/09/18-adselection-minutes.html)
- https://github.com/michaelkleber/pigin

# 5. その他関連する機能
## First Party Set
関連するドメインで、同じファーストパーティであることを宣言するための機能。
以下のようなコードで、各サブドメインが同一でることを宣言する。

```javascript
https://a.example/.well-known/first-party-set
{
  "owner": "a.example",
  "version": 1,
  "members": ["b.example", "c.example"],
  "assertions": { 
    "chrome-fps-v1" : "<base64 contents...>",
    "firefox-fps-v1" : "<base64 contents...>",
    "safari-fps-v1": "<base64 contents...>"
  }
}

https://b.example/.well-known/first-party-set
{ "owner": "a.example" }

https://c.example/.well-known/first-party-set
{ "owner": "a.example" }
```


# 6. 他の気になる動向
## Private Click Measurement
Apple が2019年5月22日に「Privacy Preserving Ad Click Attribution（プライバシー保護型広告クリックアトリビューション）」という新たな広告計測技術を発表した。

広告掲載先からクリックする際に掲載元に伝える情報をadタグで指定しておく。`adDestination`, `adCampaignID`属性を元に、コンバージョン情報がPOSTで送信される。

- [Privacy Preserving Ad Click Attribution For the Web](https://webkit.org/blog/8943/privacy-preserving-ad-click-attribution-for-the-web/)

# 7. 関連記事
- [User Agent Client Hintsに関する調査](https://qiita.com/tetsurotayama/items/dfa0f22418c226b102aa)

# 8. 参考文献
- https://www.chromium.org/Home/chromium-privacy/privacy-sandbox
- [【一問一答】Googleの「 プライバシーサンドボックス 」とは？：Cookieの代わりとされる5つのAPI](https://digiday.jp/platforms/wtf-googles-privacy-sandbox/)
- [Apple、「Safari」にプライバシー重視の広告トラッキングツール搭載へ](https://www.itmedia.co.jp/news/articles/1905/23/news060.html)