要約: ATT は特定の識別子(IDFA — Apple の広告 ID)をひとつブロックします。トラッキングを続けたいアプリは、単純に IDFA の使用をやめ、ATT が触れることのない十数種類の他の識別子のいずれかを使います。独立した調査によると、ユーザーが "Ask App Not to Track" をタップした後も、多くのアプリがフィンガープリンティングによるトラッキングを続けていることがわかっています。以下では、ATT が実際に何をするのか、何をしないのか、そしてそのギャップを埋めるものは何かを説明します。
App Tracking Transparency が実際にブロックするもの
2021年4月に iOS 14.5 で導入された ATT は、アプリがデバイスの IDFA(Identifier for Advertisers)— Apple が各デバイスに割り当てる単一のグローバル文字列 — にアクセスする前に、システムプロンプトを表示することを義務付けています。"Ask App Not to Track" をタップすると、アプリはすべてゼロの IDFA を受け取ることになっています。それだけです。それがメカニズムの全体です。
この限定的な保護は Apple の枠組みでは理にかなっています。ATT は Apple が管理する単一の識別子に関するものです。ATT が設計されていなかったこと — そして多くのユーザーが行うと思っていること — は、アプリが他の手段を通じてあなたの行動をトラッキングするのを止めることです。
ATT 後にアプリが切り替えた手法
IDFA が遮断されると、モバイル広告業界は諦めませんでした。手法を切り替えたのです:
- デバイスフィンガープリンティング。 画面解像度、機種、OS バージョン、インストール済み言語、タイムゾーン、加速度センサーのノイズパターン、その他約30のシグナルを組み合わせて、アプリ間でデバイスを再識別するのに十分なユニークなフィンガープリントを作成します。このフィンガープリントは Apple がアプリに自由に読み取らせているデータから構築されます。
- ハッシュ化ユーザー識別子。 メールアドレスで無料アプリにログインすると、SDK はそのメールアドレスをハッシュ化して広告ネットワークに送信します。そのハッシュは、あなたのメールアドレスを持つ他のアプリと照合されます。ATT はこれを防ぎません — 登録することで同意したことになるのです。
- クロスアプリの接着剤としての共有 SDK。 Facebook の SDK はモバイルアプリの約30%に組み込まれています。そのアプリのいずれかを使用すると、SDK は Meta に報告します — Facebook アカウントを持っていなくてもです。ATT はホストアプリにプロンプトを表示しますが、組み込まれた SDK の個別の識別子には表示しません。
- CNAME クローキング。 サイトまたはアプリが DNS エイリアス(
analytics.bigsite.com→ 実際はhotjar.com)を作成し、トラッカーがファーストパーティのように見せかけます。ATT には DNS レイヤーがなく、ブラウザのコンテンツブロッカーはエイリアスチェーンを簡単に解決できません。 - SKAdNetwork アトリビューション。 Apple 独自の ATT に対応した代替手段 — アプリは Apple が集約するチャネルを通じてインストールアトリビューションイベントを報告します。IDFA ほど詳細ではありませんが、依然としてアトリビューションです。無意味ではありません。
研究が示す実態
独立した研究者たちは、ATT が実際には一つのチャネルをブロックし、他の多くを開放したままにしていることを繰り返し発見しています。ユーザーが ATT の権限を拒否した後も、多くのアプリが何らかの形のトラッキングを続けています。主にフィンガープリンティングと共有 SDK 識別子を通じてです。
これは ATT が悪いという主張ではありません — 有用な限定的保護です。あなたの目標が "アプリはトラッキングすべきではない" であれば、ATT だけでは不十分だという主張です。
実際にギャップを埋めるもの
上記のすべての手法は一つの構造的な特徴を共有しています。SDK がリモートサーバーに到達する必要があることです。フィンガープリントはどこかに送信されなければなりません。ハッシュ化されたメールアドレスはサーバーに送信されなければなりません。Facebook SDK はそのペイロードを graph.facebook.com に送信しなければなりません。CNAME クロークされたトラッカーも最終的には実際の宛先に解決されます。
つまり、既知のトラッカードメインへの接続をブロックするネットワークレベル(DNS)フィルターは、アプリが送信しようとしていた識別子に関わらず、これらすべてを一度の介入で捕捉します。これは Pi-hole がホームネットワーク向けに先駆けたアプローチであり、Casper's Cloak、NextDNS、AdGuard DNS などのモバイルツールが個々のデバイスに対して行うことです。
メカニズムを簡略化すると:
- アプリに組み込まれた SDK がそのフィンガープリント / ハッシュ化された ID / 行動シグナルをサーバー(例:
graph.facebook.com、amplitude.com、mixpanel.com)に送信しようとします。 - その接続が完了する前に、デバイスはサーバーの IP を見つけるために DNS ルックアップを行います。
- システムの VPN プロファイルが DNS クエリをフィルタリングリゾルバーに送信します。
- リゾルバーはそのホスト名がトラッカーであることを認識し、IP を返すことを拒否します。
- 接続は開かれません。データはあなたのスマートフォンから送信されません。
重要なのは、これが Safari だけでなく、デバイス上のすべてのアプリに機能することです。ATT はアプリ SDK API レイヤーにあります。ブラウザのコンテンツブロッカーは DOM レイヤーにあります。DNS フィルタリングはネットワークレイヤーにあり、両方の下で、すべてのアプリが収束する場所にあります。
ATT が優れていること — 正当な評価
ATT は2つの点で真に価値があります:
- デフォルトを変えた。 ATT 以前、IDFA は常にオンでした。ATT 以降、ほとんどのユーザーはプロンプトが表示されるとオプトアウトします。これは、回避策があるにしても、社会全体でのプライバシーの実質的な転換です。
- Meta や他の企業に、以前は見えなかったトラッキングインフラを開示させた。 アプリが正確に記入しなければならない App Store の「App Privacy」ラベルは、その直接の結果として生まれました。
ATT は意義ある取り組みでした。ただ完全ではありません — そして Apple もそうだとは主張したことがありません。
実践的な推奨事項
- "Ask App Not to Track" をタップし続けましょう。 わずかな手間をかける価値のある保護です。
- ATT と並行して DNS レベルフィルターを実行しましょう — Casper、NextDNS、AdGuard DNS、またはセルフホスト型 Pi-hole。これが ATT が対処しない手法を捕捉するものです。
- インストール前にアプリの App Privacy ラベルを確認しましょう。 アプリのラベルに非必須目的で "Data Linked to You — Identifiers" が表示されている場合は、代替アプリを探しましょう。
- "無料" アプリはデフォルトでトラッキングを通じて収益を得ていることを認識しましょう。 有料の代替アプリはトラッキングに依存していないため、プライバシーに対する姿勢が大きく異なることが多いです。
- 実際のメールアドレスが使えるなら、Apple/Google/Facebook でサインインしないようにしましょう。 SSO は本来分離されているはずの識別子を連鎖させます。
結論
ATT は有用ですが限定的なプライバシー機能です。Apple が管理する単一の識別子をブロックします。トラッキングを続けたいアプリは他の識別子を使うだけです。あなたの目標が "アプリはトラッキングすべきではない" というより広いものであれば、ATT は始まりであって終わりではありません — ATT が設計されたことのないものを捕捉するネットワークレベルフィルターと組み合わせましょう。