Slide 1

Slide 1 text

Chatwork株式会社 モバイルアプリケーション開発部 中山 龍 2024年2月22日 期限が近づいてきた! Privacy Manifests対応

Slide 2

Slide 2 text

自己紹介 中山 龍 (なかやま りゅう) ● Chatwork株式会社 ○ 新卒1年目のiOSエンジニア(21) ● フルリモート勤務で愛知県在住 2 @ryu_develop 最近は部屋に緑を求め、観葉植物を買ったり、レモンや ミカンに入っていた種を発芽させようと頑張っている

Slide 3

Slide 3 text

Privacy Manifestsって?

Slide 4

Slide 4 text

Privacy Manifestsとは ● iOSアプリの新しいプライバシー機能 ● 2023年のWWDCで発表された ● 収集したデータをどのように使用するかを .xcprivacy ファイルに記載する ● 2024年春までに対応が必要で、未対応のアプリはリジェクト対象となる 4

Slide 5

Slide 5 text

Privacy Manifestsとは ● iOSアプリの新しいプライバシー機能 ● 2023年のWWDCで発表された ● 収集したデータをどのように使用するかを .xcprivacy ファイルに記載する ● 2024年春までに対応が必要で、未対応のアプリはリジェクト対象となる 5 iOS開発者の方は対応に追われてる頃ではないでしょうか?

Slide 6

Slide 6 text

Privacy Manifestsの構成

Slide 7

Slide 7 text

Privacy Manifestsに書く内容は大きく4つ 1. Privacy Accessed API Types 2. Privacy Nutrition Label Types 3. Privacy Tracking Enabled 4. Privacy Tracking Domains 7

Slide 8

Slide 8 text

Privacy Manifestsに書く内容は大きく4つ 1. Privacy Accessed API Types 2. Privacy Nutrition Label Types 3. Privacy Tracking Enabled 4. Privacy Tracking Domains 8 1つずつ見ていく

Slide 9

Slide 9 text

Privacy Accessed API Types 1

Slide 10

Slide 10 text

Privacy Accessed API Types 10 フィンガープリントに誤用される可能性があるAPIを使用する際には、そのAPIの 使用理由を記載する i フィンガープリント: デバイスやユーザーを特定しようとするデバイス信号にアクセスすること 公式ドキュメント: Describing use of required reason API

Slide 11

Slide 11 text

Privacy Accessed API Types 11 フィンガープリントに誤用される可能性があるAPIを使用する際には、そのAPIの 使用理由を記載する i 以下のAPIを使用していた場合、理由を記載する必要がある(選択式) ● File Timestamp ● System Boot Time ● Disk Space ● Active Keyboards ● User Defaults 公式ドキュメント: Describing use of required reason API

Slide 12

Slide 12 text

Privacy Accessed API Types 公式ドキュメント: Describing use of required reason API 12 フィンガープリントに誤用される可能性があるAPIを使用する際には、そのAPIの 使用理由を記載する i 記入例

Slide 13

Slide 13 text

Privacy Nutrition Label Types 2

Slide 14

Slide 14 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 14 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i そもそも「収集」とは... デバイスからデータを送信し、送信されたリクエストにリアルタイムで対応するために必要 な期間よりも長い期間、デベロッパまたはサードパーティパートナーがそのデータにアクセ スできるようにすることを指します。 App Storeでのアプリのプライバシーに関する詳細情報の表示

Slide 15

Slide 15 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 15 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i 「収集」かどうかの例を挙げると... 🗑 収集していない ● iPhone内で処理して破棄 ● サーバーへデータを送信し、そのデータを利用してレスポンスを返したら破棄 📚 収集している ● サーバーへデータを送信し、DBに保存して永続化

Slide 16

Slide 16 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 16 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i 収集しているデータに対して以下のことの記載する ・Linked to User ・Used for Tracking ・Collection Purposes ・Analytics ・App Functionality ・Developer's Advertising or Marketing ・Product Personalization ・Third -Party Advertising ・Other Purposes

Slide 17

Slide 17 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 17 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i 各種データタイプ(例) ● Name ● Email address ● Phone number ● Health ● Fitness ● Payment info ● Precise location ● Coarse location ● Sensitive info ● Contacts ● Emails or text messages ● Photos or videos ● Audio data ● Customer support ● Browsing history ● User ID ● Device ID ● など……

