Slide 1

Slide 1 text

僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 iOSDC Japan 2021 2021/09/18 15:50〜 Track D pixiv.inc @FromAtom

Slide 2

Slide 2 text

• pixiv Sketch / pixiv Sketch LIVE • アプリ分野テックリードしています • 好きなSwiftは guard @FromAtom

Slide 3

Slide 3 text

このトークで話さないこと このSDKを使っている場合は、こういう回答が正解 🚫 ATTモーダルの実装方法や、許可されやすいノウハウ 🚫 ATTに対応したデータ基盤の設計 🚫

Slide 4

Slide 4 text

アジェンダ App StoreでのAppのプライバシーに関する詳細情報の表示 編 AppTrackingTransparency 編

Slide 5

Slide 5 text

App Storeでの Appのプライバシーに関する 詳細情報の表示 編

Slide 6

Slide 6 text

長いので今日は 「Appプライバシー表示」 と呼びます。

Slide 7

Slide 7 text

Appプライバシー表示 • アプリが収集しているデータの種類 • そのデータの利用目的 • そのデータは個人に紐づくか • そのデータをトラッキングに利用するか 画像引用:https://developer.apple.com/jp/app-store/app-privacy-details/

Slide 8

Slide 8 text

データの種類|32種類 • おおよその位置情報 • 機密情報 • 連絡先 • Eメールまたはテキストメッセージ • 写真またはビデオ • オーディオデータ • ゲームプレイコンテンツ • カスタマーサポート • その他のユーザーコンテンツ • 閲覧履歴 • 検索履歴 • ユーザーID • デバイスID • 購入履歴 • App内の操作 • 広告データ • その他の使用状況データ • クラッシュデータ • パフォーマンスデータ • その他の診断データ • その他の種類のデータ • 名前 • メールアドレス • 電話番号 • 物理的な住所 • ユーザーのその他の連絡先情報 • 健康 • フィットネス • 支払情報 • クレジット情報 • その他の財務情報 • 詳細な位置情報

Slide 9

Slide 9 text

データの使用目的 • サードパーティ広告 • デベロッパの広告やマーケティング • アナリティクス • 製品のパーソナライズ • Appの機能 • その他の目的

Slide 10

Slide 10 text

ユーザーに紐付けられるデータ • 各種データがユーザーの識別情報に紐付けられているか • 識別情報の非識別化や匿名化を実施している場合は除く • サービスのIDに紐づく事が多いので、当てはまることが多い

Slide 11

Slide 11 text

トラッキング • Appで収集したデータを使用してトラッキングしてるか • 対象は自分もしくはサードパーティ ‣ 自分がしてなくてもサードパーティがトラッキングしてたら該当 ‣ 広告SDK・広告効果測定SDKなどが該当しやすい

Slide 12

Slide 12 text

実際の流れ|メールアドレス データを収集しているか調べる

Slide 13

Slide 13 text

実際の流れ|メールアドレス データを収集しているか調べる 利用目的を調べる

Slide 14

Slide 14 text

実際の流れ|メールアドレス データを収集しているか調べる 利用目的を調べる 個人に紐付くか調べる

Slide 15

Slide 15 text

実際の流れ|メールアドレス データを収集しているか調べる 利用目的を調べる 個人に紐付くか調べる トラッキングに利用するか調べる

Slide 16

Slide 16 text

実際の流れ|メールアドレス データを収集しているか調べる 利用目的を調べる 個人に紐付くか調べる トラッキングに利用するか調べる • おおよその位置情報 • 機密情報 • 連絡先 • Eメールまたはテキストメッセージ • 写真またはビデオ • オーディオデータ • ゲームプレイコンテンツ • カスタマーサポート • その他のユーザーコンテンツ • 閲覧履歴 • 検索履歴 • ユーザーID • デバイスID • 購入履歴 • App内の操作 • 広告データ • その他の使用状況データ • クラッシュデータ • パフォーマンスデータ • その他の診断データ • その他の種類のデータ • 名前 • メールアドレス • 電話番号 • 物理的な住所 • ユーザーのその他の連絡先情報 • 健康 • フィットネス • 支払情報 • クレジット情報 • その他の財務情報 • 詳細な位置情報

Slide 17

Slide 17 text

各アプリチームで調査お願いしますー。

Slide 18

Slide 18 text

各アプリチームで調査お願いしますー。 サーバサイドのログ収集も含まれますか?

Slide 19

Slide 19 text

各アプリチームで調査お願いしますー。 サーバサイドのログ収集も含まれますか? 収集したデータを別チームが使ってる場合はどうなります?

Slide 20

Slide 20 text

各アプリチームで調査お願いしますー。 サーバサイドのログ収集も含まれますか? あ、これ実は大変なやつだ 収集したデータを別チームが使ってる場合はどうなります?

Slide 21

Slide 21 text

Icons made by Pixel perfect from www.flaticon.com

Slide 22

Slide 22 text

Icons made by Pixel perfect from www.flaticon.com

Slide 23

Slide 23 text

