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

Firebase 中的隐私和安全

本页概述了 Firebase 的关键安全和隐私信息。无论您是希望使用 Firebase 启动一个新项目,还是想了解 Firebase 如何与您现有的项目协同工作,请继续阅读以了解 Firebase 如何帮助保护您和您的用户。

最后修改时间:2022 年 9 月 13 日

数据保护

Firebase 对 GDPR 和 CCPA 的支持

2018 年 5 月 25 日,欧盟通用数据保护条例 (GDPR) 取代了 1995 年欧盟数据保护指令。 2020 年 1 月 1 日,加州消费者隐私法 (CCPA) 生效。 Google 致力于帮助我们的客户在这些隐私法规下取得成功,无论他们是大型软件公司还是独立开发者。

GDPR 对数据控制者和数据处理者施加了义务,而 CCPA 对企业及其服务提供商施加了义务。 Firebase 客户通常充当“数据控制者”(GDPR) 或“企业”(CCPA),负责他们向 Google 提供的与使用 Firebase 相关的任何个人数据或信息,而 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 27001SOC 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 机器学习
Firebase 测试实验室
云防火墙
Firebase 的云函数
Firebase 的云存储
Firebase 身份验证
Firebase Crashlytics
Firebase 应用检查
Firebase 应用分发
Firebase 应用内消息
Firebase 云消息传递
Firebase 性能监控
Firebase 托管
Firebase 动态链接
Firebase 远程配置
Firebase 实时数据库
Firebase 平台
Firebase A/B 测试

国际数据传输

隐私护盾框架提供了一种机制,可在将 EEA、英国或瑞士的个人数据传输到美国及以后的地方时遵守数据保护要求。鉴于欧盟法院对数据传输的裁决,使欧盟-美国隐私护盾无效,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 应用检查
  • 来自受支持的证明提供者的证明材料
  • 来自成功证明的 App Check 令牌

如何提供帮助: Firebase App Check 使用相应证明提供商所需的证明材料,并从最终用户的设备接收到证明材料,以帮助建立设备和/或应用程序的完整性。证明材料根据开发者的配置发送到相应的证明提供者进行验证。从成功的证明中获得的 App Check 令牌会随每个请求一起发送到支持的 Firebase 服务,以访问受 App Check 保护的资源。

保留: App Check 不保留证明材料,但在将其发送给证明提供者时,它受这些证明提供者的条款约束。成功证明返回的 App Check 令牌在其 TTL 持续时间内有效,不能超过 7 天。 Firebase 服务不保留应用检查令牌。

Firebase 应用分发

如何提供帮助: 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
  • 崩溃痕迹
  • Breakpad minidump 格式化数据
    (仅 NDK 崩溃)

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

保留: Firebase Crashlytics 将崩溃堆栈跟踪、提取的小型转储数据和相关标识符(包括 Crashlytics 安装 UUID)保留 90 天。

Firebase 动态链接
  • 设备规格 (iOS)
  • IP 地址 (iOS)

它的帮助:动态链接使用 iOS 上的设备规格和 IP 地址将新安装的应用程序打开到特定页面或上下文。

保留:动态链接仅临时存储设备规格和 IP 地址,以提供服务。

Firebase 托管
  • IP 地址

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

保留:主机将 IP 数据保留几个月。

Firebase 性能监控
  • Firebase 安装 ID
  • IP 地址

如何提供帮助:性能监控使用 Firebase 安装 ID 来计算访问网络资源的唯一 Firebase 安装的数量,以确保访问模式足够匿名。它还使用 Firebase 安装 ID 和 Firebase 远程配置来管理性能事件报告的速率。此外,它使用 IP 地址将性能事件映射到它们的来源国家。有关详细信息,请参阅数据收集

保留:性能监控将安装和 IP 相关事件保留 30 天,并将去识别的性能数据保留 90 天。

Firebase 应用内消息
  • Firebase 安装 ID

如何提供帮助: Firebase 应用内消息传递使用 Firebase 安装 ID 来确定将消息传递到哪些设备。

保留: Firebase 会保留 Firebase 安装 ID,直到 Firebase 客户调用 API 删除 ID。通话后,数据会在 180 天内从实时和备份系统中删除。

Firebase 实时数据库
  • IP 地址
  • 用户代理

如何提供帮助:实时数据库使用 IP 地址和用户代理来启用分析器工具,这有助于 Firebase 客户了解使用趋势和平台故障。

保留:实时数据库将 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 远程配置
  • Firebase 安装 ID

如何提供帮助:远程配置使用 Firebase 安装 ID 来选择配置值以返回给最终用户设备。

保留: Firebase 会保留 Firebase 安装 ID,直到 Firebase 客户调用 API 删除 ID。通话后,数据会在 180 天内从实时和备份系统中删除。

