created_at
updated_at
tags
toc
headings

3PCA 13 日目: ITP

Intro

このエントリは、 3rd Party Cookie Advent Calendar の 13 日目である。

Intelligent Tracking Prevention

前述のように、 Safari は 3rd Party Cookie を保存はしないが、1st Party ですでに保存している Cookie を 3rd Party のコンテキストでは送るという、限定的なブロックは実装していた。

しかし 2017 年 6 月、 Apple は「Safari はユーザのプライバシーを守るために、今後 3rd Party Cookie を本格的にブロックしていく」という発表をしたのだ。

これが ITP の最初のアナウンスで、のちに業界の流れを大きく変えることになる。

トラッカー判定

これは、いくつかの指標から「トラッキングをしている」とみなされれば、それを「トラッカー」としてラベル付し、その 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 について解説していく。