本页面概述了有关 Firebase 的安全性和隐私权的重要信息。无论您是要使用 Firebase 启动新的项目,还是想知道 Firebase 如何与您现有的项目协同工作,请继续阅读下文,了解 Firebase 如何有助于保护您和您的用户。
最后修改日期:2024 年 5 月 20 日
数据保护
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 和 Firebase 中的 Vertex AI 除外) 已成功通过 ISO 27001 和 SOC 1、 SOC 2、 和 SOC 3 评估 有一些还完成了ISO 27017 和 ISO 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 |
国际数据传输
“Privacy Shield”(隐私护盾)框架提供了一种机制,目的是确保在将欧洲经济区 (EEA)、英国或瑞士的个人数据传输至美国时以及进行后续传输时遵守数据保护要求。鉴于欧盟法院最近裁定数据传输机制“EU-U.S. Privacy Shield”(欧盟-美国隐私护盾)无效,Firebase 已将标准合同条款作为相关数据传输的依据。根据欧盟法院的裁定,标准合同条款可继续作为根据 GDPR 传输数据的有效法律机制。欧盟委员会于 2021 年 6 月 4 日批准了《标准合同条款》的新版本,我们会将这些条款纳入与 Firebase 客户签订的相关数据传输合同。
我们致力于遵守适用的数据保护法律,并将此作为数据传输的法律依据。
数据处理信息
由 Firebase 处理的最终用户数据的示例
某些 Firebase 服务会对您的最终用户数据进行处理,以提供相应服务。下面的图表展示了有关各种 Firebase 服务如何使用和处理可能具有辨识性的最终用户数据的若干示例。此外,许多 Firebase 服务还允许您请求删除特定的数据或控制数据的处理方式。
Firebase 服务 | 最终用户数据 | 数据如何帮助提供服务 |
---|---|---|
Cloud Functions for Firebase |
|
如何提供帮助:Cloud Functions 使用 IP 地址,根据最终用户的操作执行事件处理函数和 HTTP 函数。 保留:Cloud Functions 仅出于提供服务的目的而暂时保存 IP 地址。 |
Firebase Authentication |
|
如何提供帮助:Firebase Authentication 使用这些数据启用最终用户身份验证,并助力最终用户账号管理。它还使用用户代理字符串和 IP 地址提升安全性并防止注册和身份验证期间的滥用行为。 保留:Firebase Authentication 会将记录的 IP 地址保留几周。它会保留其他身份验证信息,直至该 Firebase 客户开始删除关联用户为止。在这之后,数据将在 180 天内从实时和备份系统中移除。 |
Firebase 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 |
|
如何提供帮助:Firebase App Distribution 使用这些数据将应用 build 分发给测试人员、监控测试人员的活动、启用应用内反馈等测试人员功能,并将数据与测试人员设备关联。 保留:Firebase App Distribution 会保留用户信息,直至 Firebase 客户申请删除为止。在这之后,数据将在 180 天内从实时和备份系统中移除。 |
Firebase Cloud Messaging |
|
提供帮助的方式:Firebase Cloud Messaging 使用 Firebase 安装 ID,用于确定向哪些设备发送消息。 保留:Firebase 会保留 Firebase 个安装 ID 直到 Firebase 客户 进行 API 调用以删除 ID。通话结束后,系统会从实时和备份中移除数据 在 180 天内有效。 |
Firebase Crashlytics |
|
如何提供帮助:Firebase Crashlytics 使用崩溃堆栈轨迹将崩溃与项目相关联,向项目成员发送电子邮件提醒并在 Firebase 控制台中显示这些信息,帮助 Firebase 客户调试崩溃。它使用 Crashlytics 安装 UUID 来衡量受崩溃影响的用户数量,并使用小型转储数据来处理 NDK 崩溃。系统会在处理崩溃会话时存储小型转储数据,并在处理完毕后将其舍弃。将来,系统会使用 Firebase 安装 ID 来启用即将推出的崩溃报告和崩溃管理服务增强功能。如需详细了解收集的用户信息类型,请参阅存储的设备信息示例。 保留:Firebase Crashlytics 会将崩溃堆栈轨迹、提取的小型转储数据以及关联的标识符(包括 Crashlytics 安装 UUID 和 Firebase 安装 ID)保留 90 天,然后再开始将其从实时系统和备份系统中移除。 |
Firebase Dynamic Links |
|
如何提供帮助:Dynamic Links 使用 iOS 上的设备规格和 IP 地址,让新安装的应用在特定的页面或上下文中打开。 保留:Dynamic Links 仅出于提供服务的目的而暂时存储设备规格和 IP 地址。 |
Firebase Hosting |
|
如何提供帮助:Hosting 使用传入请求的 IP 地址检测滥用行为,并为客户提供详细的使用情况数据分析。 保留:Hosting 会将 IP 数据保留几个月。 |
Firebase Performance Monitoring |
|
如何提供帮助:Performance Monitoring 使用 Firebase 安装 ID 计算访问网络资源的唯一 Firebase 安装的数量, 以确保访问模式是充分匿名的。它还使用 Firebase 安装 ID 含 Firebase Remote Config 以管理效果事件报告率此外,它使用 IP 地址将性能事件映射到它们源自的国家/地区。有关 请参阅 数据收集。 保留:Performance Monitoring 会保持 IP 关联 事件,并且它会保留与安装相关和去标识化的性能 90 天内的数据,然后再开始将其从实时和备份中移除 系统。 |
Firebase In-App Messaging |
|
提供帮助的方式:Firebase In-App Messaging 使用 Firebase 安装 ID,用于确定向哪些设备发送消息。 保留:Firebase 会保留 Firebase 个安装 ID 直到 Firebase 客户 进行 API 调用以删除 ID。通话结束后,系统会从实时和备份中移除数据 在 180 天内有效。 |
Firebase Realtime Database |
|
提供帮助的方式:实时数据库使用 IP 地址和用户代理启用分析器工具,此工具可帮助 Firebase 客户了解使用趋势和平台详细使用情况。 保留:Realtime Database 会将 IP 地址和用户代理信息保留几天时间,但客户选择延长其保存时间的情况除外。 |
Firebase Remote Config |
|
如何提供帮助:Remote Config 使用 Firebase 安装 ID 以选择配置 返回给最终用户设备的值。 保留:Firebase 会保留 Firebase 安装 ID,直到 Firebase 客户为删除 ID。在这之后,数据将在 180 天内从实时和备份系统中移除。 |
Firebase ML |
|
提供帮助的方式:基于云的 API 会临时存储上传的图片以进行处理,并将分析结果返回给您。存储的图片通常会在几小时内删除。如需了解详情,请参阅 Cloud Vision 数据使用常见问题解答。 安装身份验证令牌 在与应用交互时,由 Firebase ML 用于设备身份验证 将开发者模型分发到应用实例。 保留:安装身份验证令牌的有效时间截止到其失效日期。令牌的默认生命周期为一周。 |
Vertex AI in Firebase |
|
如何提供帮助: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 客户希望自己的用户可以自主选择启用某项服务及其附带的数据收集功能,那么在大多数情况下,只需添加一个对话框或用于设置的切换开关,待用户确认启用后,即可使用这项服务。
但是,某些服务在集成到应用中后会自动启动。为了让用户在使用这些服务之前能够自主选择是否启用它们,您可以选择为每项服务停用自动初始化,而改为在运行时手动初始化它们。如需了解具体操作方法,请阅读以下指南:
- Cloud Messaging:防止自动初始化 (Android) 或防止自动初始化 (iOS+)
- Crashlytics:启用自选式报告 (iOS+) 或者启用自选式报告 (Android)
- Performance Monitoring:启用自选式监控
如果您将 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 用户细分存储。
** 如需详细了解我们如何处理客户数据,请参阅我们的 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。