Firebase 机器学习
  • 上传的图片
  • 安装授权令牌

它的帮助:基于云的 API 临时存储上传的图像,以处理并将分析返回给您。存储的图像通常会在几个小时内被删除。有关更多信息,请参阅 Cloud Vision数据使用常见问题解答

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

保留:安装授权令牌在到期日期之前一直有效。默认令牌生命周期为一周。

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

  • 一个 RFC-4122 UUID,它允许我们对崩溃进行重复数据删除
  • 崩溃发生时的时间戳
  • 应用程序的捆绑标识符和完整版本号
  • 设备的操作系统名称和版本号
  • 一个布尔值,指示设备是否已越狱/root
  • 设备的型号名称、CPU 架构、RAM 量和磁盘空间
  • 每个当前正在运行的线程的每一帧的 uint64 指令指针
  • 如果在运行时可用,则包含每个指令指针的纯文本方法或函数名称。
  • 如果抛出异常,异常的纯文本类名和消息值
  • 如果引发了致命信号,它的名称和整数代码
  • 对于加载到应用程序中的每个二进制图像,它的名称、UUID、字节大小和加载到 RAM 中的 uint64 基地址
  • 一个布尔值,指示应用程序在崩溃时是否在后台
  • 一个整数值,指示崩溃时屏幕的旋转
  • 一个布尔值,指示设备的接近传感器是否被触发

性能监控收集的信息示例

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

查看性能监控收集的自动跟踪的完整列表

启用选择加入最终用户数据处理的指南

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

如果您是希望为用户提供选择加入服务的机会以及随之而来的数据收集的客户,在大多数情况下,您只需要在使用服务之前添加一个对话框或设置切换。

但是,某些服务在包含在应用程序中时会自动启动。为了让用户有机会在使用这些服务之前选择加入,您可以选择禁用每个服务的自动初始化,并在运行时手动初始化它们。要了解如何操作,请阅读以下指南:

数据存储和处理位置

除非服务或功能提供数据位置选择,否则 Firebase 可能会在 Google 或其代理维护设施的任何地方处理和存储您的数据。潜在的设施位置因服务而异。

仅限美国的服务

Firebase 身份验证服务仅在美国数据中心运行。因此,Firebase 身份验证仅在美国处理数据。

全球服务

大多数 Firebase 服务在全球 Google 基础架构上运行。他们可以在任何Google Cloud Platform 位置Google 数据中心位置处理数据。对于某些服务,您可以进行特定的数据位置选择,将处理限制在该位置。

  • Firebase 的云存储
  • 云防火墙
  • Firebase 的云函数
  • Firebase 托管
  • Firebase Crashlytics
  • Firebase 性能监控
  • Firebase 动态链接
  • Firebase 远程配置
  • Firebase 云消息传递
  • 谷歌分析
  • Firebase 机器学习
  • Firebase 测试实验室
  • Firebase 应用检查

安全信息

数据加密

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

此外,一些 Firebase 服务也会对其静态数据进行加密:

  • 云防火墙
  • Firebase 的云函数
  • Firebase 的云存储
  • Firebase Crashlytics
  • Firebase 身份验证
  • Firebase 云消息传递
  • Firebase 实时数据库
  • Firebase 测试实验室
  • Firebase 应用检查
  • Firebase 性能监控

安全实践

为了保证个人数据的安全,Firebase 采用了广泛的安全措施来最大限度地减少访问:

  • Firebase 将访问权限限制为具有访问个人数据的商业目的的选定员工。
  • Firebase 记录员工对包含个人数据的系统的访问。
  • Firebase 仅允许使用 Google 登录和2 因素身份验证登录的员工访问个人数据。

Firebase 服务数据

Firebase 服务数据是 Google 在提供和管理 Firebase 服务*期间收集和生成的个人信息,不包括我们的客户协议中定义的客户数据** ,涵盖 Firebase 服务和Google 云服务数据。 Firebase 服务数据的示例包括有关服务使用的信息、资源标识符(如应用程序 ID 和包名称/捆绑包 ID)、使用的技术和操作详细信息(如 IP 地址),以及通过反馈和支持相关对话与开发人员直接通信。

*涵盖的服务包括 Firebase A/B 测试、Firebase 应用检查、Firebase 应用分发、Firebase 云消息传递、Firebase Crashlytics、Firebase 动态链接、Firebase 托管、Firebase 应用内消息传递、Firebase ML、Firebase 性能监控、Firebase 实时数据库、Firebase远程配置和 Firebase 用户分段存储。

**有关我们如何处理客户数据的更多信息,请参阅我们的Firebase 数据处理和安全条款以及Crashlytics 和应用分发数据处理和安全条款

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。