Firebase 中的隱私和安全

本頁面概述了 Firebase 的關鍵安全和隱私資訊。無論您是想使用 Firebase 啟動新項目,還是想了解 Firebase 如何與現有項目配合使用,請繼續閱讀以了解 Firebase 如何協助保護您和您的用戶。

最後修改時間:2023 年 7 月 25 日

資料保護

Firebase 對 GDPR 和 CCPA 的支持

2018 年 5 月 25 日,歐盟一般資料保護規範 (GDPR) 取代了 1995 年歐盟資料保護指令。 2020 年 1 月 1 日,《加州消費者隱私法案》(CCPA) 生效。 2023 年 1 月 1 日,《加州隱私權法案》(CPRA) 生效,這是一項對 CCPA 進行修訂和擴展的資料隱私法。 Google 致力於協助我們的客戶在這些隱私法規下取得成功,無論他們是大型軟體公司還是獨立開發商。

GDPR 對資料控制者和資料處理者規定了義務,CCPA/CPRA 對企業及其服務提供者規定了義務。 Firebase 客戶通常充當「資料控制者」(GDPR) 或「企業」(CCPA/CPRA),負責向 Google 提供與使用 Firebase 相關的最終用戶的任何個人資料或信息,而 Google 通常作為「資料處理者」( GDPR) 或「服務提供者」(CCPA/CPRA)。

這意味著數據處於客戶的控制之下。客戶有責任履行義務,例如履行個人對其個人資料或資訊的權利。

Firebase 資料處理與安全條款

當客戶使用 Firebase 時,Google 通常是 GDPR 下的資料處理者並代表他們處理個人資料。同樣,當客戶使用 Firebase 時,Google 通常會作為 CCPA/CPRA 規定的服務提供者,代表客戶處理個人資訊。 Firebase 條款包括詳細說明這些責任的資料處理和安全條款

Google Cloud Platform (GCP) 服務條款管轄的某些 Firebase 服務已包含在相關資料處理條款(雲端資料處理附錄)中。目前受 GCP 服務條款約束的 Firebase 服務的完整清單可在Firebase 服務的服務條款中找到。

Google Analytics 是一項單獨的服務,可與 Firebase 一起使用,並受單獨的條款約束。

Firebase 通過了主要隱私和安全標準的認證

ISO 與 SOC 合規性

所有 Firebase 服務(App Indexing 除外)均已成功完成ISO 27001以及SOC 1SOC 2SOC 3評估流程,部分服務也完成了ISO 27017ISO 27018認證流程。可以透過合規報告管理器索取受 GCP 服務條款管轄的 Firebase 服務的合規報告和證書

服務名稱ISO 27001 ISO 27017 ISO 27018 SOC 1 SOC 2 SOC 3
Firebase 機器學習
Firebase 測試實驗室
雲端Firestore
Firebase 的雲端功能
Firebase 雲端儲存
Firebase 身份驗證
Firebase Crashlytics
Firebase 應用程式檢查
Firebase 應用程式分發
Firebase 應用程式內訊息傳遞
Firebase 雲端訊息傳遞
Firebase 效能監控
Firebase 託管
Firebase 動態鏈接
Firebase 遠端配置
Firebase 即時資料庫
Firebase 平台
Firebase A/B 測試

國際資料傳輸

隱私權護盾框架提供了一種機制,可以在將歐洲經濟區、英國或瑞士個人資料傳輸到美國及以後的資料時遵守資料保護要求。鑑於歐盟法院關於資料傳輸的裁決,使歐盟-美國隱私護盾無效,Firebase 已轉而依賴標準合約條款進行相關資料傳輸,根據該裁決,該條款可以繼續作為根據 GDPR 傳輸資料的有效法律機制。歐盟委員會於 2021 年 6 月 4 日批准了新版本的標準合約條款,我們正在將其納入與 Firebase 客戶的相關資料傳輸合約中。

我們致力於根據適用的資料保護法為資料傳輸提供合法依據。

資料處理資訊

Firebase 處理的最終用戶資料範例

某些 Firebase 服務會處理最終使用者的資料以提供服務。下圖舉例說明了各種 Firebase 服務如何使用和處理可能具有識別性的最終使用者資料。此外,許多 Firebase 服務都提供要求刪除特定資料或控制資料處理方式的功能。

Firebase 服務最終用戶數據數據如何幫助提供服務
Firebase 的雲端功能
  • IP位址

如何提供協助: Cloud Functions 使用 IP 位址根據最終使用者操作執行事件處理函數和 HTTP 函數。

保留:雲端功能僅暫時保存IP位址,以提供服務。

Firebase 身份驗證
  • 密碼
  • 電子郵件地址
  • 電話號碼
  • 使用者代理
  • IP位址