Icons made by Pixel perfect from www.flaticon.com

Slide 24

Slide 24 text

Icons made by Pixel perfect from www.flaticon.com BigQuery

Slide 25

Slide 25 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 26

Slide 26 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析 ※個人情報は分離

Slide 27

Slide 27 text

課題 アプリエンジニアだけでは収集されるデータを把握できない 🤨 誰でもデータ分析可能なため、利用用途が簡単に網羅できない 🤨 データの流れを完璧に把握した超人はいない 🤨

Slide 28

Slide 28 text

困ったらCTOに聞こう 💡

Slide 29

Slide 29 text

どうしたらいいもんですかね

Slide 30

Slide 30 text

どうしたらいいもんですかね CTO 地道に調べるしか無いですね

Slide 31

Slide 31 text

どうしたらいいもんですかね CTO 地道に調べるしか無いですね ですよねー

Slide 32

Slide 32 text

銀の弾丸はないのだ 🔫

Slide 33

Slide 33 text

調査手順 収集されるデータを調べる 🔍 データの利用用途を調べる 🔍

Slide 34

Slide 34 text

収集されるデータを調べる 🔍 • アプリサイドで送信しているデータを洗い出す ‣ アプリエンジニアに調査依頼 ‣ 利用SDKや通信を洗い出す 
 • サーバサイドで収集しているデータを洗い出す ‣ CTOとデータ基盤の担当者に調査依頼 ‣ BigQueryやLookerに集約しているデータを洗い出す

Slide 35

Slide 35 text

データの利用用途を調べる 🔍 • CTO、データ基盤の担当者と調査 • BigQuery、Lookerの利用チームや権限範囲を調査 ‣ 利用しているチームにヒアリング • 弊社サービスのプライバシーポリシーも利用

Slide 36

Slide 36 text

CTO このトラッキングというのは?

Slide 37

Slide 37 text

広告や広告効果測定に使ってるかどうかですね。 CTO このトラッキングというのは?

Slide 38

Slide 38 text

広告や広告効果測定に使ってるかどうかですね。 CTO このトラッキングというのは? CTO なるほど。

Slide 39

Slide 39 text

広告や広告効果測定に使ってるかどうかですね。 CTO このトラッキングというのは? CTO 自社の広告で使いそうなデータはチェック入れときましょう。 なるほど。

Slide 40

Slide 40 text

広告や広告効果測定に使ってるかどうかですね。 CTO このトラッキングというのは? CTO 自社の広告で使いそうなデータはチェック入れときましょう。 なるほど。

Slide 41

Slide 41 text

一ヶ月ほどかけて無事に調査完了 ☺

Slide 42

Slide 42 text

AppTrackingTransparency 編

Slide 43

Slide 43 text

AppTrackingTransparency (ATT) • 下記をする時にユーザーの許可が必要 ‣ 広告識別子を取得する ‣ ユーザーをトラッキングする 引用:https://developer.apple.com/jp/app-store/user-privacy-and-data-use/

Slide 44

Slide 44 text

ATTによって広告識別子(IDFA)が取れなくなるよ! 📰

Slide 45

Slide 45 text

ほーん、なるほどな。 ATTによって広告識別子(IDFA)が取れなくなるよ! 📰

Slide 46

Slide 46 text

ほーん、なるほどな。 広告識別子を利用しているチームは、ATT対応お願いします。 ATTによって広告識別子(IDFA)が取れなくなるよ! 📰

Slide 47

Slide 47 text

ATT対応(だとおもってたもの)完了 広告SDK・広告効果測定SDKの更新 😌 ATT Frameworkでのアラート実装 😌 iOS 14.5リリース時には心穏やかにリリース見守り 😌

Slide 48

Slide 48 text

iOS 14.5リリースから一ヶ月後 📆

Slide 49

Slide 49 text

トラッキング目的でデータ収集してるのに、 
 許可モーダル出してないからリジェクトです。

Slide 50

Slide 50 text

このアプリ、広告識別子使って無いのに、どういう事? トラッキング目的でデータ収集してるのに、 
 許可モーダル出してないからリジェクトです。

Slide 51

Slide 51 text

ATT Frameworkで許可が必要な場合 広告識別子を取得する ユーザーをトラッキングする 1 2

Slide 52

Slide 52 text

広告識別子を取得する • 許可モーダルでユーザーが許可すると広告識別子が取得可能 • 広告識別子の利用目的がトラッキングかどうかは別 1

Slide 53

Slide 53 text

• Appのプライバシー表記で「トラッキング」にチェックをいれたデータ • データの収集自体はATT関係なくしてもよい • ユーザーが許可してないデータのトラッキング利用は禁止 ユーザーをトラッキングする 2

Slide 54

Slide 54 text

リジェクトされたアプリの場合 • 広告SDKや広告効果測定SDKは未使用 • 自社広告で利用しそうなデータの「トラッキング」をチェック

Slide 55

Slide 55 text

リジェクトされたアプリの場合 • 広告SDKや広告効果測定SDKは未使用 • 自社広告で利用しそうなデータの「トラッキング」をチェック このデータ取得時にATTで許可モーダルを出す必要がある

