Firebase 中的隐私权和安全性

本页面概述了有关 Firebase 的安全性和隐私权的重要信息。无论您是要使用 Firebase 启动新的项目,还是想知道 Firebase 如何与您现有的项目协同工作,请继续阅读下文,了解 Firebase 如何有助于保护您和您的用户。

最后修改日期:2024 年 8 月 21 日

数据保护

Firebase 对 GDPR 和 CCPA 的支持

2018 年 5 月 25 日,欧盟的《一般数据保护条例》(GDPR) 取代了 1995 年颁布的《欧盟数据保护指令》。2020 年 1 月 1 日起,《加州消费者隐私法案》(CCPA) 开始生效。2023 年 1 月 1 日,《加州隐私权法案》(CPRA) 生效,这是一项对 CCPA 进行修正和扩展的数据隐私权法。Google 将致力于帮助客户在遵守这些隐私权法规的前提下取得成功,无论是大型软件公司还是独立开发者。

GDPR 规定了数据控制方和数据处理方的义务,CCPA/CPRA 规定了企业及其服务提供商的义务。在因使用 Firebase 而向 Google 提供其最终用户的任何个人数据或信息时,Firebase 客户通常是“数据控制方”(GDPR) 或“企业”(CCPA/CPRA),而 Google 通常是“数据处理方”(GDPR) 或“服务提供商”(CCPA/CPRA)。

这意味着数据处于客户的控制之下。客户有责任承担相应的义务,比如维护个人用户在其个人数据或信息方面享有的权利。

Firebase 数据处理和安全条款

当客户使用 Firebase 时,Google 通常根据 GDPR 的规定���当着数据处理方的角色,代表客户处理其个人数据。同样地,当客户使用 Firebase 时,Google 通常根据 CCPA/CPRA 的规定充当着服务提供商的角色,代表客户处理个人信息。Firebase 条款包括详细说明这些责任的数据处理和安全条款

Google Cloud Platform (GCP) 服务条款约束的某些 Firebase 服务已在相关数据处理条款(即云端数据处理附录)的涵盖范围内。您可以在 Firebase 服务条款中查看当前受 GCP 服务条款约束的全部 Firebase 服务的列表。

Google Analytics 是一项可与 Firebase 搭配使用的单独服务,受单独条款的约束。

Firebase 已通过主流的隐私权和安全标准认证

ISO 和 SOC 合规性

所有 Firebase 服务(App Indexing 和 Vertex AI in Firebase 除外)均已成功完成了 ISO 27001 以及 SOC 1SOC 2SOC 3 评估流程,部分服务还完成了 ISO 27017ISO 27018 认证流程。 您可以通过合规报告管理器来获得受 GCP 服务条款约束的 Firebase 服务的合规性报告和证书。

服务名称 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 Platform
Firebase A/B Testing
Vertex AI in Firebase

国际数据传输

正如我们的数据隐私权框架认证中所述,我们遵守美国商务部针对收集、使用和保留欧洲经济区 (EEA)、瑞士和英国境内用户个人信息而分别制定的“欧盟-美国数据隐私权框架”“瑞士-美国数据隐私权框架”,以及英国对“欧盟-美国数据隐私权框架”的扩展。Google LLC(及其全资美国子公司,明确排除的除外)已证明其自身遵守 DPF 准则。如《Google 隐私权政策》的“分享您的信息”部分中所述,对于根据《传输准则》(Onwards Transfer Principle) 与第三方分享(以便第三方进行外部处理)的任何个人信息,Google 仍需承担责任。若要详细了解数据隐私权框架或要查看 Google 的认证,请访问数据隐私权框架网站

对于我们采取的与数据隐私权框架认证相关的隐私权做法,如果您有任何疑问,欢迎联系我们。Google 在美国联邦贸易委员会的调查和执行权力管辖范围内。您也可以将投诉转呈当地的数据保护机构,我们将与这些机构合作,共同解决您的问题。如数据隐私权框架准则附录 I 中所述,在某些情况下,数据隐私权框架赋予相关方相应的权利,以便他们启动具有约束力的仲裁,解决无法通过其他方式解决的投诉。

数据处理信息

由 Firebase 处理的最终用户数据的示例

某些 Firebase 服务会对您的最终用户数据进行处理,以提供相应服务。下面的图表展示了有关各种 Firebase 服务如何使用和处理可能具有辨识性的最终用户数据的若干示例。此外,许多 Firebase 服务还允许您请求删除特定的数据或控制数据的处理方式。