如何提供協助: Firebase 身份驗證使用這些資料來啟用最終用戶身份驗證,並促進最終用戶帳戶管理。它還使用用戶代理字串和 IP 位址來提供額外的安全性並防止註冊和身份驗證期間的濫用。

保留: Firebase 驗證會將記錄的 IP 位址保留幾週。它會保留其他身份驗證訊息,直到 Firebase 客戶發起刪除關聯用戶為止,之後數據會在 180 天內從即時和備份系統中刪除。

Firebase 應用程式檢查
  • 來自受支持的證明提供者的證明資料
  • 應用程式檢查成功證明的令牌

如何提供協助: Firebase App Check 使用相應證明提供者所需的、從最終用戶設備接收的證明材料來幫助建立設備和/或應用的完整性。根據開發者的配置,將認證材料發送至相應的認證提供者進行驗證。從成功證明中獲得的 App Check 令牌會隨每個請求傳送到受支援的 Firebase 服務,以存取受 App Check 保護的資源。

保留: App Check 不會保留證明資料,但將其發送給證明提供者時,須遵守這些證明提供者的條款。成功證明傳回的 App Check 令牌在整個 TTL 持續時間內有效,該持續時間不能超過 7 天。對於使用重播保護功能的開發人員,App Check 會將與這些功能一起使用的 App Check 令牌儲存最多 30 天。 Firebase 服務不會保留未與重播保護功能一起使用的其他應用程式檢查權杖。

Firebase 應用程式分發
  • 使用者名稱
  • 電子郵件地址
  • iOS UDID
  • 安全的 Android ID
  • Firebase 安裝 ID
  • 測試人員回饋(截圖和文字)

如何提供協助: Firebase App Distribution 使用這些資料將應用程式版本分發給測試人員、監控測試人員活動、啟用應用程式內回饋等測試人員功能,並將資料與測試人員裝置相關聯。

保留: Firebase App Distribution 會保留使用者訊息,直到 Firebase 客戶要求刪除為止,之後資料會在 180 天內從即時和備份系統中刪除。

Firebase 雲端訊息傳遞
  • Firebase 安裝 ID

如何提供協助: Firebase Cloud Messaging 使用 Firebase 安裝 ID 來決定將訊息傳送到哪些裝置。

保留: Firebase 會保留 Firebase 安裝 ID,直到 Firebase 客戶呼叫 API 來刪除該 ID。通話結束後,資料會在 180 天內從即時系統和備份系統中刪除。

Firebase Crashlytics
  • Crashlytics 安裝 UUID
  • Firebase 安裝 ID
  • 碰撞痕跡
  • Breakpad 小型轉儲格式的數據
    (僅 NDK 崩潰)

如何提供協助: Firebase Crashlytics 使用崩潰堆疊追蹤將崩潰與專案關聯起來,向專案成員發送電子郵件警報並將其顯示在 Firebase 控制台中,並協助 Firebase 客戶偵錯崩潰。它使用 Crashlytics 安裝 UUID 來測量受崩潰影響的使用者數量,並使用小型轉儲資料來處理 NDK 崩潰。處理崩潰會話時會儲存小型轉儲數據,然後將其丟棄。 Firebase 安裝 ID 支援即將推出的功能,這些功能將增強崩潰報告和崩潰管理服務。有關收集的使用者資訊類型的更多詳細信息,請參閱儲存的設備資訊範例

保留: Firebase Crashlytics 會將崩潰堆疊追蹤、提取的小型轉儲資料和關聯標識符(包括 Crashlytics 安裝 UUID 和 Firebase 安裝 ID)保留 90 天,然後再開始從即時和備份系統中刪除它們。

Firebase 動態鏈接
  • 設備規格 (iOS)
  • IP 位址 (iOS)

有什麼幫助:動態連結使用 iOS 上的裝置規格和 IP 位址將新安裝的應用程式開啟到特定頁面或上下文。

保留:動態連結僅臨時儲存設備規格和 IP 位址,以提供服務。

Firebase 託管
  • IP位址

有何幫助:託管使用傳入請求的 IP 位址來偵測濫用行為,並為客戶提供使用資料的詳細分析。

保留:託管會將 IP 資料保留幾個月。

Firebase 效能監控
  • Firebase 安裝 ID
  • IP位址

作用:效能監控使用 Firebase 安裝 ID 來計算存取網路資源的唯一 Firebase 安裝數量,以確保存取模式足夠匿名。它還將 Firebase 安裝 ID 與 Firebase Remote Config 結合使用來管理效能事件報告的速率。此外,它還使用 IP 位址將績效事件對應到其來源國家。有關詳細信息,請參閱數據收集

