Apple の App Store データ開示要件に備える

Apple は、App Store でアプリを公開するデベロッパーに対して、アプリデータの使用に関する特定の情報の開示を求めています。

このドキュメントでは、Apple のガイドラインに従って開示が求められる可能性のある、Firebase Apple プラットフォーム ライブラリの動作について説明します。Firebase をインストールする場合は、選択した依存関係マネージャーによってアプリにインストールされているビルド ターゲットをメモします。依存関係マネージャーによって一覧表示されたターゲットごとに、このドキュメントの対応するセクションを確認して、開示する必要があるデータ収集を決定します。Firebase ビルド ターゲットの中には、他のビルド ターゲットとの間で一時的な依存関係があるものがあるため、インストールされている Firebase ビルド ターゲットの数が、想定した数よりも多くなることがあります。

追加データに関わるオプションのプロダクト機能を使用している場合や、追加データを伴う新しいプロダクト機能のテストに参加している場合は、その機能やテストで追加のデータ開示が必要かどうかを確認してください。

アプリの開示を正しく行うためには、常に各 Firebase SDK の最新バージョンを使用することをおすすめします。

Firebase ユーザー エージェント

Firebase ユーザー エージェントは、ほとんどの Firebase SDK から収集された情報を集めたもので、デバイス、OS、App Bundle ID、デベロッパー プラットフォームが含まれます。ユーザー エージェントはユーザー ID やデバイス ID にリンクされず、Firebase チームが Firebase の機能に関する判断を行うにあたってプラットフォームとバージョンの採用状況を確認するために利用します。

FirebaseCore

  • データを収集しません。

GoogleUtilities

  • データは収集しませんが、他の SDK がデータの収集に使用できるネットワーキング ユーティリティが含まれます。

GoogleDataTransport

他の SDK がデータの収集に使用できるネットワーキング ユーティリティが含まれます。

常時収集

  • プロダクトの品質をモニタリングして維持するため、クライアント ログのイベント キャッシュのサイズや、さまざまな理由でドロップされたクライアント ログのイベント数など、SDK のパフォーマンスに関するメタデータを収集します。

FirebaseABTesting

A/B Testing ではデータの収集は行いません。

Firebase Remote ConfigFirebase In-App Messaging のテストグループのメンバーシップを指定するために、Firebase A/B Testing SDK は Google Analytics ユーザー プロパティを設定します。

Google Analytics

Google Analytics のデータ収集情報については、こちらのサポート記事をご覧ください。

FirebaseAppCheck

デフォルトで収集

使用形態によって異なる

  • DeviceCheck プロバイダがインストールされている場合は、DeviceCheck から DCDevice トークンを収集します。
  • App Attest プロバイダがインストールされている場合は、App Attest からアテステーション オブジェクトとアサーション オブジェクトを収集します。

FirebaseAppDistribution

App Distribution SDK は、ベータ版テストでの使用のみを前提としています。App Store への送信時には、アプリに App Distribution SDK を含めないでください。

FirebaseAuthentication

常時収集

  • ユーザー認証の目的で ID を生成して保存します。

デフォルトで収集

使用形態によって異なる

  • デベロッパーがユーザーの表示名を提供している場合は、表示名を収集します。
  • メールのパスワードやメールのリンク認証を使用している場合、デベロッパーが提供するユーザーのメールアドレスを収集します。または、デベロッパーがフェデレーション ID を使用する場合は、連携プロバイダからのレスポンスに含まるユーザーのメールアドレスを収集します。
  • 電話認証を使用している場合、またはユーザーの電話番号が認証方法として追加されている場合、デベロッパーが提供するユーザーの電話番号を収集します。また、SMS による 2 段階認証プロセスフロー中にも収集されます。
  • デベロッパーが Firebase Authentication でサードパーティの認証プロバイダを使用する場合、サードパーティの認証プロバイダに関連する連絡先情報を収集します。たとえば、デベロッパーが Facebook 認証を使用する場合、付与されているスコープに応じて、ユーザーの ID を Facebook のプロフィールにリンクできます。詳細については、認証プロバイダのドキュメントをご覧ください。
  • アプリが Game Center にリンクされている場合、ユーザーの Game Center ID を保存します。
  • アプリが reCAPTCHA Enterprise を使用して Authentication フローを保護している場合は、このトークンを収集します。reCAPTCHA Enterprise に関する Apple のプライバシーの詳細をご覧ください。

FirebaseCrashlytics

常時収集

  • アプリケーションがクラッシュしたときにスタック トレースと関連アプリケーションの状態を収集します。
  • デバイスと OS の情報を収集して、クラッシュのデバッグに役立てます。

