$30 off During Our Annual Pro Sale. View Details »

僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021

FromAtom
September 18, 2021

僕たちが 『Appのプライバシーに関する質問への回答』 そして『ATT』に対応するまでの物語 / iOSDC Japan 2021

iOSDC Japan 2021 Day1 09/18 15:50〜 Track D

プロポーザル:https://fortee.jp/iosdc-japan-2021/proposal/cb27f5b5-dd66-47ee-a224-afcc97d979b6

FromAtom

September 18, 2021
Tweet

More Decks by FromAtom

Other Decks in Programming

Transcript

  1. 僕たちが


    『Appのプライバシーに関する質問への回答』


    そして『ATT』に対応するまでの物語
    iOSDC Japan 2021
    2021/09/18 15:50〜 Track D
    pixiv.inc


    @FromAtom

    View Slide

  2. • pixiv Sketch / pixiv Sketch LIVE


    • アプリ分野テックリードしています


    • 好きなSwiftは guard
    @FromAtom

    View Slide

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

    View Slide

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

    View Slide

  5. App Storeでの


    Appのプライバシーに関する


    詳細情報の表示

    View Slide

  6. 長いので今日は


    「Appプライバシー表示」


    と呼びます。

    View Slide

  7. Appプライバシー表示
    • アプリが収集しているデータの種類


    • そのデータの利用目的


    • そのデータは個人に紐づくか


    • そのデータをトラッキングに利用するか
    画像引用:https://developer.apple.com/jp/app-store/app-privacy-details/

    View Slide

  8. データの種類|32種類
    • おおよその位置情報


    • 機密情報


    • 連絡先


    • Eメールまたはテキストメッセージ


    • 写真またはビデオ


    • オーディオデータ


    • ゲームプレイコンテンツ


    • カスタマーサポート


    • その他のユーザーコンテンツ


    • 閲覧履歴


    • 検索履歴
    • ユーザーID


    • デバイスID


    • 購入履歴


    • App内の操作


    • 広告データ


    • その他の使用状況データ


    • クラッシュデータ


    • パフォーマンスデータ


    • その他の診断データ


    • その他の種類のデータ
    • 名前


    • メールアドレス


    • 電話番号


    • 物理的な住所


    • ユーザーのその他の連絡先情報


    • 健康


    • フィットネス


    • 支払情報


    • クレジット情報


    • その他の財務情報


    • 詳細な位置情報

    View Slide

  9. データの使用目的
    • サードパーティ広告


    • デベロッパの広告やマーケティング


    • アナリティクス


    • 製品のパーソナライズ


    • Appの機能


    • その他の目的

    View Slide

  10. ユーザーに紐付けられるデータ
    • 各種データがユーザーの識別情報に紐付けられているか


    • 識別情報の非識別化や匿名化を実施している場合は除く


    • サービスのIDに紐づく事が多いので、当てはまることが多い

    View Slide

  11. トラッキング
    • Appで収集したデータを使用してトラッキングしてるか


    • 対象は自分もしくはサードパーティ


    ‣ 自分がしてなくてもサードパーティがトラッキングしてたら該当


    ‣ 広告SDK・広告効果測定SDKなどが該当しやすい

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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


    • 機密情報


    • 連絡先


    • Eメールまたはテキストメッセージ


    • 写真またはビデオ


    • オーディオデータ


    • ゲームプレイコンテンツ


    • カスタマーサポート


    • その他のユーザーコンテンツ


    • 閲覧履歴


    • 検索履歴
    • ユーザーID


    • デバイスID


    • 購入履歴


    • App内の操作


    • 広告データ


    • その他の使用状況データ


    • クラッシュデータ


    • パフォーマンスデータ


    • その他の診断データ


    • その他の種類のデータ
    • 名前


    • メールアドレス


    • 電話番号


    • 物理的な住所


    • ユーザーのその他の連絡先情報


    • 健康


    • フィットネス


    • 支払情報


    • クレジット情報


    • その他の財務情報


    • 詳細な位置情報

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  28. 困ったらCTOに聞こう
    💡

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  32. 銀の弾丸はないのだ
    🔫

    View Slide

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

    View Slide

  34. 収集されるデータを調べる
    🔍
    • アプリサイドで送信しているデータを洗い出す


    ‣ アプリエンジニアに調査依頼


    ‣ 利用SDKや通信を洗い出す

    • サーバサイドで収集しているデータを洗い出す


    ‣ CTOとデータ基盤の担当者に調査依頼


    ‣ BigQueryやLookerに集約しているデータを洗い出す

    View Slide

  35. データの利用用途を調べる
    🔍
    • CTO、データ基盤の担当者と調査


    • BigQuery、Lookerの利用チームや権限範囲を調査


    ‣ 利用しているチームにヒアリング


    • 弊社サービスのプライバシーポリシーも利用

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  42. AppTrackingTransparency

    View Slide

  43. AppTrackingTransparency (ATT)
    • 下記をする時にユーザーの許可が必要


    ‣ 広告識別子を取得する


    ‣ ユーザーをトラッキングする
    引用:https://developer.apple.com/jp/app-store/user-privacy-and-data-use/

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  49. トラッキング目的でデータ収集してるのに、

    許可モーダル出してないからリジェクトです。

    View Slide

  50. このアプリ、広告識別子使って無いのに、どういう事?
    トラッキング目的でデータ収集してるのに、

    許可モーダル出してないからリジェクトです。

    View Slide

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

    View Slide

  52. 広告識別子を取得する
    • 許可モーダルでユーザーが許可すると広告識別子が取得可能


    • 広告識別子の利用目的がトラッキングかどうかは別
    1

    View Slide

  53. • Appのプライバシー表記で「トラッキング」にチェックをいれたデータ


    • データの収集自体はATT関係なくしてもよい


    • ユーザーが許可してないデータのトラッキング利用は禁止
    ユーザーをトラッキングする
    2

    View Slide

  54. リジェクトされたアプリの場合
    • 広告SDKや広告効果測定SDKは未使用


    • 自社広告で利用しそうなデータの「トラッキング」をチェック

    View Slide

  55. リジェクトされたアプリの場合
    • 広告SDKや広告効果測定SDKは未使用


    • 自社広告で利用しそうなデータの「トラッキング」をチェック
    このデータ取得時にATTで許可モーダルを出す必要がある

    View Slide

  56. リジェクトされたアプリの場合
    • 広告SDKや広告効果測定SDKは未使用


    • 自社広告で利用しそうなデータの「トラッキング」をチェック
    このデータ取得時にATTで許可モーダルを出す必要がある
    やっちまったぜ

    View Slide

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

    View Slide

  58. これが分かると良い
    • iOSアプリで収集されたか


    • 収集されたデバイスはiOS14.5以降 or 未満


    • 許可モーダルのステータスは許可, 未許可, 拒否のどれか

    View Slide

  59. これが分かると良い
    • iOSアプリで収集されたか


    • 収集されたデバイスはiOS14.5以降 or 未満


    • 許可モーダルのステータスは許可, 未許可, 拒否のどれか
    iOSアプリで収集された全てのデータにATT許諾ステータスを付与

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  66. どうしよう
    😰

    View Slide

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

    View Slide

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

    View Slide

  69. 「トラッキング」とは、

    ターゲット広告や広告効果測定を目的として、

    Appで収集した特定のエンドユーザーまたはデバイスに関するデータ
    (ユーザーID、デバイスID、プロファイルなど)を

    サードパーティのデータと紐付ける行為や、

    Appで収集した特定のエンドユーザーまたはデバイスに関するデータを

    データブローカーに渡す行為を指します。

    View Slide

  70. 自社
    サードパーティ

    View Slide

  71. 自社
    サードパーティ

    View Slide

  72. 自社
    サードパーティ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  78. アプリが利用するサードパーティライブラリを調査
    🔍
    • 広告・広告効果測定に限定せず全てを調査


    • 公式ドキュメントを読む


    ‣ 多くの場合、ATT対応に関するヘルプが用意されている


    • 問い合わせする


    • ウェビナーに参加する

    View Slide

  79. トラッキングに該当する利用法があるか調査
    🔍
    • CTO、データ基盤の人、広告チームに協力依頼


    • 下記のようなデータ利用をしてないか調査


    ‣ サードパーティの広告効果測定データを社内データと紐付ける


    ‣ 社内の広告の効果測定結果を社外のデータに紐付ける


    ‣ 社内データを利用して、サードパーティで広告を出す


    ‣ サードパーティで収集されたデータを利用して、自社で広告を出す

    View Slide

  80. 調査結果
    トラッキングに該当するサードパーティデータとの紐付けはなかった

    自社の広告は自社で収集したデータのみ活用していた

    リジェクト理由になったデータは実はトラッキング利用ではなかった

    View Slide

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

    View Slide

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

    View Slide

  83. 社内への情報共有
    • ドキュメントの作成


    ‣ Appプライバシー表記とATTについて解説


    ‣ 注意すべきデータの利用方法を解説


    • 全社に向けて周知


    • 広告関係のチームには重点的に説明

    View Slide

  84. 今後の課題
    • 様々な状態を考慮したデータ基盤への改修


    ‣ ATT以外にもデータのステータスはドンドン増える


    ‣ データ利用するたびに相談していてはスピードが落ちる

    View Slide

  85. こうして無事にAppプライバシー表記と


    ATT対応が終わりました
    🥰

    View Slide

  86. 次回

    View Slide

  87. New safety section in Google Play

    View Slide

  88. まとめ
    • Appleの公式資料はちゃんと読みましょう


    ‣ 複数回読み直すとわかり始めます


    • 特にATTは難しいので、調査やお問い合わせを駆使しましょう


    • データ基盤を作るときは様々なデータのステータスを考慮すると吉

    View Slide