Slide 18

Slide 18 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 18 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i 各種データタイプの内容 以下のドキュメントに日本語でわかりやすく書かれているのでオススメ App Storeでのアプリのプライバシーに関する詳細情報の表示-データの使用

Slide 19

Slide 19 text

Privacy Nutrition Label Types 公式ドキュメント: Describing data use in privacy manifests 19 収集しているデータタイプとそのデータがどのように使用されているか・ユーザー とリンク・トラッキングしているかなどを記載する i 記入例

Slide 20

Slide 20 text

Privacy Tracking Enabled 3

Slide 21

Slide 21 text

Privacy Tracking Enabled 公式ドキュメント: Privacy manifest files 21 アプリまたはサードパーティSDKがApp Tracking Transparency フレームワーク を使用しているかどうか i App Tracking Transparency(ATT): ユーザーをトラッキングしたり、ユーザーのデバイスの広告識別子にアクセスしたりする際 に許可を得るために使うフレームワーク。

Slide 22

Slide 22 text

Privacy Tracking Enabled 公式ドキュメント: Privacy manifest files 22 アプリまたはサードパーティSDKがApp Tracking Transparency フレームワーク を使用しているかどうか i App Tracking Transparency(ATT): ユーザーをトラッキングしたり、ユーザーのデバイスの広告識別子にアクセスしたりする際 に許可を得るために使うフレームワーク。 ATTフレームワークを使ってるかどうかをBool(Yes / No)で記載する

Slide 23

Slide 23 text

Privacy Tracking Enabled 公式ドキュメント: Privacy manifest files 23 アプリまたはサードパーティSDKがApp Tracking Transparency フレームワーク を使用しているかどうか i 記入例

Slide 24

Slide 24 text

Privacy Tracking Domains 4

Slide 25

Slide 25 text

Privacy Tracking Domains 公式ドキュメント: Privacy manifest files 25 トラッキングに使用するドメインの一覧 記載すべきドメインの調べ方 Instruments の Point of Interestsを使って調べることができる i 引用: Get started with privacy manifests

Slide 26

Slide 26 text

Privacy Tracking Domains 公式ドキュメント: Privacy manifest files 26 トラッキングに使用するドメインの一覧 i 記入例

Slide 27

Slide 27 text

大変なポイント

Slide 28

Slide 28 text

大変なポイント① 28 対応が完了していないサードパーティーライブラリがある サードパーティーライブラリもPrivacy Manifestsへの対応をする必要があるが、この時 期になってもライブラリ開発者側の方でなかなか対応が行われない... 内部の仕組みがわからないライブラリの場合、こちらで対応する手段がない... (できても問い合わせるぐらい?) ※1 ライブラリがデータを収集しない・ required reason APIを使用しない場合、そのライブラリは Privacy Manifestsに対応する必要はない by DTS Engineer(Apple Developer Forum) ※1

Slide 29

Slide 29 text

大変なポイント② 29 社内でデータの利用用途を調査するのが大変 組織で開発して提供しているアプリの場合、アプリから取得したデータをどこの部署・ チームがどう利用しているかを調べるのが大変 開発者外の部署でマーケティング活動に利用していたり、新機能のために分析に利用し ていたり... データの保存先・特性などから関連のありそうな部署の方に質問・ヒアリングを行い、調 査をした

Slide 30

Slide 30 text

大変なポイント③ 30 Privacy Manifestsの情報が少ない Privacy Manifestsは発表されて1年も経っておらず、情報に関してもWWDCの発表や いくつかの公式ドキュメントが中心で、他社事例のような記事が増えてきたのも最近の 話なので、知りたいことがあってもなかなか検索でたどり着けないことも... Privacy Manifestsに限らずApple公式のプライバシー関連の情報を読むことでAppleの プライバシーや実際の事例に関する考え・認識を知ったり、Developer Forumsで自分 の疑問と同じような質問がないかを調べた

Slide 31

Slide 31 text

大変だと思いますが、 今後もAppleの方針に従っていきましょう!

Slide 32

Slide 32 text

働くをもっと楽しく、創造的に