使用形態によって異なる

  • デベロッパーがクラッシュ レポートに添付するカスタムキー、ログ、自由テキストのユーザー ID を収集します。カスタム スタック トレースを使用してデベロッパーが定義した非致命的なイベントも収集します。
  • CrashlyticsGoogle Analytics と併用している場合は、「パンくずリスト」ログを収集します。このログで、クラッシュの直前のユーザー アクションとクラッシュ数を特定できます。
  • Remote Config テンプレートのデベロッパー定義部分と、Firebase Remote Config SDK もアプリに含まれている場合はテンプレート メタデータを収集します。このデータには、Remote Config テンプレートのバージョン、ロールアウト バリアント ID、パラメータキー、アクティブなロールアウトの影響を受けるパラメータ値が含まれます。

FirebaseDatabase

デフォルトで収集

  • 遅延ディープリンク(アプリ インストール後のディープリンク)用に、デバイスの画面サイズ、言語、OS バージョン、バンドル ID、IP アドレス、Firebase SDK のバージョンなどのデバイスデータを一時的に収集します。
  • アプリの初回起動時に、利用可能であれば、デバイス ペーストボードのダイナミック リンク URL を一時的に収集します。デベロッパーは、アプリの Info.plist ファイルで FirebaseDeepLinkPasteboardRetrievalEnabled プロパティを NO に設定することで、ペーストボードの使用を無効にできます。

Dynamic LinksGoogle Analytics を併用する場合:

  • Google Analytics を介してリンク操作イベントを自動的にログに記録します。自動イベント ロギングを無効にするには、アプリから FirebaseAnalytics を削除します。

FirebaseFirestore

デフォルトで収集

FirebaseFunctions

常時収集

  • 関数呼び出し元の関数名と IP アドレスを含む、関数呼び出しのメタデータを収集します。

FirebaseInAppMessaging

常時収集

  • In-App Messaging での操作を記録します。これらの操作(インプレッション、クリック、拒否)は、Google Analytics 経由で記録されます。操作は Firebase によっても記録され、デベロッパーがメッセージング キャンペーンの効果を評価するのに利用できます。

FirebaseInstallations

デフォルトで収集

FirebaseMessaging

常時収集

  • APN トークンを記録し、Firebase Cloud Messaging(FCM)登録トークンとして機能する収集されたアプリのインストール ID に関連付けます。
  • トピックの登録と登録解除用に、デバイスモデル、言語、タイムゾーン、OS のバージョン、アプリケーション ID、アプリケーションのバージョンを収集します。

デフォルトで収集

使用形態によって異なる

Cloud MessagingGoogle Analytics を併用する場合:

  • Google Analytics を介して通知の操作を自動的にログに記録します。この動作を無効にするには、アプリから FirebaseAnalytics を削除します。

FirebaseMLModelDownloader

常時収集

  • ML モデルのダウンロード メタデータ(ダウンロード イベント、削除イベント、エラーなど)を収集します。

FirebasePerformance

常時収集

  • IP アドレスを収集し、位置情報に基づいてパフォーマンス データを分類します。
  • アプリのパフォーマンス指標(アプリの起動時間やネットワーク リクエストのレイテンシなど)と、デベロッパーが指定したカスタム トレースを収集して、アプリのパフォーマンスを測定します。
  • アプリケーションの CPU とメモリの使用状況を収集し、アプリ パフォーマンスのタイムライン ビューを提供します。
  • デバイス情報、OS 情報、アプリ情報を収集し、さまざまなデバイス セグメントでパフォーマンス データをフィルタリングします。

FirebaseRemoteConfig

常時収集

  • デバイスの国コード、言語コード、タイムゾーン、OS バージョン、Firebase Apple アプリ ID、バンドル ID を収集して、このデータに基づいたパラメータを設定します。使用傾向と製品の方向性を把握するために、OS のバージョンと SDK のバージョンも収集、集約されます。

デフォルトで収集

使用形態によって異なる

Remote ConfigGoogle Analytics を併用する場合:

  • ユーザー プロパティの条件に基づくパラメータを対象にするには、Google Analytics 用の Firebase SDK から取得したユーザー プロパティを収集します。
  • 初回起動時間に基づくパラメータを対象にするには、Google Analytics 用の Firebase SDK から取得した first_open イベント タイムスタンプを収集します。

Remote Config のパーソナライズを使用する場合:

  • Firebase Remote Config SDK によって取得されたデータや Google Analytics 用の Firebase SDK によって取得されたイベントを使用して、予測モデルを構築し、モデルのパフォーマンスを測定できます。

FirebaseSessions

常時収集

  • アプリの品質をモニタリングするために、バンドル ID、OS 情報、SDK バージョン、ネットワーク接続タイプなど、アプリのパフォーマンスに関するメタデータを収集します。
  • 使用状況データ(アプリがバックグラウンドで動作していた時間など)を収集して、パフォーマンス指標をユーザー セッションにグループ分けし、セッションごとに使用状況をフィルタリングします。

FirebaseStorage

デフォルトで収集

FirebaseVertexAI

常時収集

  • Firebase SDK のバージョンと Swift 言語のバージョンを収集します。
  • 呼び出し時にモデル名を収集します。