iOSのブラウザ「Safari」に搭載されている「ITP」。
ITPはCookieを利用したクロスサイトトラッキングから、個人情報を保護することを目的として作られた機能です。
…とは言っても、まず「Cookieってなんだっけ?」「クロスサイトトラッキングってどういう意味?」という人も多いでしょう。
そもそもITPとは?
ITPとは、日本語にすると「インテリジェントトラッキング防止機能」。
トラッキングというのは、例えば「どのサイトから来てどのページを何分間閲覧したのか」など、インターネット上でユーザーがどのように行動したのかを追跡することです。
通販サイトで商品を閲覧した後に他の全く関係ないサイトを閲覧していると、さっき検索した商品の広告が表示されたりすることがありますよね。
これはCookieの情報からサイトをまたいでユーザーの行動を遡り、閲覧履歴などの情報をもとにして広告が表示されるため。
企業にとってトラッキングはユーザーの動向を細かく把握することができる手段ですが、ユーザーにとっては知らない間に第三者にインターネット上の行動を把握されているということになります。
Cookieとはブラウザ上の記録簿
ITPについて理解するには、まずCookieについて知っておかなくてはなりません。
Cookieはインターネット上での記録簿のようなものだと考えるとわかりやすいですよ。
一旦サイトを離れてもログイン状態が保持されていたり、買い物かごの中身が保存されていたりするのはCookieのおかげ。
「この人は前もこのサイトに来て、このIDでログインしましたよ。/これを買い物かごに入れましたよ。」というのが記録されているのです。
ファーストパーティーCookie
Cookieには大きく分けて2つの種類があり、その一つが「ファーストパーティーCookie」。
ファーストパーティーCookieは、利用したサイト上で直接発行されているCookieのこと。
前述したような、ログイン状態を保持したり、買い物かごの中身が保存されたりというのが、ファーストパーティーCookieによるものです。
基本的に、ファーストパーティーCookieは発行元のドメインの中でのみ、情報の記録や収集が可能。
サードパーティーCookie
ファーストパーティーCookie対して、利用したサイト以外が発行するCookieが「サードパーティーCookie」。
サードパーティーCookieには、サイトをまたいで情報の取得が可能という特徴があります。
「以前検索した商品の広告」などは、このサードパーティーのCookieを追跡して、表示されているわけですね。
ITP1.0について
2017年9月、iOS11から公開されたITP1.0。
ITP1.0の主な機能は、サードパーティーを利用したクロスサイトトラッキングのCookieを24時間後に無効にするというもの。
つまりサイトへのアクセスから24時間以内はクロスサイトトラッキングによる広告などが表示されますが、24時間を超えるとトラッキングできなくなるという仕組みです。
無効になったCookieは一旦隔離され、30日が経過すると完全に削除されます。
ITP2.0での変更点
ITP2.0での変更点は、サードパーティーCookieへの制限強化、そしてファーストパーティーCookieについても、ユーザーの承諾がなければ情報の収集ができなくなった点が違いです。
サードパーティーCookieの即時無効
ITP2.0と1.0の大きな違いは、サードパーティーCookieが即時無効にされるようになったことです。
0では24時間以内ならクロスサイトトラッキングが可能だったのですが、2.0では制限が強まりました。
ファーストパーティーCookieの保持は30日間
ITP2.0ではファーストパーティーCookieについても、トラッキングについてはユーザーの承諾が必要となり、ユーザーの承諾がなければ30日後にCookieやウェブサイトのデータは削除対象に。
ユーザーの承諾があった場合にのみ、Storage Access APIという機能を使って保持することが可能です。
複数回のリダイレクトはトラッキングとみなされる
0の場合、自社サイト内でのリダイレクトは問題ありませんでしたが、2.0ではこのような場合でも、複数回のリダイレクトが検知された時点でトラッキングとみなされ、データ削除の対象となります。
ITP2.1での変更点
2019年3月のリリースされたITP2.1。変更された点は、主にファーストパーティーCookieへの制限強化を含め、様々なトラッキングに対する対策がなされたことです。
ファーストパーティーCookieの有効期限が7日間に
ITP2.0ではファーストパーティーCookieなら30日間は保持されていましたが、ITP2.1ではファーストパーティーCookieであっても、有効期限は7日間のみとなったのが大きな変更点です(JavaScriptのドキュメントCookieで設定されたものが対象)。
つまり、ファーストパーティーCookieであっても8日目以降は削除されてしまうということですね。
トラッカーだと認定されたCookieが即時削除される
ITP2.0までは、トラッカーだと認定されたCookieは即時無効にされるものの、その後は一旦「隔離」という形で残されていました。
しかし2.1からは隔離ではなく、即時削除される仕様に変更。
サードパーティーからのストレージへのアクセスを禁止
サイトの閲覧やダウンロードなどで、「ストレージへのアクセスを許可する/しない」という表示が出ることがありますね。
ITP2.0までは、許可を求められていない場合でも、一時的にサードパーティーがストレージにアクセスすることがありました。
しかしITP2.1では、ユーザーの許可なしにストレージへアクセスすることが完全に禁止されるようになります。
キャッシュを使ったクロスサイトトラッキングの禁止
クロスサイトトラッキングは、Cookieを使ったものだけに限りません。
中にはブラウザのキャッシュ機能を利用したクロスサイトトラッキングもあり、ITP2.1ではCookieだけではなく、キャッシュを利用したクロスサイトトラッキング防止機能も強化されました。
まとめ
ユーザーを守るために生まれたITP。
しつこい広告表示や、個人情報保護の観点からも、ユーザーにとってはとてもありがたい機能です。
しかし一方で、ソーシャルログインにも承諾が必要になったり、お小遣いサイトを経由しての特典取得などにも影響が出たりすることも考えられます。
ITPはバージョンアップされるごとに仕様が変わっていっているので、その都度、変更の内容を把握しておくようにするのがベストでしょう。