保留:效能監控將與 IP 相關的事件保留 30 天,並將與安裝相關的和去識別化的效能資料保留 90 天,然後開始將其從即時和備份系統中刪除。

Firebase 應用程式內訊息傳遞
  • Firebase 安裝 ID

如何提供協助: Firebase 應用程式內訊息使用 Firebase 安裝 ID 來決定將訊息傳送到哪些裝置。

保留: Firebase 會保留 Firebase 安裝 ID,直到 Firebase 客戶呼叫 API 來刪除該 ID。通話結束後,資料會在 180 天內從即時系統和備份系統中刪除。

Firebase 即時資料庫
  • IP位址
  • 使用者代理

如何提供協助:即時資料庫使用 IP 位址和使用者代理程式來啟用分析器工具,該工具可協助 Firebase 客戶了解使用趨勢和平台故障。

保留:即時資料庫會將 IP 位址和使用者代理資訊保留幾天,除非客戶選擇保存更長時間。

Firebase 遠端配置
  • Firebase 安裝 ID

如何提供協助:遠端配置使用 Firebase 安裝 ID 來選擇配置值以返回最終用戶設備。

保留: Firebase 會保留 Firebase 安裝 ID,直到 Firebase 客戶呼叫 API 來刪除該 ID。通話結束後,資料會在 180 天內從即時系統和備份系統中刪除。

Firebase 機器學習
  • 上傳的圖片
  • 安裝授權令牌

有什麼幫助:基於雲端的 API 暫時儲存上傳的圖像,以處理分析結果並將其傳回給您。儲存的圖像通常會在幾個小時內刪除。有關更多信息,請參閱 Cloud Vision數據使用常見問題

Firebase ML 在與應用程式執行個體互動時使用安裝驗證令牌進行裝置驗證,例如將開發人員模型分發到應用程式實例。

保留:安裝身份驗證令牌在到期日期之前保持有效。預設令牌有效期為一周。

Crashlytics 收集的資訊範例

  • RFC-4122 UUID,讓我們消除重複的崩潰
  • Crashlytics 安裝 UUID
  • Firebase 安裝 ID (FID)
  • Firebase 會話 ID,它是為使用會話標記事件而產生的隨機 UUID
  • 崩潰發生時的時間戳
  • 應用程式的套件標識符和完整版本號
  • 設備的作業系統名稱和版本號
  • 指示設備是否越獄/root 的布林值
  • 裝置的型號名稱、CPU 架構、RAM 數量和磁碟空間
  • 目前運行的每個執行緒的每一幀的 uint64 指令指針
  • 如果在運行時可用,則包含每個指令指標的純文字方法或函數名稱。
  • 如果拋出異常,則異常的純文字類別名稱和訊息值
  • 如果發出致命訊號,則顯示其名稱和整數代碼
  • 對於載入到應用程式中的每個二進位映像,其名稱、UUID、位元組大小以及載入到 RAM 中的 uint64 基底位址
  • 一個布林值,指示應用程式崩潰時是否在後台
  • 指示崩潰時螢幕旋轉的整數值
  • 指示設備的接近感測器是否被觸發的布林值
  • version-control-info.textproto的內容(僅適用於配置為使用版本控制系統 (VCS) 整合的Android 應用程式)

效能監控收集的資訊範例

  • Firebase 安裝 ID (FID)
  • Firebase 會話 ID,它是為使用會話標記事件而產生的隨機 UUID
  • 一般設備資訊,例如型號、作業系統和方向
  • RAM 和磁碟大小
  • CPU使用率
  • 營運商(基於行動國家/地區和網路代碼)
  • 無線電/網路資訊(例如,WiFi、LTE、3G)
  • 國家/地區(基於 IP 位址)
  • 區域設定/語言
  • 應用程式版本
  • 應用程式前台或後台狀態
  • 應用程式包名稱
  • Firebase 安裝 ID
  • 自動追蹤的持續時間
  • 網路URL(不包括URL參數或負載內容)以及以下對應資訊:
    • 回應代碼(例如,403、200)
    • 有效負載大小(以位元組為單位)
    • 回應時間

查看效能監控收集的自動追蹤的完整清單

啟用最終用戶資料處理選擇加入的指南

上表中的服務需要一定量的最終用戶資料才能運作。因此,在使用這些服務時不可能完全停用資料收集。

如果您是一位客戶,希望為用戶提供選擇加入某項服務以及隨之而來的資料收集的機會,那麼在大多數情況下,只需要在使用該服務之前添加一個對話框或設定切換即可。