Firebase 服务 最终用户数据 数据如何帮助提供服务
Cloud Functions for Firebase
  • IP 地址

如何提供帮助:Cloud Functions 使用 IP 地址,根据最终用户的操作执行事件处理函数和 HTTP 函数。

保留:Cloud Functions 仅出于提供服务的目的而暂时保存 IP 地址。

Firebase Authentication
  • 密码
  • 电子邮件地址
  • 电话号码
  • 用户代理
  • IP 地址

如何提供帮助:Firebase Authentication 使用这些数据启用最终用户身份验证,并助力最终用户账号管理。它还使用用户代理字符串和 IP 地址提升安全性并防止注册和身份验证期间的滥用行为。

保留:Firebase Authentication 会将记录的 IP 地址保留几周。它会保留其他身份验证信息,直至该 Firebase 客户开始删除关联用户为止。在这之后,数据将在 180 天内从实时和备份系统中移除。

Firebase App Check
  • 受支持的证明提供方提供的证明材料
  • 因证明成功而获得的 App Check 令牌

如何提供帮助:Firebase App Check 从最终用户的设备接收相应证明提供方需要的证明材料,使用这些材料来帮助确定设备和/或应用的完整性。系统会根据开发者的配置将证明材料发送到相应的证明提供方进行验证。因证明成功而获得的 App Check 令牌会随每个请求一起发送到支持的 Firebase 服务,用于访问受 App Check 保护的资源。

保留:App Check 不会保留证明材料,但证明材料被发送到证明提供方后,会受到这些证明提供方的条款约束。因证明成功而返回的 App Check 令牌在其 TTL 期限内有效,该时间不能超过 7 天。对于使用重放攻击防范功能的开发者,App Check 会将用于这些功能的 App Check 令牌存储最多 30 天。Firebase 服务不会保留其他未用于重放攻击防范功能的 App Check 令牌。

Firebase App Distribution
  • 用户名
  • 电子邮件地址
  • iOS UDID
  • 安全的 Android ID
  • Firebase 安装 ID
  • 测试人员反馈(屏幕截图和文本)

如何提供帮助:Firebase App Distribution 使用这些数据将应用 build 分发给测试人员、监控测试人员的活动、启用应用内反馈等测试人员功能,并将数据与测试人员设备关联。

保留:Firebase App Distribution 会保留用户信息,直至 Firebase 客户申请删除为止。在这之后,数据将在 180 天内从实时和备份系统中移除。

Firebase Cloud Messaging
  • 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 Dynamic Links
  • 设备规格 (iOS)
  • IP 地址 (iOS)

如何提供帮助:Dynamic Links 使用 iOS 上的设备规格和 IP 地址,让新安装的应用在特定的页面或上下文中打开。

保留:Dynamic Links 仅出于提供服务的目的而暂时存储设备规格和 IP 地址。

Firebase Hosting
  • IP 地址

如何提供帮助:Hosting 使用传入请求的 IP 地址检测滥用行为,并为客户提供详细的使用情况数据分析。

保留:Hosting 会将 IP 数据保留几个月。

Firebase Performance Monitoring
  • Firebase 安装 ID
  • IP 地址

如何提供帮助Performance Monitoring 使用 Firebase 安装 ID 来计算访问网络资源的唯一 Firebase 安装的数量,以确保访问模式是充分匿名的。它还将 Firebase 安装 ID 与 Firebase Remote Config 一起使用,以管理性能事件报告率。此外,它使用 IP 地址将性能事件映射到它们源自的国家/地区。如需了解详情,请参阅数据收集

保留Performance Monitoring 将 IP 关联事件保留 30 天,并将安装关联和去标识化的性能数据保留 90 天,然后再开始将其从实时系统和备份系统中移除。

Firebase In-App Messaging
  • Firebase 安装 ID

如何提供帮助Firebase In-App Messaging 使用 Firebase 安装 ID 来确定向哪些设备发送消息。

保留:Firebase 会保留 Firebase 安装 ID,直至 Firebase 客户发出 API 调用来删除此 ID 为止。在这之后,数据将在 180 天内从实时和备份系统中移除。

Firebase Realtime Database
  • IP 地址
  • 用户代理

