このページでは、Firebase の主なセキュリティとプライバシー情報について概説します。Firebase を使って新しいプロジェクトを開始しようとしている場合も、既存のプロジェクトで Firebase がどう機能するかご興味をお持ちの場合も、Firebase のユーザー保護の取り組みについては以下をお読みください。
最終更新日: 20224年 8 月 21 日
データ保護
Firebase が GDPR と CCPA に対応
2018 年 5 月 25 日付けで、1995 年の EU データ保護指令に代わる規則として EU 一般データ保護規則(GDPR)の運用が開始されました。2020 年 1 月 1 日付けで、カリフォルニア州消費者プライバシー法(CCPA)が施行されました。2023 年 1 月 1 日、CCPA を修正および拡張するデータ プライバシー法であるカリフォルニア州プライバシー権法(CPRA)が施行されました。Google は、お客様が大規模なソフトウェア企業であるか独立したデベロッパーであるかにかかわらず、これらのプライバシー規制を遵守しビジネスで成功できるように支援します。
GDPR ではデータ管理者とデータ処理者に対して責務を課しており、CCPA/CPRA では事業者とそのサービス提供者に対して責務を課しています。通常、Firebase のお客様は、Firebase の使用に伴って Google に提供するエンドユーザーの個人データの「データ管理者」(GDPR)または「事業者」(CCPA/CPRA)の役割を担い、Google は「データ処理者」(GDPR)または「サービス提供者」(CCPA/CPRA)となります。
これは、データはお客様の管理下にあることを意味します。お客様は、個人データまたは個人情報に関する個人の権利を守るなどの責務を負います。
Firebase のデータ処理とセキュリティ規約
お客様が Firebase を使用している場合、通常は Google が GDPR におけるデータ処理者としてお客様に代わって個人データを処理します。同様に、お客様が Firebase を使用する場合、通常は Google が CCPA/CPRA におけるサービス提供者としてお客様に代わって個人情報を処理します。Firebase の規約には、それぞれの責任を詳述するデータ処理およびセキュリティ規約が含まれます。
Google Cloud Platform(GCP)利用規約が適用される一部の Firebase サービスはすでに、関連するデータ処理規約である Cloud のデータ処理に関する追加条項の適用対象となっています。 現在、GCP の利用規約で管理されている Firebase サービスの完全なリストは、Firebase サービスの利用規約でご確認いただけます。
Google アナリティクスは Firebase と併用できる別のサービスで、別の利用規約が適用されます。
主要なセキュリティ規格やプライバシー規格で認定されている Firebase
ISO と SOC への準拠
Firebase の全サービス(App Indexing と Vertex AI in Firebase を除く)は、ISO 27001、SOC 1、SOC 2、SOC 3 の評価プロセスを正常に完了しており、さらに一部のサービスは ISO 27017 と ISO 27018 の認証プロセスも完了しています。GCP の利用規約で管理されている Firebase サービスのコンプライアンス レポートと証明書は、Compliance Reports Manager からリクエストできます。
サービス名 | ISO 27001 | ISO 27017 | ISO 27018 | SOC 1 | SOC 2 | SOC 3 |
---|---|---|---|---|---|---|
Firebase ML | ||||||
Firebase Test Lab | ||||||
Cloud Firestore | ||||||
Cloud Functions for Firebase | ||||||
Cloud Storage for Firebase | ||||||
Firebase Authentication | ||||||
Firebase Crashlytics | ||||||
Firebase App Check | ||||||
Firebase App Distribution | ||||||
Firebase In-App Messaging | ||||||
Firebase Cloud Messaging | ||||||
Firebase Performance Monitoring | ||||||
Firebase Hosting | ||||||
Firebase Dynamic Links | ||||||
Firebase Remote Config | ||||||
Firebase Realtime Database | ||||||
Firebase プラットフォーム | ||||||
Firebase A/B Testing | ||||||
Vertex AI in Firebase |
データの越境移転
Google のデータ プライバシー フレームワーク(DPF)認定の記述にもあるとおり、Google は、EEA 加盟国、スイス、英国それぞれにおける個人情報の収集、使用、保持に関して、米国商務省が規定する EU-U.S. DPF、Swiss-U.S. DPF および EU-U.S. DPF の UK 拡張を遵守しています。Google LLC および Google LLC の米国内における全額出資子会社(明示的に除外されている場合を除く)は、DPF 原則の遵守について認定を取得しています。プライバシー ポリシーの「ユーザー情報の共有」に記載されているように、Google は、第三者への転送に関する原則に基づいて、処理を外部委託する第三者と共有する個人情報すべてにつき、引き続き責任を負います。DPF の詳細と Google が取得した認定については、DPF ウェブサイトをご覧ください。
DPF 認定に関連する Google のプライバシー保護の取り組みについてご不明な点がある場合は、Google にお問い合わせください。Google は、米国連邦取引委員会の調査権および執行権の対象となります。また、お住まいの地域のデータ保護当局に申し立てを委任することもできます。その場合 Google は、当該機関と協力して解決にあたります。DPF 原則の付録 I で規定されているとおり、特定の状況において、DPF では、他の手段では解決されない申し立てを解決するために、拘束力のある仲裁を行う権利を認めています。
データ処理情報
Firebase によって処理されるエンドユーザーのデータの例
一部の Firebase サービスは、エンドユーザーのデータを処理することでサービスを提供します。以下の表は、個人を識別できる可能性のあるエンドユーザーのデータを Firebase のさまざまなサービスがどのように使用し、処理するかを例示しています。Firebase の多くのサービスでは、特定のデータの削除や、データの処理方法の制御を行うことができます。
Firebase サービス | エンドユーザー データ | サービスでの個人データの用途 |
---|---|---|
Cloud Functions for Firebase |
|
用途: Cloud Functions は、IP アドレスを使用してエンドユーザーを識別し、そのアクションに応じてイベント処理関数と HTTP 関数を実行します。 保存期間: Cloud Functions は、サービスを提供するために IP アドレスを一時的に保存します。 |
Firebase Authentication |
|
用途: Firebase Authentication は、エンドユーザーの認証とエンドユーザーのアカウント管理に個人データを使用します。また、セキュリティを強化し、サインアップや認証時の不正行為を防ぐために、ユーザー エージェント文字列と IP アドレスを使用します。 保存期間: Firebase Authentication は数週間 IP アドレスを保存します。Firebase のユーザーが関連ユーザーの削除を開始するまで他の認証情報を保持します。このデータは、削除を開始してから 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase App Check |
|
用途: Firebase App Check は、対応する証明書プロバイダが要求する証明書をエンドユーザーのデバイスから受け取り、それを使用してデバイスまたはアプリ(またはその両方)の整合性を確立します。証明書は、対応する証明書プロバイダに送信され、デベロッパーの構成に基づいて検証されます。成功した証明書から取得された App Check トークンが、サポートされている Firebase サービスに対する毎回のリクエスト時に送信され、App Check で保護されているリソースにアクセスするために使用されます。 保持: App Check において証明書は保持されません。ただし、証明書が証明書プロバイダに送信される場合は、その証明書プロバイダの利用規約が適用されます。成功した証明書から返された App Check トークンは、TTL 期間を通して有効です(この期間が 7 日を超えることはありません)。リプレイ保護機能を使用するデベロッパーのために、App Check は、これらの機能で使用される App Check トークンを最長 30 日間保存します。リプレイ保護機能で使用されない他の App Check トークンは Firebase サービスで保持されません。 |
Firebase App Distribution |
|
用途: Firebase App Distribution は、このデータを使用してアプリのビルドのテスターへの配布、テスターのアクティビティのモニタリング、アプリ内フィードバックなどのテスター機能の有効化、テスターのデバイスへのデータの関連付けを行います。 保存期間: Firebase のユーザーがユーザー情報の削除をリクエストするまで、Firebase App Distribution はそのユーザー情報を保持します。このデータは、削除後 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase Cloud Messaging |
|
用途: Firebase Cloud Messaging は Firebase インストール ID を使用して、メッセージの配信先デバイスを判別します。 保存期間: Firebase のユーザーが API 呼び出しでインスタンス ID を削除するまで、Firebase は Firebase インストール ID を保持します。このデータは、呼び出しから 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase Crashlytics |
|
用途: Firebase Crashlytics は、クラッシュ スタック トレースを使用してクラッシュをプロジェクトに関連付けます。これにより、プロジェクト メンバーにアラートをメールで送信します。また、Firebase ユーザーがクラッシュをデバッグできるように Firebase コンソールに表示します。Crashlytics のインストール UUID を使用して、クラッシュの影響を受けるユーザーの数を測定し、ミニダンプ データを使用して NDK クラッシュを処理します。ミニダンプ データは、クラッシュ セッションの処理中に保管され、その後破棄されます。Firebase インストール ID は、クラッシュ レポートとクラッシュ管理サービスを強化するための将来の機能に使用されます。収集されるユーザー情報の種類について詳しくは、保存されるデバイス情報の例をご覧ください。 保存期間: Firebase Crashlytics は、稼働中およびバックアップ システムからの削除プロセスの開始前に、クラッシュのスタック トレース、抽出されたミニダンプ データ、関連する識別子(Crashlytics のインストール UUID と Firebase インストール ID を含む)を 90 日間保持します。 |
Firebase Dynamic Links |
|
用途: Dynamic Links は、iOS のデバイス仕様と IP アドレスを使用して、新しくインストールされたアプリを特定のページまたはコンテキストに移動します。 保存期間: Dynamic Links は、サービスを提供するため、デバイス仕様と IP アドレスを一時的に保存します。 |
Firebase Hosting |
|
用途: Hosting は、受信リクエストの IP アドレスを使用して不正利用を検出し、利用データの詳細な分析結果をユーザーに提供します。 保存期間: Hosting は数か月間 IP データを保存します。 |
Firebase Performance Monitoring |
|
用途: Performance Monitoring は、Firebase インストール ID を使用して、ネットワーク リソースにアクセスする一意の Firebase インストールの数を計算します。その際にアクセス パターンの匿名性は十分に確保されます。また、Firebase Remote Config と連携し、Firebase インストール ID に基づいてパフォーマンス イベントの報告率を管理します。また、IP アドレスを使用して、パフォーマンス イベントとその発生国をマッピングします。詳しくは、データの収集をご覧ください。 保存期間: Performance Monitoring は IP 関連のイベントを 30 日間保存します。また、ライブシステムとバックアップ システムから削除するプロセスの開始前に、インストールに関連付けられた匿名化されたパフォーマンス データを 90 日間保持します。 |
Firebase In-App Messaging |
|
用途: Firebase In-App Messaging は Firebase インストール ID を使用して、メッセージの配信先デバイスを判別します。 保存期間: Firebase のユーザーが API 呼び出しでインスタンス ID を削除するまで、Firebase は Firebase インストール ID を保持します。このデータは、呼び出しから 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase Realtime Database |
|
用途: Realtime Database は、IP アドレスとユーザー エージェントを使用して、プロファイラ ツールを有効にします。こうしたツールを使用することで、Firebase のユーザーは使用傾向やプラットフォーム別の詳細情報を確認できます。 保存期間: Realtime Database は IP アドレスとユーザー エージェント情報を数日間保存します。これより長く保存するように設定することもできます。 |
Firebase Remote Config |
|
用途: Remote Config は、Firebase インストール ID を使用して、エンドユーザーのデバイスに返す構成値を選択します。 保存期間: Firebase のユーザーが API 呼び出しで Firebase インストール ID を削除するまで、Firebase はこの ID を保持します。このデータは、呼び出しから 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase ML |
|
用途: クラウドベースの API は、アップロードされた画像を一時的に保存し、分析結果を返します。通常、保存された画像は数時間以内に削除されます。詳細については、Cloud Vision のデータ使用に関するよくある質問をご覧ください。 Firebase ML では、インストール認証トークンを使用して、アプリ インスタンスを操作する際のデバイスの認証を行います(デベロッパー モデルをアプリ インスタンスに配布する場合など)。 保存期間: インストールの認証トークンはその有効期限まで有効です。トークンのデフォルト存続期間は 1 週間です。 |
Vertex AI in Firebase |
|
メリット: Vertex AI in Firebase は Vertex AI の Generative AI API を使用してコンテンツを予測します。 保持: 予測の際に、お客様の出力を生成したり、基盤モデルをトレーニングしたりするために、顧客データがログに記録されることはありません。デフォルトでは、お客様からの以降のプロンプトへのレスポンスを迅速化するために、Gemini モデルに対するお客様の入力と出力がキャッシュに保存されます。 詳細については、生成 AI とデータ ガバナンス | Vertex AI の生成 AI | Google Cloud をご覧ください。 |
Crashlytics によって収集される情報の例
- RFC-4122 UUID(これによりクラッシュの重複除去が可能になります)
- Crashlytics のインストール UUID
- Firebase インストール ID(FID)
- Firebase セッション ID。セッションをイベントにタグ付けするために生成されるランダムな UUID。
- クラッシュ発生時刻を示すタイムスタンプ
- アプリのバンドル ID と完全なバージョン番号
- デバイスのオペレーティング システムの名前とバージョン番号
- デバイスの制限解除 / root 権限取得が発生したかどうかを示すブール値
- デバイスのモデル名、CPU アーキテクチャ、RAM 容量、ディスク容量
- 実行中のすべてのスレッドのすべてのフレームの uint64 命令ポインタ
- 各命令ポインタを含む書式なしテキストのメソッド名または関数名(ランタイムで使用可能な場合)。
- 例外がスローされた場合は、例外の書式なしテキストのクラス名とメッセージ値
- 致命的なシグナルが発生した場合は、その名前と整数のコード
- アプリケーションに読み込まれる各バイナリ イメージの名前、UUID、バイトサイズ、RAM に読み込まれた uint64 ベースアドレス
- クラッシュ時にアプリがバックグラウンドで動作していたかどうかを示すブール値
- クラッシュ時の画面の向きを示す整数値
- デバイスの近接センサーがトリガーされたかどうかを示すブール値
version-control-info.textproto
の内容(バージョン管理システム(VCS)統合を使用するように構成された Android アプリのみ)
Performance Monitoring によって収集される情報の例
- Firebase インストール ID(FID)
- Firebase セッション ID。セッションをイベントにタグ付けするために生成されるランダムな UUID。
- 機種、OS、画面の向きなどの全般的なデバイス情報
- RAM とディスクのサイズ
- CPU 使用率
- 携帯通信会社(モバイルの国コードとネットワーク コードに基づく)
- 無線通信 / ネットワークの情報(例: Wi-Fi、LTE、3G)
- 国(IP アドレスに基づく)
- ロケール / 言語
- アプリのバージョン
- アプリの状態(フォアグラウンドまたはバックグラウンド)
- アプリのパッケージ名
- Firebase インストール ID
- 自動トレースの継続時間
- ネットワークの URL(URL パラメータやペイロードのコンテンツを含まない)と以下の対応する情報:
- レスポンス コード(例: 403、200)
- ペイロードのサイズ(バイト単位)
- 回答までの時間
Performance Monitoring によって収集される自動トレースのリストをご覧ください。
エンドユーザーのデータ処理のオプトインを有効にするためのガイド
上述の表のサービスが機能するには、複数のエンドユーザーのデータが必要です。そのため、これらのサービスを使用している間は、データ収集を完全に無効にすることはできません。
ユーザーがサービスやそれに付属するデータ収集にオプトインする機会を提供したいお客様は、ほとんどの場合、サービスを使用する前にダイアログを追加するか、トグルを設定するだけで済みます。
ただし、一部のサービスはアプリに含めると自動的に起動します。このようなサービスを使用する前にユーザーにオプトインする機会を与えるには、各サービスの自動初期化を無効にし、代わりに実行時に手動で初期化するという方法があります。その方法については、以下のガイドをご覧ください。
- Cloud Messaging: 自動初期化を禁止する(Android)または自動初期化を禁止する(iOS+)
- Crashlytics: オプトイン レポートを有効にする(iOS)またはオプトイン レポートを有効にする(Android)
- Performance Monitoring: オプトイン モニタリングを有効にする
Firebase を Google アナリティクスと統合する場合は、アナリティクスのデータ収集を構成する方法をご覧ください。
データを保管する場所と処理する場所
サービスまたは機能でデータの保存場所を選択できるようになっていない場合、Firebase は、Google またはその代理人が施設を運営する任意の場所でデータを処理し、保管する場合があります。可能性のある施設の場所は、サービスによって異なります。
米国のみのサービス
Firebase Authentication サービスは米国のデータセンターからのみ実行されます。そのため、Firebase Authentication は米国でのみデータを処理します。
グローバル サービス
Firebase サービスの大部分は、Google のグローバル インフラストラクチャ上で実行されます。そのため、データは Google Cloud Platform のロケーションや Google のデータセンターのロケーションで処理されることがあります。サービスによっては、特定のデータ ロケーションを選択することで、処理をそのロケーションに限定できます。
- Cloud Storage for Firebase
- Cloud Firestore
- Cloud Functions for Firebase
- Firebase Hosting
- Firebase Crashlytics
- Firebase Performance Monitoring
- Firebase Dynamic Links
- Firebase Remote Config
- Firebase Cloud Messaging
- Firebase ML
- Firebase Test Lab
- Firebase App Check
セキュリティ情報
データ暗号化
Firebase サービスは、HTTPS を使用して転送中のデータを暗号化し、顧客データを論理的に分離します。
さらに、一部の Firebase サービスは、保存データも暗号化します。
- Cloud Firestore
- Cloud Functions for Firebase
- Cloud Storage for Firebase
- Firebase Crashlytics
- Firebase Authentication
- Firebase Cloud Messaging
- Firebase Realtime Database
- Firebase Test Lab
- Firebase App Check
- Firebase Performance Monitoring
セキュリティの実践
Firebase は、個人データを安全に保つために、幅広いセキュリティ対策を採用してアクセスを最小限に抑えています。
- Firebase は、個人データへのアクセスをビジネス上必要な特定の従業員のみに制限します。
- Firebase は、個人データを含むシステムへの従業員によるアクセスを記録します。
- Firebase は、Google ログインと 2 要素認証プロセスでログインする従業員による個人データへのアクセスのみを許可します。
Firebase サービスデータ
Firebase サービスデータは、Firebase サービス* のプロビジョニングと管理の際に Google が収集して生成する個人情報です。これには、Firebase サービスを対象とした顧客契約で定義されている顧客データ** と Google Cloud サービスデータは含まれません。Firebase サービスデータの例としては、サービスの使用状況に関する情報、アプリケーション ID やパッケージ名 / バンドル ID などのリソース ID、IP アドレスなどの使用状況に関する技術 / 運用の詳細、フィードバックやサポートに関連する会話からのデベロッパーとの直接的なやりとりなどがあります。
*対象サービスには、Firebase A/B Testing、Firebase App Distribution、Firebase Cloud Messaging、Firebase Crashlytics、Firebase Dynamic Links、Firebase Hosting、Firebase In-App Messaging、Firebase ML、Vertex AI in Firebase、Firebase Performance Monitoring、Firebase Realtime Database、Firebase Remote Config、Firebase User Segmentation Storage などがあります。
**Google でのお客様データの取り扱いの詳細については、Firebase のデータ処理およびセキュリティ規約をご覧ください。
Firebase での Firebase サービスデータの用途の例
Google は、Google のプライバシー ポリシーと適用される規約に沿って Firebase サービスデータを使用します。Firebase サービスデータは次のような目的で使用されます。
- リクエストされた Firebase サービスを提供する
- Firebase サービスの使用を最適化するための推奨を行う
- Firebase サービスを維持、改善する
- 要望のあるその他のサービスを提供し、改善する
- Firebase とその他の Google サービスの使用状況を把握する
- より適切なサポートを提供し、コミュニケーションを促進する
- Google のユーザー、一般ユーザー、Google を保護する
- 法的義務を遵守する
Firebase 以外の Google サービスによる Firebase サービスデータの使用
Google に Firebase サービスデータの使用を許可して、Firebase 以外の Google サービスに関する詳細分析、分析情報、推奨事項を提供し、Firebase 以外の Google サービスを改善できるようにします。これは、Firebase のデータ プライバシー設定ページで構成できます。
このコントロールを無効にしても、プライバシー ポリシーと適用される規約に沿って、上記の目的をはじめとするその他の目的で Firebase サービスデータが使用されます。このような目的には、Firebase サービスに関する推奨事項の提案や改善、要望があるその他のサービス(Firebase プロジェクトにリンクする Google プロダクトなど)の提供や改善などがあります。
他にもご不明な点がある場合は、お問い合わせください。
ここでは取り上げていないプライバシー関連の質問がございましたら、Firebase サポートにお問い合わせください。お客様が Firebase デベロッパーである場合は、Firebase アプリ ID をお知らせください。Firebase アプリ ID は、 [プロジェクトの設定] のマイアプリカードで確認できます。