1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[WWDC 2021] App Privacy Report メモ

Posted at

[WWDC 2021] Apple’s privacy pillars in focus の中でもとりわけ重要そうだった App Privacy Report のメモを先に残しておきますので、皆様の参考になれば幸いです。

Apple’s privacy pillars in focus - WWDC 2021 - Videos - Apple Developer

App Privacy Report はビデオの 14:44 ~ 18:54 で紹介されてます。


概要

  • New section in Settings
    • 設定アプリのプライバシーから App Privacy Report を確認出来るようになる
    • 使用履歴はクリアすることもできる
  • Shows app accesses to data
    • アプリがどのユーザデータにアクセスしたのか一覧表示される
  • Shows app contacts to domains
    • アプリがデータを共有した可能性のあるドメインが一覧表示される**(サードパーティSDKも含めて)**
  • Comings in an update to iOS15
    • 今後iOS15へのアップデートで利用可能になる

Record App Activity

重要:
Record App Activity 画面でアプリのアクティビティを記録できるようになるので(ユーザから問い合わせが入る前に)早めに確認した方がよさそう。

(もうサードパーティSDK側では動き出しているのだろうか?)

[15:33]あたり原文まま

In iOS 15, Record App Activity provides export functionality for you to better understand your apps' behaviors. So, you'll want to grab the iOS 15 beta and turn on Record App Activity to get a head start on what people will see for your app in the App Privacy Report feature. Then, when you select Save App Activity, iOS will produce a JSON file. You should review the content of this JSON file to confirm your app behaves as expected.

iOS 15では、アプリアクティビティの記録により、アプリの動作をよりよく理解するためのエクスポート機能が提供されます。 そのため、iOS 15ベータ版を入手し、[アプリアクティビティの記録]をオンにして、アプリのプライバシーレポート機能でアプリのユーザーに表示される内容をすぐに確認することをお勧めします。 次に、[アプリアクティビティの保存]を選択すると、iOSはJSONファイルを生成します。 このJSONファイルの内容を確認して、アプリが期待どおりに動作することを確認する必要があります。


JSONの確認方法

上記 [Save App Activity] で保存したJSONでアプリが connect したドメインを確認する方法

[16:34]あたり原文まま

To see all the domains you've contacted, look below the section marker in JSON: there's a final dictionary. This uses bundle IDs for keys, so there's one dictionary for each of your app's executables. From there, you can see all domain contacts, when they were initiated, and if they were app or user-initiated.

連絡したすべてのドメインを確認するには、JSONのセクションマーカーの下を見てください。最終的な辞書があります。 これはキーにバンドルIDを使用するため、アプリの実行可能ファイルごとに1つの辞書があります。 そこから、すべてのドメイン連絡先、それらがいつ開始されたか、およびそれらがアプリまたはユーザーによって開始されたかどうかを確認できます。


アプリによる接続とWebサイトによる接続の違い

  • SafariViewController と ASWebAuthenticationSessions で作成された接続はWebサイトによる接続として自動的にタグづけされる
    • (それ以外はどうなるのか不明)

手動でのタグづけ方法

  • アプリ内でのWebアクセス時に手動でタグづけするための列挙型が追加された(指定しない場合はアプリのトラフィックとしてマークされるらしいがタグづけとどう違うのかよく分からない)
    • NSMutableURLRequests
    • NWConnection
    • sockets
  • WKWebView にはタグづけするための新しいメソッドが追加されたらしい

(詳細はまだ確認出来ていないが、これはアプリ側のタグづけ対応とSDK側のタグづけ対応が必要になるということだろうか?おそらくSDK側にはタグづけしてもらわないとアプリ側では判別できない気がする。誰かご存知 or 試した方がいらしたら記事にしてください!)


感想:
App Privacy Report の説明の最後の方で「アプリはユーザが期待するデータと時間にのみアクセスする必要がある」と言っているように、アプリ開発者はサードパーティSDKが何をしているのか(どのドメインにいつアクセスしているのかも)明確に責任を持つということになる。確かに前からそのようなアナウンスはされていたが、まさかここまで明確になるとは思っていなかった。
今年もまたプライバシー周り、特にサードパーティSDK周りで振り回されることになるのかな。

不慣れな英語を翻訳しながらまとめているため、誤訳や認識違いがあるかもしれないのでご注意ください。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?