提供帮助的方式:实时数据库使用 IP 地址和用户代理启用分析器工具,此工具可帮助 Firebase 客户了解使用趋势和平台详细使用情况。

保留:Realtime Database 会将 IP 地址和用户代理信息保留几天时间,但客户选择延长其保存时间的情况除外。

Firebase Remote Config
  • Firebase 安装 ID

提供帮助的方式Remote Config 使用 Firebase 选择要返回给最终用户设备的配置值。

保留:Firebase 会保留 Firebase 安装 ID,直至 Firebase 客户发出 API 调用来删除此 ID 为止。在这之后,数据将在 180 天内从实时和备份系统中移除。

Firebase ML
  • 上传的图片
  • 安装身份验证令牌

提供帮助的方式:基于云的 API 会临时存储上传的图片以进行处理,并将分析结果返回给您。存储的图片通常会在几小时内删除。如需了解详情,请参阅 Cloud Vision 数据使用常见问题解答

与应用实例进行交互(例如,将开发者模型分发到应用实例)时,Firebase ML 使用安装身份验证令牌对设备进行身份验证。

保留:安装身份验证令牌的有效时间截止到其失效日期。令牌的默认生命周期为一周。

Vertex AI in Firebase
  • 客户通过 AI 模型发送和接收的输入和输出数据

如何提供帮助Vertex AI in Firebase 使用 Vertex AI 的生成式 AI API 来预测内容。

保留:在预测期间,Google 不会记录客户数据来生成客户的输出或训练基础模型。默认情况下,Google 会缓存客户的 Gemini 模型的输入和输出,以加快对客户的后续提示的回答速度。

如需了解详情,请参阅生成式 AI 和数据治理 | Vertex AI 上的生成式 AI | Google Cloud

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 应用

Performance Monitoring 收集的信息示例

  • Firebase 安装 ID (FID)
  • Firebase 会话 ID(系统为标记会话事件而生成的随机 UUID)
  • 一般设备信息,如型号、操作系统和屏幕方向
  • RAM 和磁盘大小
  • CPU 使用率
  • 运营商(基于移动设备国家/地区代码和网络代码)
  • 无线装置/网络信息(例如:Wi-Fi、LTE、3G)
  • 国家/地区(基于 IP 地址)
  • 区域设置/语言
  • 应用版本
  • 应用前台或后台状态
  • 应用软件包名称
  • Firebase 安装 ID
  • 自动跟踪的持续时间
  • 网络网址(不包括网址参数或载荷内容)以及下列相应信息:
    • 响应代码(例如:403、200)
    • 有效负载大小(以字节为单位)
    • 响应时间

参阅 Performance Monitoring 收集的自动跟踪记录的完整列表

关于让最终用户自主选择是否接受数据处理方式的指南

上表中的服务需要一定数量的最终用户数据才能正常工作。因此,在使用这些服务时不可能完全停用数据收集功能。

如果 Firebase 客户希望自己的用户可以自主选择启用某项服务及其附带的数据收集功能,那么在大多数情况下,只需添加一个对话框或用于设置的切换开关,待用户确认启用后,即可使用这项服务。

但是,某些服务在集成到应用中后会自动启动。为了让用户在使用这些服务之前能够自主选择是否启用它们,您可以选择为每项服务停用自动初始化,而改为在运行时手动初始化它们。如需了解具体操作方法,请阅读以下指南:

如果您将 Firebase 与 Google Analytics 集成,请了解如何配置 Analytics 数据收集

数据存储和处理位置

除非某项服务或功能提供了数据存储位置选项,否则,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 登录和双重身份验证登录的员工访问个人数据。

Firebase 服务数据

Firebase 服务数据是 Google 在预配和管理 Firebase 服务*期间收集和生成的个人信息,不包括客户数据**(如涵盖 Firebase 服务的客户协议和 Google Cloud 服务数据所定义)。Firebase 服务数据的示例包括如下信息:服务使用情况、资源标识符(例如应用 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。

** 如需详细了解我们如何处理客户数据,请参阅我们的 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 项目关联的 Google 产品。

仍有疑问?与我们联系

如有任何本文未涵盖的与隐私权相关的问题,请与 Firebase 支持团队联系。如果您是 Firebase 开发者,请添加您的 Firebase 应用 ID。您可以在 项目设置的“您的应用”卡片中找到 Firebase 应用 ID。