Firebase 中的隐私权和安全性

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

上次修改时间:2023 年 2 月 28 日

数据保护

Firebase 对 GDPR 和 CCPA 的支持

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

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

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

Firebase 数据处理和安全条款

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

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

Crashlytics 和 App Distribution 受 Firebase Crashlytics 和 Firebase App Distribution 服务条款约束,而且还需要遵守这些相关数据处理条款

Google Analytics for Firebase 和 Google Analytics(分析)分别受 Google Analytics for Firebase 服务条款Google Analytics(分析)服务条款约束,而且还需要遵守 Google Ads 数据处理条款。如需了解详情,请参阅保护您的数据

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
Google Analytics for Firebase
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

国际数据传输

“Privacy Shield”(隐私护盾)框架提供了一种机制,目的是确保在将欧洲经济区 (EEA)、英国或瑞士的个人数据传输至美国时以及进行后续传输时遵守数据保护要求。鉴于欧盟法院最近裁定数据传输机制“EU-U.S. Privacy Shield”(欧盟-美国隐私护盾)无效,Firebase 已将标准合同条款作为相关数据传输的依据。根据欧盟法院的裁定,标准合同条款可继续作为根据 GDPR 传输数据的有效法律机制。欧盟委员会于 2021 年 6 月 4 日批准了《标准合同条款》的新版本,我们会将这些条款纳入与 Firebase 客户签订的相关数据传输合同。

我们致力于遵守适用的数据保护法律,并将此作为数据传输的法律依据。

数据处理信息

由 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 天。Firebase 服务不会保留 App Check 令牌。

Firebase App Distribution

如何提供帮助: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)保留 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 地址
  • 用户代理

如何提供帮助:Realtime Database 使用 IP 地址和用户代理启用分析器工具,此工具可帮助 Firebase 客户了解使用趋势和平台详细使用情况。

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

Google Analytics for Firebase

如何提供帮助:Google Analytics for Firebase 使用这些数据提供分析和归因信息。收集的具体信息可能因设备和环境而异。如需了解详情,请参阅数据收集

保留:Google Analytics for Firebase 会将某些与广告标识符关联的数据(例如,Apple 的广告客户标识符和供应商标识符、Android 的广告 ID)保留 60 天,并保留没有自动过期设置的汇总报告。用户级数据(包括转化数据)的保留期限固定为最多 14 个月。对于所有其他事件数据,您可以在 Google Analytics for Firebase 设置中将保留期限设置为 2 个月或 14 个月。 了解详情

Firebase Remote Config
  • Firebase 安装 ID

如何提供帮助:Remote Config 使用 Firebase 安装 ID 选择要返回到最终用户设备的配置值。

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

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

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

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

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

Crashlytics 收集的信息示例

  • RFC-4122 UUID(方便我们删除重复的崩溃数据)
  • Crashlytics 安装 UUID
  • Firebase 安装 ID (FID)
  • Firebase 会话 ID(系统为标记会话事件而生成的随机 UUID)
  • 发生崩溃时的时间戳
  • 应用的软件包标识符和完整版本号
  • 设备的操作系统名称和版本号
  • 指示设备是否已越狱/已启用 root 权限的布尔值
  • 设备的型号名称、CPU 架构、RAM 和磁盘空间量
  • 当前正在运行的每个线程的每个框架的 uint64 指令指针
  • 包含每个指令指针的纯文本方法或函数名称(如果运行时中提供)。
  • 异常的纯文本类名称和消息值(如果抛出了异常)
  • 致命信号的名称和整数代码(如果发出了致命信号)
  • 每个加载到应用中的二进制图片的名称、UUID、字节大小及其被加载到 RAM 时的 uint64 基地址
  • 指示应用崩溃时是否在后台运行的布尔值
  • 指示崩溃时屏幕方向的整数值
  • 指示设备的近程传感器是否触发的布尔值

Performance Monitoring 收集的信息示例

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

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

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

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

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

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

数据存储和处理位置

除非某项服务或功能提供了数据存储位置选项,否则,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 Analytics(分析)
  • 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 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。

**如需详细了解我们如何处理客户数据,请参阅我们的 Firebase 数据处理和安全条款以及 Crashlytics 和 App Distribution 数据处理和安全条款

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。