プライバシー保護の観点からサードパーティーCookieが規制され、代わりに「フィンガープリント」と呼ばれる識別情報でユーザーの行動を追跡する技術が登場しています。iOS向けにオープンソースで開発された「Loupe」を使うと、iPhoneがアプリやウェブサイトを通じて普段どのような情報を密かに公開しているのかをチェックできます。

GitHub - mysk-research/loupe: A privacy-focused iOS app that raises awareness about what native apps can see · GitHub

https://github.com/mysk-research/loupe

Loupe:Appに見えるものアプリ - App Store

https://apps.apple.com/jp/app/loupe-Appに見えるもの/id6766152470

Loupeは無料で利用可能。App Storeのページで「入手」をタップし、インストールします。



インストールしたLoupeを起動しました。「次へ」をタップ。



フィンガープリンティングの説明。「次へ」をタップします。



この時点ですでにLoupeを通じて読み取れる情報のほんの一部が表示されます。「次へ」をタップ。



インストールしているアプリもチェックされました。「次へ」をタップします。



Loupeで閲覧できる情報は「受動的」「許可が必要」「高度」の3種類。このうち、「許可が必要」と「高度」はアプリに情報へのアクセスを許可する必要があります。「次へ」をタップ。



Loupeではユーザーを識別できる情報が表示されますが、取得された情報はアップロードされたり共有されたりはしません。ただし、ローカルに保存したり任意に共有したりが可能です。「はじめる」をタップ。



Loupeの画面はこんな感じ。「受動的」の「デバイス識別情報」をタップしてみます。



すると、ベンダーIDやハードウェア識別子が表示されました。



「システム情報」ではプロセッサ数や物理メモリ、OSバージョン文字列、カーネルバージョンの文字列などが閲覧できます。



「ディスプレイ」では画面のスペックと描画能力、設定している画面の明るさなども見られました。



「Appleアカウント」ではiCloudトークンのハッシュが確認できます。



「許可が必要」レベルの情報は、アプリに情報取得を許可しないと閲覧できません。今回は「モーションとセンサー」をタップしてみます。



「モーションとフィットネスを有効にする」をタップ。



アクセス権を要求されるので、「許可」をタップします。



するとアクティビティや気圧、高度など、iPhoneに搭載されているセンサーから得られる情報が表示されました。



他にも「位置情報」では、GPSやセンサーのデータを元に座標や高度、位置情報の精度がチェックできるようになっていました。



「写真」ではiPhoneに保存されている写真や動画に埋め込まれた位置情報がスキャンされ、ずらっと並べて表示されました。



そして、「高度」は公開APIを利用して引き出せる情報を閲覧可能。ブラウザ型のフィンガープリンティングをチェックできる「WebViewフィンガープリント」をタップしてみます。



すると、ユーザーエージェント文字列やプラットフォーム文字列などが閲覧できました。



「インストール済みAppの検出」では、iOSで指定したURLを処理できるアプリがデバイス内に存在するかを判定するメソッド「canOpenURL」でTrueを返したアプリがインストール済みだと検出されて列挙されました。



Loupeはオープンソースで開発されており、ソースコードはMITライセンスの下、GitHubで公開されています。なお、開発者のMysk氏は「LoupeはほぼすべてAIコーディングツールによって開発されました」と述べており、macOS版の開発も進めていることを明らかにしています。