但是,某些服務在包含在應用程式中時會自動啟動。為了讓使用者有機會在使用這些服務之前選擇加入,您可以選擇停用每個服務的自動初始化,並在運行時手動初始化它們。要了解如何操作,請閱讀以下指南:

如果您將 Firebase 與 Google Analytics 集成,請了解如何設定 Analytics 資料收集

資料儲存和處理位置

除非服務或功能提供資料位置選擇,否則 Firebase 可能會在 Google 或其代理維護設施的任何位置處理和儲存您的資料。潛在的設施位置因服務而異。

僅限美國的服務

Firebase 身份驗證服務僅在美國資料中心運作。因此,Firebase 身份驗證僅在美國處理資料。

全球服務

大多數 Firebase 服務都在全球 Google 基礎架構上運作。他們可以在任何Google Cloud Platform 位置Google 資料中心位置處理資料。對於某些服務,您可以進行特定的資料位置選擇,將處理限制在該位置。

  • Firebase 雲端儲存
  • 雲端Firestore
  • Firebase 的雲端功能
  • Firebase 託管
  • Firebase Crashlytics
  • Firebase 效能監控
  • Firebase 動態鏈接
  • Firebase 遠端配置
  • Firebase 雲端訊息傳遞
  • Firebase 機器學習
  • Firebase 測試實驗室
  • Firebase 應用程式檢查

安全資訊

資料加密

Firebase 服務使用 HTTPS 對傳輸中的資料進行加密,並在邏輯上隔離客戶資料。

此外,一些 Firebase 服務也會對其靜態資料進行加密:

  • 雲端Firestore
  • Firebase 的雲端功能
  • Firebase 雲端儲存
  • Firebase Crashlytics
  • Firebase 身份驗證
  • Firebase 雲端訊息傳遞
  • Firebase 即時資料庫
  • Firebase 測試實驗室
  • Firebase 應用程式檢查
  • Firebase 效能監控

安全實踐

為了確保個人資料安全,Firebase 採用了廣泛的安全措施來最大程度地減少存取:

  • Firebase 限制特定員工出於商業目的存取個人資料。
  • Firebase 記錄員工對包含個人資料的系統的存取。
  • Firebase 僅允許使用 Google 登入和兩因素驗證登入的員工存取個人資料。

Firebase 服務數據

Firebase 服務資料是 Google 在提供和管理 Firebase 服務期間收集和產生的個人資訊* ,不包括我們涵蓋 Firebase 服務和Google Cloud 服務資料的客戶協議中定義的客戶資料** 。 Firebase 服務資料的範例包括有關服務使用情況的資訊、應用程式ID 和套件名稱/捆綁包ID 等資源識別碼、IP 位址等使用的技術和操作詳細信息,以及透過回饋和支援相關對話與開發人員進行直接通信。

*涵蓋的服務包括Firebase A/B 測試、Firebase 應用程式檢查、Firebase 應用程式分發、Firebase 雲端訊息傳遞、Firebase Crashlytics、Firebase 動態連結、Firebase 託管、Firebase 應用程式內訊息傳遞、Firebase ML、Firebase 效能監控資料庫、Firebase 即時監控資料庫、Firebase遠端配置和 Firebase 使用者分段儲存。

**有關我們如何處理客戶資料的更多信息,請參閱我們的Firebase 資料處理和安全條款

Firebase 如何處理 Firebase 服務資料的範例

Google 根據我們的隱私權政策和適用條款使用 Firebase 服務資料。例如,Firebase 服務資料可用於:

  • 提供您要求的 Firebase 服務
  • 提出優化 Firebase 服務使用的建議
  • 維護和改進 Firebase 服務
  • 提供並改善您要求的其他服務
  • 了解您對 Firebase 和其他 Google 服務的使用情況
  • 為您提供更好的支援並與您溝通
  • 保護您、我們的使用者、公眾和 Google
  • 遵守法律義務

非 Firebase Google 服務使用的 Firebase 服務數據

您可以控制 Google 是否可以使用您的 Firebase 服務資料來提供有關非 Firebase Google 服務的更深入的分析、洞察和建議,以及改進非 Firebase Google 服務。您可以在 Firebase 資料隱私設定頁面中進行設定。

如果停用此控件,Firebase 服務資料將根據我們的隱私權政策和適用條款繼續用於其他目的,例如上述目的,包括提出有關 Firebase 服務的建議和改進Firebase服務,以及提供和改進其他目的您要求的服務,例如您連結到Firebase 專案的Google 產品。

還有疑問嗎?聯絡我們

對於此處未涵蓋的任何與隱私相關的問題,請聯絡 Firebase 支援。如果您是 Firebase 開發者,請提供您的 Firebase 應用程式 ID。在設定您的應用程式卡中找到您的 Firebase 應用程式 ID。