Slide 56

Slide 56 text

リジェクトされたアプリの場合 • 広告SDKや広告効果測定SDKは未使用 • 自社広告で利用しそうなデータの「トラッキング」をチェック このデータ取得時にATTで許可モーダルを出す必要がある やっちまったぜ

Slide 57

Slide 57 text

モーダル実装して、ATTで許可されたデータだけ使おう 😊

Slide 58

Slide 58 text

これが分かると良い • iOSアプリで収集されたか • 収集されたデバイスはiOS14.5以降 or 未満 • 許可モーダルのステータスは許可, 未許可, 拒否のどれか

Slide 59

Slide 59 text

これが分かると良い • iOSアプリで収集されたか • 収集されたデバイスはiOS14.5以降 or 未満 • 許可モーダルのステータスは許可, 未許可, 拒否のどれか iOSアプリで収集された全てのデータにATT許諾ステータスを付与

Slide 60

Slide 60 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 61

Slide 61 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 62

Slide 62 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 63

Slide 63 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 64

Slide 64 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析

Slide 65

Slide 65 text

Icons made by Pixel perfect from www.flaticon.com BigQuery 広告 レコメンド 分析 時間がかかりすぎる

Slide 66

Slide 66 text

どうしよう 😰

Slide 67

Slide 67 text

どうしよう 😰 自社の広告で使いそうなデータはチェック入れときましょう。

Slide 68

Slide 68 text

Appleのトラッキング定義を確認 🥸

Slide 69

Slide 69 text

「トラッキング」とは、 
 ターゲット広告や広告効果測定を目的として、 
 Appで収集した特定のエンドユーザーまたはデバイスに関するデータ (ユーザーID、デバイスID、プロファイルなど)を 
 サードパーティのデータと紐付ける行為や、 
 Appで収集した特定のエンドユーザーまたはデバイスに関するデータを 
 データブローカーに渡す行為を指します。

Slide 70

Slide 70 text

自社 サードパーティ

Slide 71

Slide 71 text

自社 サードパーティ

Slide 72

Slide 72 text

自社 サードパーティ

Slide 73

Slide 73 text

自社 サードパーティ これを広告・広告効果測定 で利用するとトラッキング

Slide 74

Slide 74 text

自社 これはトラッキングじゃない

Slide 75

Slide 75 text

サードパーティ これはサードパーティによる

Slide 76

Slide 76 text

あれ?自社広告ってトラッキングじゃないのでは? 🤔

Slide 77

Slide 77 text

調査手順 アプリが利用するサードパーティライブラリを調査 🔍 トラッキングに該当する利用法があるか調査 🔍

Slide 78

Slide 78 text

アプリが利用するサードパーティライブラリを調査 🔍 • 広告・広告効果測定に限定せず全てを調査 • 公式ドキュメントを読む ‣ 多くの場合、ATT対応に関するヘルプが用意されている • 問い合わせする • ウェビナーに参加する

Slide 79

Slide 79 text

トラッキングに該当する利用法があるか調査 🔍 • CTO、データ基盤の人、広告チームに協力依頼 • 下記のようなデータ利用をしてないか調査 ‣ サードパーティの広告効果測定データを社内データと紐付ける ‣ 社内の広告の効果測定結果を社外のデータに紐付ける ‣ 社内データを利用して、サードパーティで広告を出す ‣ サードパーティで収集されたデータを利用して、自社で広告を出す

Slide 80

Slide 80 text

調査結果 トラッキングに該当するサードパーティデータとの紐付けはなかった ✅ 自社の広告は自社で収集したデータのみ活用していた ✅ リジェクト理由になったデータは実はトラッキング利用ではなかった ✅

Slide 81

Slide 81 text

Appプライバシー表記を修正すれば大丈夫そう! 🎉

Slide 82

Slide 82 text

リジェクトされたアプリの対応 Appプライバシー表記を修正 レビュアーにAppプライバシー表記を修正した旨を連絡 審査通過! 🎉

Slide 83

Slide 83 text

社内への情報共有 • ドキュメントの作成 ‣ Appプライバシー表記とATTについて解説 ‣ 注意すべきデータの利用方法を解説 • 全社に向けて周知 • 広告関係のチームには重点的に説明

Slide 84

Slide 84 text

今後の課題 • 様々な状態を考慮したデータ基盤への改修 ‣ ATT以外にもデータのステータスはドンドン増える ‣ データ利用するたびに相談していてはスピードが落ちる

Slide 85

Slide 85 text

こうして無事にAppプライバシー表記と ATT対応が終わりました 🥰

Slide 86

Slide 86 text

次回

Slide 87

Slide 87 text

New safety section in Google Play

Slide 88

Slide 88 text

まとめ • Appleの公式資料はちゃんと読みましょう ‣ 複数回読み直すとわかり始めます • 特にATTは難しいので、調査やお問い合わせを駆使しましょう • データ基盤を作るときは様々なデータのステータスを考慮すると吉