3PCA 13 日目: ITP
Intro
このエントリは、3rd Party Cookie Advent Calendar の 13 日目である。
- 3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiita
Intelligent Tracking Prevention
前述のように、Safari は 3rd Party Cookie を保存はしないが、1st Party で既に保存している Cookie を 3rd Party のコンテキストでは送るという、限定的なブロックは実装していた。
しかし 2017 年 6 月、Apple は「Safari はユーザのプライバシーを守るために、今後 3rd Party Cookie を本格的にブロックしていく」という発表をしたのだ。
これが ITP の最初のアナウンスで、のちに業界の流れを大きく変えることになる。
- Intelligent Tracking Prevention
トラッカー判定
これは、いくつかの指標から「トラッキングをしている」とみなされれば、それを「トラッカー」としてラベル付けし、その Cookie は保存が 1st Party だったかに関わらず送らないように変えるということだ。
しかも、この ITP の特徴的な部分が「どうやってトラッキングかどうか判定するのか?」を「機械学習でやる」と言っているところだ。
たとえば「こういう使い方はトラッカーになるのか?」「自分のドメインがトラッカー判定されたけどなぜか?」みたいなものが、大体全部「機械学習の結果だ」で片付けられる。
ちょうど機械学習が流行り始めていた時期でもあり、実装も確かにそうなのかもしれないが、細かい説明を省く便利な言葉として使われているなというのが、筆者の印象だった。
ITP のバージョン
ITP は最初にアナウンスされた 1.0 から始まり、2.3 まで順を追って発表されている。
- 2017/06/05: 1.0
- 2018/05/14: 1.1
- 2018/06/04: 2.0
- 2019/02/21: 2.1
- 2019/04/24: 2.2
- 2019/09/23: 2.3
ITP を調べると多くのサイトが順を追って説明しているが、基本的には順に制限が厳しくなり、2.3 で完全に 3rd Party Cookie のブロックを完了したと考えれば良い。
その過程で、保存期間が何日だったか、条件は何だったかという細かい話はあるが、適用されていた期間も短い過去のバージョンであるため、基本的にはもう気にしなくて良い。
ITP で塞がれたもの
結果として ITP で塞がれたものは、基本的には 2 つの側面があると思って良い。
「これまで、1st Party として保存済みだった Cookie は、3rd Party でも送れる」という挙動をまずブロックするように、1.0 から徐々に保存期限を短くして、最後はすぐ消すようにした。
そして、それに応じて「ワークアラウンドとして使われたいくつかの迂回方法を削除」した。これに付随して、不足する仕様が別途公開されたりもしたが、それは追って解説していく。
こうして ITP によって、Safari は「本当に 3rd Party Cookie をデフォルトでブロックするブラウザ」になったわけだ。
もし時代が時代だったら、他のブラウザはまた別の方針を取っていたかもしれないが、実は「世界の方がだいぶ変わっていた」ことによって、ここから一気に「脱 3rd Party Cookie 時代」に突入していくことになる。
次回以降は、ITP を経て生まれた概念や、新しく提案された API について解説していく。