コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

ITP2.3の作り関してざっくりまとめる

思った以上にえげつない仕様が盛り込まれているので調べる

ITPに関して

ITPのそもそもの話は過去にざっくり書いたのでそちらを参考のこと

Intelligent Tracking Prevention とはなにかざっくりまとめる - コード日進月歩

ITP2.3で起きること

対象 起きること この仕様になったver
3rd Party Cookie 従来方法で即時利用不可 ITP2.1
クライアント(≒JS)生成の1st Party Cookie 特定条件に当てはまる場合に利用期間が24時間になる ITP2.2
LocalStorage 特定条件下で即削除される ITP2.3
Referrer パラメータがある場合にドメイン情報のみになる ITP2.3

要素別に書いていく

3rd Party Cookie

期間を設けたり、パーティション化するなどしていたが、最終的にITP2.1にて規制が強化、ユーザにUI許可を求めるStorageAccess APIを使わないと取得できなくなった、こちらもルールがかなり煩雑かつSafariFirefoxでしか実装されていない。

1st Party Cookie

Set-Cookie でヘッダに仕込むクッキー(サーバサイドクッキーなどと呼称される)は今の所規制はないが、 document.cookie ベースのJSで作るCookie(クライアントクッキーなどと呼称される)はITP2.2にて下記の2つの条件両方に当てはまると24時間でアクセスができなくなる

  1. ITP1.0からある機械学習モデルでcross-site tracking 機能で分類されたドメインと認識されている
  2. 1のドメインで異なるドメインBへの遷移URLにクエリストリングやフラグメント識別子が含まれている

LocalStorage

HTML5から登場した、ブラウザが持つデータ領域のlocalStorage、こちらがITP2.3から規制対象となっていて、以下のような条件を満たすと削除される(らしい)。

  1. ユーザーがcross-site tracking 機能で分類されたドメインから、クエリ文字列やフラグメント識別子などがついていると、削除対象サイトとして記憶される(URL例: website.example?clickID=0123456789
  2. ユーザーがwebsite.exampleのWebページを操作せずに7日間Safariを使用すると、website.exampleのCookie以外のWebサイトの LocalStorageデータが削除されます。

Referrer

ITP2.3からトラッキング用途としてリファラが使われているというところに嘆きが入り、eLTD+1以上の情報はリファラにつかなくなる。

例としては https://sub.social.example/some/path/?clickID=0123456789 から遷移してきた場合に https://social.example としかReferrerでは取れない。

参考