Google 致力于为黑人社区推动种族平等。查看具体举措

Firebase 中的隐私权和安全性

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

上次修改日期:2021 年 1 月 27 日

数据保护

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 Distribution 和 Crashlytics 之外)均已成功完成了 ISO 27001SOC 1SOC 2SOC 3 评估流程,部分服务还完成了 ISO 27017ISO 27018 认证流程:

服务名称 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 Distribution
Firebase In-App Messaging
Firebase Cloud Messaging
Firebase Predictions
Firebase Performance Monitoring
Firebase Hosting
Firebase Dynamic Links
Firebase Remote Config
Firebase Realtime Database
Firebase Platform
Firebase A/B Testing

国际数据传输

“Privacy Shield”(隐私护盾)框架提供了一种机制,目的是确保在将欧洲经济区 (EEA)、英国或瑞士的个人数据传输至美国及后续传输时遵守数据保护要求。尽管“Swiss-U.S. Privacy Shield”(瑞士-美国隐私护盾)目前仍然有效,但鉴于欧盟法院最近裁定数据传输机制“EU-U.S. Privacy Shield”(欧盟-美国隐私护盾)无效,Firebase 已将标准合同条款作为相关数据传输的依据。根据欧盟法院的裁定,标准合同条款可继续作为根据 GDPR 传输数据的有效法律机制。

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

数据处理信息

由 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 Distribution

如何提供帮助:Firebase App Distribution 使用数据将应用版本分发给测试人员、监视测试人员的活动,并将数据与测试人员设备关联。

保留: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
  • 崩溃轨迹
  • Breakpad 小型转储格式的数据
    (仅限 NDK 崩溃)

如何提供帮助:Firebase Crashlytics 使用崩溃堆栈轨迹将崩溃与项目相关联,向项目成员发送电子邮件提醒并在 Firebase 控制台中显示这些信息,帮助 Firebase 客户调试崩溃。它使用 Crashlytics 安装 UUID 来衡量受崩溃影响的用户数量,并使用小型转储数据来处理 NDK 崩溃。系统会在处理崩溃会话时存储小型转储数据,然后将其舍弃。如需详细了解收集的用户信息类型,请参阅存储的设备信息示例

保留: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 Predictions
  • Firebase 安装 ID

如何提供帮助:Predictions 使用 Firebase 安装 ID 将 Firebase 安装与项目相关联,并检索事件的时间序列。它利用这些事件支持预测客户所指定事件发生的可能性,以及支持默认的支出和流失预测。

保留:Predictions 会将与安装关联的事件保存 60 天,并将根据这些事件预测的结果保存几周。Firebase 会保留 Firebase 安装 ID,直至 Firebase 客户发出 API 调用来删除此 ID 为止。在这之后,数据将在 180 天内从实时和备份系统中移除。

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

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

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

Google Analytics for Firebase

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

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

Firebase Remote Config
  • Firebase 安装 ID

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

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

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

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

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

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

Crashlytics 收集的存储设备信息的示例

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

Performance Monitoring 收集的信息示例

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

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

让最终用户能够自主选择是否接受个人数据处理的指南

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

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

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

数据存储和处理位置

除非某项服务或功能提供了数据存储位置选项,否则,Firebase 可能会在 Google 或其代理保有设施的任何地方处理和存储您的数据。不同的服务可能使用的设施位置也不尽相同。

仅在美国运行的服务

少数 Firebase 服务只能通过美国的数据中心运行。因此,这些服务仅在美国境内的设施上处理数据。

  • Firebase Hosting
  • Firebase Authentication

全球均可运行的服务

大部分 Firebase 服务都在 Google 遍及全球的基础架构上运行。 这些服务可以在任意 Google Cloud Platform 服务点Google 数据中心位置处理数据。对于某些服务,您可以做出具体的数据位置选择,这样就能实施限制,以在选中的位置进行处理。

  • Cloud Storage for Firebase
  • Cloud Firestore
  • Cloud Functions for Firebase
  • Firebase Performance Monitoring
  • Firebase Dynamic Links
  • Firebase Remote Config
  • Firebase Cloud Messaging
  • Firebase Predictions
  • Google Analytics(分析)
  • Firebase ML
  • Firebase Test Lab

安全性方面的信息

数据加密

Firebase 服务使用 HTTPS 来加密传输中的数据,并在逻辑上对客户数据进行隔离。

此外,多项 Firebase 服务对于其静态数据也会进行加密:

  • Cloud Firestore
  • Cloud Functions for Firebase
  • Cloud Storage for Firebase
  • Firebase Authentication
  • Firebase Cloud Messaging
  • Firebase Realtime Database
  • Firebase Test Lab

安全做法

为确保个人数据安全无虞,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、Firebase Performance Monitoring、Firebase Predictions、Firebase Realtime Database 和 Firebase Remote Config。

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

仍有疑问?与我们联系

如有任何本文未涵盖的与隐私权相关的问题,请通过帐号服务表单与我们联系。