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 Config と Firebase In-App Messaging のテストグループのメンバーシップを指定するために、Firebase A/B Testing SDK は Google Analytics ユーザー プロパティを設定します。
Google Analytics
Google Analytics のデータ収集情報については、こちらのサポート記事をご覧ください。
FirebaseAppCheck
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
使用形態によって異なる
- DeviceCheck プロバイダがインストールされている場合は、DeviceCheck から
DCDevice
トークンを収集します。 - App Attest プロバイダがインストールされている場合は、App Attest からアテステーション オブジェクトとアサーション オブジェクトを収集します。
FirebaseAppDistribution
App Distribution SDK は、ベータ版テストでの使用のみを前提としています。App Store への送信時には、アプリに App Distribution SDK を含めないでください。
FirebaseAuthentication
常時収集
- ユーザー認証の目的で ID を生成して保存します。
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
使用形態によって異なる
- デベロッパーがユーザーの表示名を提供している場合は、表示名を収集します。
- メールのパスワードやメールのリンク認証を使用している場合、デベロッパーが提供するユーザーのメールアドレスを収集します。または、デベロッパーがフェデレーション ID を使用する場合は、連携プロバイダからのレスポンスに含まるユーザーのメールアドレスを収集します。
- 電話認証を使用している場合、またはユーザーの電話番号が認証方法として追加されている場合、デベロッパーが提供するユーザーの電話番号を収集します。また、SMS による 2 段階認証プロセスフロー中にも収集されます。
- デベロッパーが Firebase Authentication でサードパーティの認証プロバイダを使用する場合、サードパーティの認証プロバイダに関連する連絡先情報を収集します。たとえば、デベロッパーが Facebook 認証を使用する場合、付与されているスコープに応じて、ユーザーの ID を Facebook のプロフィールにリンクできます。詳細については、認証プロバイダのドキュメントをご覧ください。
- アプリが Game Center にリンクされている場合、ユーザーの Game Center ID を保存します。
- アプリが reCAPTCHA Enterprise を使用して Authentication フローを保護している場合は、このトークンを収集します。reCAPTCHA Enterprise に関する Apple のプライバシーの詳細をご覧ください。
FirebaseCrashlytics
常時収集
- アプリケーションがクラッシュしたときにスタック トレースと関連アプリケーションの状態を収集します。
- デバイスと OS の情報を収集して、クラッシュのデバッグに役立てます。
使用形態によって異なる
- デベロッパーがクラッシュ レポートに添付するカスタムキー、ログ、自由テキストのユーザー ID を収集します。カスタム スタック トレースを使用してデベロッパーが定義した非致命的なイベントも収集します。
- Crashlytics を Google Analytics と併用している場合は、「パンくずリスト」ログを収集します。このログで、クラッシュの直前のユーザー アクションとクラッシュ数を特定できます。
- Remote Config テンプレートのデベロッパー定義部分と、Firebase Remote Config SDK もアプリに含まれている場合はテンプレート メタデータを収集します。このデータには、Remote Config テンプレートのバージョン、ロールアウト バリアント ID、パラメータキー、アクティブなロールアウトの影響を受けるパラメータ値が含まれます。
FirebaseDatabase
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
FirebaseDynamicLinks
常時収集
- 遅延ディープリンク(アプリ インストール後のディープリンク)用に、デバイスの画面サイズ、言語、OS バージョン、バンドル ID、IP アドレス、Firebase SDK のバージョンなどのデバイスデータを一時的に収集します。
デフォルトで収集
- アプリの初回起動時に、利用可能であれば、デバイス ペーストボードのダイナミック リンク URL を一時的に収集します。デベロッパーは、アプリの
Info.plist
ファイルでFirebaseDeepLinkPasteboardRetrievalEnabled
プロパティをNO
に設定することで、ペーストボードの使用を無効にできます。
使用形態によって異なる
Dynamic Links と Google Analytics を併用する場合:
- Google Analytics を介してリンク操作イベントを自動的にログに記録します。自動イベント ロギングを無効にするには、アプリから
FirebaseAnalytics
を削除します。
FirebaseFirestore
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
FirebaseFunctions
常時収集
- 関数呼び出し元の関数名と IP アドレスを含む、関数呼び出しのメタデータを収集します。
FirebaseInAppMessaging
常時収集
- In-App Messaging での操作を記録します。これらの操作(インプレッション、クリック、拒否)は、Google Analytics 経由で記録されます。操作は Firebase によっても記録され、デベロッパーがメッセージング キャンペーンの効果を評価するのに利用できます。
FirebaseInstallations
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
FirebaseMessaging
常時収集
- APN トークンを記録し、Firebase Cloud Messaging(FCM)登録トークンとして機能する収集されたアプリのインストール ID に関連付けます。
- トピックの登録と登録解除用に、デバイスモデル、言語、タイムゾーン、OS のバージョン、アプリケーション ID、アプリケーションのバージョンを収集します。
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
使用形態によって異なる
Cloud Messaging と Google Analytics を併用する場合:
- Google Analytics を介して通知の操作を自動的にログに記録します。この動作を無効にするには、アプリから
FirebaseAnalytics
を削除します。
FirebaseMLModelDownloader
常時収集
- ML モデルのダウンロード メタデータ(ダウンロード イベント、削除イベント、エラーなど)を収集します。
FirebasePerformance
常時収集
- IP アドレスを収集し、位置情報に基づいてパフォーマンス データを分類します。
- アプリのパフォーマンス指標(アプリの起動時間やネットワーク リクエストのレイテンシなど)と、デベロッパーが指定したカスタム トレースを収集して、アプリのパフォーマンスを測定します。
- アプリケーションの CPU とメモリの使用状況を収集し、アプリ パフォーマンスのタイムライン ビューを提供します。
- デバイス情報、OS 情報、アプリ情報を収集し、さまざまなデバイス セグメントでパフォーマンス データをフィルタリングします。
FirebaseRemoteConfig
常時収集
- デバイスの国コード、言語コード、タイムゾーン、OS バージョン、Firebase Apple アプリ ID、バンドル ID を収集して、このデータに基づいたパラメータを設定します。使用傾向と製品の方向性を把握するために、OS のバージョンと SDK のバージョンも収集、集約されます。
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
使用形態によって異なる
Remote Config と Google 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
デフォルトで収集
- データの収集が有効になっている場合は、Firebase ユーザー エージェントを収集します。
FirebaseVertexAI
常時収集
- Firebase SDK のバージョンと Swift 言語のバージョンを収集します。
- 呼び出し時にモデル名を収集します。