このページでは、Firebase の主なセキュリティとプライバシー情報について概説します。Firebase を使って新しいプロジェクトを開始しようとしている場合も、既存のプロジェクトで Firebase がどう機能するかご興味をお持ちの場合も、Firebase のユーザー保護の取り組みについては以下をお読みください。
最終変更日: 2023 年 2 月 28 日
データ保護
Firebase が GDPR と CCPA に対応
2018 年 5 月 25 日付けで、1995 年の EU データ保護指令に代わる規則として EU 一般データ保護規則(GDPR)の運用が開始されました。2020 年 1 月 1 日付けで、カリフォルニア州消費者プライバシー法(CCPA)が施行されました。Google は、お客様が大規模なソフトウェア企業であるか独立したデベロッパーであるかにかかわらず、これらのプライバシー規制を遵守しビジネスで成功できるように支援します。
GDPR ではデータ管理者とデータ処理者に対して責務を課しており、CCPA では事業者とそのサービス提供者に対して責務を課しています。通常、Firebase のお客様は、Firebase の使用に伴って Google に提供するエンドユーザーの個人データの「データ管理者」(GDPR)または「事業者」(CCPA)の役割を担い、Google は「データ処理者」(GDPR)または「サービス提供者」(CCPA)となります。
これは、データはお客様の管理下にあることを意味します。お客様は、個人データまたは個人情報に関する個人の権利を守るなどの責務を負います。
Firebase のデータ処理とセキュリティ規約
お客様が Firebase を使用している場合、通常は Google が GDPR におけるデータ処理者としてお客様に代わって個人データを処理します。同様に、お客様が Firebase を使用する場合、通常は Google が CCPA におけるサービス提供者としてお客様に代わって個人情報を処理します。Firebase の規約には、それぞれの責任を詳述するデータ処理およびセキュリティ規約が含まれます。
Google Cloud Platform(GCP)の利用規約で管理されるいくつかの Firebase サービスはすでに、関連するデータ処理規約である GCP データ処理とセキュリティ規約の適用対象となっています。現在、GCP の利用規約で管理されている Firebase サービスの完全なリストは、Firebase サービスの利用規約でご確認いただけます。
Crashlytics と App Distribution には、Firebase Crashlytics と Firebase App Distribution の利用規約が適用され、関連するデータ処理規約の対象となります。
Firebase 向け Google アナリティクスには Firebase 向け Google アナリティクスの利用規約、Google アナリティクスには Google アナリティクス利用規約が適用され、またこの両方に Google 広告データ処理規約が適用されます。詳しくは、データの保護をご確認ください。
主要なセキュリティ規格やプライバシー規格で認定されている Firebase
ISO と SOC への準拠
Firebase の全サービス(App Indexing を除く)は、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 向け Google アナリティクス | ||||||
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 |
データの越境移転
Privacy Shield(プライバシー シールド)フレームワークは、EEA、英国またはスイスの個人データを米国に移転する際にデータ保護要件を遵守するためのメカニズムとして策定されました。EU-U.S. Privacy Shield(EU-US プライバシー シールド)は無効とする欧州連合(EU)のデータ移転に関する判決に基づき、Firebase は、関連するデータ移転について標準契約条項への依拠に移行しました。同判決では、標準契約条項は引き続き GDPR に基づくデータ移転の有効な法的メカニズムであると宣言されています。欧州委員会は、2021 年 6 月 4 日に標準契約条項の新しいバージョンを承認しました。該当するデータ移転に関する Firebase のお客様との契約には、このバージョンが適用されます。
Google では、適用されるデータ保護法を遵守したデータ移転の基盤の確立に取り組んでいます。
データ処理情報
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 日を超えることはありません)。Firebase サービスで App Check トークンが保持されることはありません。 |
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 を含む)を 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 向け Google アナリティクス |
用途: Firebase 向け Google アナリティクスは、これらのデータを使用してアナリティクスと属性情報を提供します。収集される情報はデバイスと環境によって異なる可能性があります。詳しくは、データの収集をご覧ください。 保存期間: Firebase 向け Google アナリティクスは特定の広告 ID に関連するデータ(Apple の広告主 ID、ベンダー ID、Android の広告 ID)を 60 日間保存します。また、集計レポートを無期限で保存します。ユーザー単位のデータ(コンバージョンを含む)の保持期間は最大 14 か月に固定されます。その他のイベントデータの場合は、Firebase 向け Google アナリティクスで保持期間を 2 か月または 14 か月に設定できます。詳細 |
|
Firebase Remote Config |
|
用途: Remote Config は、Firebase インストール ID を使用してエンドユーザーのデバイスに返す構成値を選択します。 保存期間: Firebase のユーザーが API 呼び出しで Firebase インストール ID を削除するまで、Firebase はこの ID を保持します。このデータは、呼び出しから 180 日以内にライブシステムとバックアップ システムから削除されます。 |
Firebase ML |
|
用途: クラウドベースの API は、アップロードされた画像を一時的に保存し、分析結果を返します。通常、保存された画像は数時間以内に削除されます。詳細については、Cloud Vision のデータ使用に関するよくある質問をご覧ください。 インストールの認証トークンは、Firebase ML によりアプリ インスタンスを操作する際(デベロッパー モデルをアプリ インスタンスに配布する場合など)にデバイス認証に使用されます。 保存期間: インストールの認証トークンはその有効期限まで有効です。トークンのデフォルト存続期間は 1 週間です。 |
Crashlytics によって収集される情報の例
- RFC-4122 UUID(これによりクラッシュの重複除去が可能になります)
- Crashlytics のインストール UUID
- Firebase インストール ID(FID)
- Firebase セッション ID。セッションをイベントにタグ付けするために生成されるランダムな UUID。
- クラッシュ発生時刻を示すタイムスタンプ
- アプリのバンドル ID と完全なバージョン番号
- デバイスのオペレーティング システムの名前とバージョン番号
- デバイスの制限解除 / root 権限取得が発生したかどうかを示すブール値
- デバイスのモデル名、CPU アーキテクチャ、RAM 容量、ディスク容量
- 実行中のすべてのスレッドのすべてのフレームの uint64 命令ポインタ
- 各命令ポインタを含む書式なしテキストのメソッド名または関数名(ランタイムで使用可能な場合)。
- 例外がスローされた場合は、例外の書式なしテキストのクラス名とメッセージ値
- 致命的なシグナルが発生した場合は、その名前と整数のコード
- アプリケーションに読み込まれる各バイナリ イメージの名前、UUID、バイトサイズ、RAM に読み込まれた uint64 ベースアドレス
- クラッシュ時にアプリがバックグラウンドで動作していたかどうかを示すブール値
- クラッシュ時の画面の向きを示す整数値
- デバイスの近接センサーがトリガーされたかどうかを示すブール値
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 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
- Google アナリティクス
- 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 Check、Firebase App Distribution、Firebase Cloud Messaging、Firebase Crashlytics、Firebase Dynamic Links、Firebase Hosting、Firebase In-App Messaging、Firebase ML、Firebase Performance Monitoring、Firebase Realtime Database、Firebase Remote Config、Firebase User Segmentation Storage があります。
** Google でのお客様データの取り扱いの詳細については、Firebase のデータ処理とセキュリティ規約、Crashlytics と App Distribution のデータ処理とセキュリティに関する規約をご覧ください。
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 は、 [プロジェクトの設定] のマイアプリカードで確認できます。