跳过主要内容
开发 移动 安全

iOS应用的隐私声明

了解苹果新隐私声明要求的要求,包括遵守步骤和对开发者于2024年5月开始的影响。

马丁·多纳迪尤

马丁·多纳迪尤

内容营销人员

iOS应用的隐私声明

从2024年5月1日起,苹果要求所有App Store上的iOS应用程序包含隐私声明。 这些文件,称为 PrivacyInfo.xcprivacy, outline how apps and their dependencies handle user data. Non-compliance can result in app rejection or removal. Here’s what you need to know:

  • 关于应用程序和它们的依赖项如何处理用户数据的说明。未遵守可能会导致应用程序被拒绝或删除。以下是您需要了解的内容:
    什么是隐私清单?

    • 一个结构化的文件,记录:
    • 应用程序收集的数据和第三方 SDK 的数据。
    • 用于敏感数据或跟踪的 API。
  • 应用程序访问的域名。

    • 为什么它很重要?
    • 确保数据处理透明度。
    • 保持 App Store 隐私标签准确。
  • 避免应用程序审查延迟或拒绝。

    1. 关键的遵守步骤: Xcode 15 或更高版本才能创建和配置 PrivacyInfo.xcprivacy 文件。
    2. 记录所有 API、数据类型和跟踪域名。
    3. 从第三方SDK供应商处获取隐私清单。
    4. 使用 Xcode 的隐私报告进行验证。
  • 截止日期:

    • 2024 年 5 月 1 日: 开始执行。
    • 必须在应用程序中包含隐私清单才能获得批准。

不符合规定的风险包括 App Store 拒绝、法律问题和用户信任丧失。自动扫描器和隐私生成器等工具可以简化此过程。请保持积极主动以确保您的应用程序符合 Apple 的隐私标准。

WWDC23:了解隐私清单 | Apple

Apple隐私宣言规则

Apple隐私宣言引入了一个要求对iOS应用程序中的所有组件透明地披露数据收集和API使用的要求。

为了遵守,开发者必须包含一个 隐私信息文件(PrivacyInfo.xcprivacy) 文件中必须包含三个关键元素:

  • 必需的原因API声明:明确说明使用特定API的原因。
  • 数据使用类别:指定收集和使用的数据类型。
  • 域名使用文档:详细说明应用程序访问的域名。 [3].

__CAPGO_KEEP_0__

苹果已经明确规定了必须遵守这些要求的截止日期:

__CAPGO_KEEP_1____CAPGO_KEEP_2__
2024年5月1日强制执行开始
2024年5月后持续监测

这些日期强调了开发者必须将应用程序与新规则对齐以避免中断的紧迫性。

__CAPGO_KEEP_0__

不遵守这些指南的后果可能非常严重,包括:

  • 立即App Store拒绝: 未符合标准的应用将无法获得发布许可。
  • 法律风险: 未披露数据处理实践可能导致监管行动。
  • 声誉损害: 用户可能会失去信任的应用程序,无法满足透明度标准 [2].

“使用特定 API 的应用程序必须在隐私清单文件中声明其意图使用,有效日期 2024 年 5 月 1 日。” – Apple [6]

使用 OTA(即时更新)解决方案的开发者,如 Capgo, 必须特别注意遵守相关法规。这些更新机制,及其数据处理实践,必须在隐私清单文件中进行明确说明。

此外,每个 SDK 和框架都必须在应用程序中包含其自己的隐私清单,说明其数据收集和 API 使用情况。在 App Store 提交过程中,Xcode 将将这些单独的清单编译成一个统一的隐私报告。 [3].

所需工具和设置

要在 iOS 应用程序中实现隐私清单,请需要设置开发环境中的必要工具和凭证。这些步骤将有助于您准备创建符合标准的应用程序 隐私信息 __CAPGO_KEEP_0__.

系统要求

确保您已安装并配置以下内容:

  • Xcode 15 或更高版本: 这是支持隐私清单的最低版本 [1].
    • 可在 Mac App Store (稳定版本) 中获取。
    • Beta 版本可以从 Apple Developer portal [16] 下载。
  • macOS: 使用稳定版本以确保与 Xcode 的兼容性。

开发者凭证

要与隐私清单一起工作并将应用程序提交到 App Store,您需要以下凭证:

要求目的验证
苹果开发者账户用于应用程序提交和证书管理需要每年订阅。
开发证书启用 code 签名和开发构建。必须有效且最新。
分发证书用于将应用程序提交到 App Store。需要每 12 个月更新一次。
配置文件用于设备测试和部署。必须与应用程序的包标识符保持一致。

要创建您的 PrivacyInfo.xcprivacy 文件,请打开Xcode并转到 新建 > 文件 > iOS > 资源 > 应用程序隐私 [1]将此文件放置在应用程序包资源的根目录中,以确保在构建过程中它会被识别。

从2024年春季开始,苹果将要求所有提交到App Store Connect的应用程序包括任何列出的API使用的批准原因 [7].

一旦您的工具和凭据准备就绪,您就可以直接在Xcode中创建隐私清单文件。

创建隐私清单文件

使用正确的步骤和工具在Xcode中创建隐私清单文件可以很简单。以下是如何设置和使用自动化来简化流程的说明。

Xcode Setup Steps

Xcode IDE界面

  1. 创建隐私清单文件

    打开Xcode,导航到 文件 > 新建 > 文件,并选择“App隐私文件”下方的资源部分。确保您的应用目标已在此过程中选择 [8].

  2. 配置必需密钥

    将以下密钥添加到您的新创建的 PrivacyInfo.xcprivacy 文件:

    密钥描述__CAPGO_KEEP_0__
    NSPrivacyTracking是否使用跟踪数据Boolean (true/false)
    NSPrivacyTrackingDomains跟踪域名列表Array of domains
    NSPrivacyCollectedDataTypes收集的数据类型Array of dictionaries
    NSPrivacyAccessedAPITypesAPI 访问细节数据结构数组
  3. 验证配置

    配置文件后,通过在 Xcode 中生成隐私报告来验证您的设置。要执行此操作,请执行以下步骤:

    • 创建一个存档,方法是前往 产品 > 构建存档.
    • 右键单击生成的存档文件。
    • 选择 生成隐私报告 [8].

使用自动化工具可以帮助减少重复任务并确保一致性。

自动化方法

Privado.ai 集成
Privado的隐私宣言生成器,于2024年6月推出,简化了流程,通过自动化code扫描和报告生成。

  • 扫描您的code和SDK依赖项。
  • 绘制数据收集实践图表。
  • 自动填充隐私报告。
  • 将响应直接链接到您的源code的相应部分。 [10].

App隐私宣言修复器
该工具于2025年4月推出,使用shell脚本:

  • 分析您的清单并自动解决合规问题。
  • 无缝与您的现有构建过程集成。
  • 支持不同项目类型的自定义模板。 [11].

为了获得一致的结果,请将这些工具包含在您的项目目录中。这确保了团队和CI/CD管道之间的顺畅清单生成。

当使用时 无线更新 通过 Capgo确保您的隐私清单反映了任何与更新功能相关的数据收集或API使用。保持透明度至关重要,以便满足App Store的要求,同时利用现代更新功能。

数据收集和API文档

在Xcode中构建您的清单文件后,下一步就是记录您的应用程序的API使用和数据收集实践。这不仅是为了满足苹果的合规要求,还要建立与用户的信任。

API使用文档

您的 隐私信息文件(PrivacyInfo.xcprivacy) 必须列出访问敏感信息的所有API。当在隐私清单中记录API使用时,包括API类别和使用它们的批准原因。

以下是需要记录的内容概要:

API类别常见用途必需文档
文件时间戳安装日期跟踪声明目的 code (例如,C617.1)
用户默认值设置持久化包含原因 code (例如,CA92.1)
磁盘空间更新验证声明 NSPrivacyAccessedAPICategoryDiskSpace 使用原因

这种详细程度确保了您的清单文件和数据收集实践之间的无缝连接。

“您负责所有code包含在您的应用程序中的内容,遵循App Store Review Guidelines。包括任何数据收集和跟踪实践。” - Tony,Apple隐私工程师 [5]

在实现即时更新时,特别注意 磁盘空间API声明。例如,Firebase Analytics版本10.24.0在2024年4月解决了ITMS-91053错误,通过解决与 NSPrivacyAccessedAPICategoryDiskSpaceNSPrivacyAccessedAPICategoryUserDefaults [12].

数据类型和类别

您的隐私清单必须清晰地列出所有收集的数据类型,并将它们分类。具体来说,您需要记录以下内容:

  • 是否数据与用户身份相关联。
  • 是否数据用于跟踪目的。
  • 如果两者都适用,请指定来自Apple预定义列表的批准用途。

For apps using third-party SDKs, ensure each SDK includes its own privacy manifest. For example, Persona SDK v2.18.0+ automatically declares the following data types:

  • 例如,Persona __CAPGO_KEEP_1__ v2.18.0+ 自动声明以下数据类型: 粗糙的位置
  • (例如,IP 地址) 设备 ID
  • (设备级别的识别) 用户 ID
  • (账户级别的识别) 诊断数据
  • (例如,错误日志) 产品交互

(例如,流事件) [13]. 这种主动的审查可以帮助避免提交延迟并确保您的应用程序与苹果的隐私标准保持一致。

第三方SDK管理

第三方 SDK 必须符合苹果隐私清单标准,以遵守法规并维护用户信任。这些标准,讨论在前面,同样重要的第三方 SDK。以下是关于管理 OTA 更新在Capacitor应用程序和确保SDK遵从性的详细信息。

Capacitor和OTA更新

使用OTA(即时)更新在Capacitor应用程序时,准确配置隐私清单至关重要。使用实时更新解决方案的应用程序需要在隐私清单中声明特定的API使用:

API类别必需声明目的
磁盘空间NSPrivacyAccessedAPICategoryDiskSpace更新包存储
用户默认值NSPrivacyAccessedAPICategoryUserDefaults更新配置
网络访问NSPrivacyAccessedAPICategoryNetworkInformation更新交付

Capgo 简化了此过程,通过将隐私清单遵从性集成到其OTA更新系统中。它自动声明所需的API和数据访问,确保您的应用程序始终符合标准,同时从实时更新中受益。

现在,让我们探索验证SDK遵从性的关键步骤。

SDK遵从性检查

在处理OTA更新声明后,必须确保所有集成的SDK都符合必要标准。由于88%的组织使用数千个云应用 [16], robust SDK compliance checks are a must.

  • 自动扫描
    使用类似 Ostorlab.co 扫描您的IPA文件 [1]这项功能可以补充Xcode隐私报告提供的信息,提供对您的应用程序隐私合规性的全面分析。

  • 版本管理
    如果一个SDK缺少隐私清单,您需要手动在应用程序的 PrivacyInfo.xcprivacy 文件 [14]中声明其数据使用。这一步确保了透明度和遵守苹果的指南。

  • 安全实施
    不恰当管理的SDK可能会导致严重后果。例如, Tilting Point Media 因未正确配置的SDK而遭遇了500,000美元的罚款,原因是CCPA和COPPA违规 [15]避免类似问题的发生:

    • 在 __CAPGO_KEEP_0__ 处理敏感数据之前 将 SDK 的权限限制在最低必要权限上
    • 在应用中限制不必要的权限,遵循最低权限访问原则
    • 持续监控 SDK 在应用中的使用情况
    • 定期审查 SDK 政策,以确保它们仍然符合要求

测试和提交流程

在提交应用之前,您需要测试您的隐私清单实现,遵循苹果的要求程序,2024 年 5 月 1 日起生效 [9].

Xcode 隐私报告

在设置好隐私清单之后,下一步就是测试其准确性。使用 Xcode 15,打包您的项目并生成 隐私报告 [8]。此报告提供了应用中声明的数据类型、 SDK 实践、 API 使用情况和跟踪域名的概览

“Xcode 15 可以聚合应用项目中的所有隐私清单,并生成一个隐私报告,概括了应用中声明的数据使用情况…… 这有助于您审查、了解和描述应用及其依赖项的隐私实践。” - Tony,苹果隐私工程师 [5]

为了进一步验证,您可以使用 Xcode 15 中的兴趣点工具检测任何跟踪域名的连接 [5].

提交要求

在查看隐私报告后,请确保以下关键组件已准备好提交:

要求描述验证方法
隐私清单文件.plist 记录数据收集的文件确认 Xcode 中文件的存在
SDK 合规隐私影响的 SDK 必须包含清单检查 SDK 文档
API 使用说明必备原因: Required Reason APIs匹配 App Store 数据的隐私报告
SDK 签名隐私影响的 SDK 必须签名验证 SDK 签名

重要步骤:

  • 将隐私清单链接到您的应用目标 [17].
  • 确认第三方 SDK 包含其隐私包 [17].
  • 准确记录和声明所有跟踪域名 [5].

“检查隐私清单是否与您对第三方 SDK 功能的理解相符。” - Tony,苹果隐私工程师 [5]

为了实践例子,取 CodeWithChris 团队。2023 年 10 月,他们成功实施了苹果的隐私要求,同时构建了他们的心情跟踪器应用。他们依赖 Xcode 的隐私报告来确保他们的应用满足苹果的新标准之前提交 [18].

更新和维护

保持您的隐私清单最新与维护应用程序代码库一样重要。随着隐私政策的演变,定期更新确保遵守并简化审批流程。 隐私政策 随着隐私政策的演变,定期更新确保遵守并简化审批流程。

政策更新跟踪

与苹果的隐私政策保持一致对于维持App Store的合规至关重要。自2024年5月1日的执行日期以来,开发者必须密切关注隐私法规和API规范的变化。

更新类型监控方法所需操作
苹果政策变化开发者门户通知审查清单合规
SDK ChangesRelease Notes reviewUpdate privacy bundles
API RequirementsXcode Release NotesVerify Required Reason APIs

例如, InMobi’s SDK 10.7.2版本包含了详细的隐私清单,这是一个第三方文档的强大例子 [4].

“开发者需要为他们的应用程序负责所有 code” - Apple [4]

版本控制

除了监控政策更新之外,系统化的版本控制对于确保长期遵守苹果不断演进的要求至关重要。这一步骤建立在早期措施之上,帮助开发者保持一致性和责任感。

  • 自动化验证
    自动检查可以提高部署成功率,实时识别合规问题。它们还可以快速回滚,如果出现问题,可以减少停机时间。

  • SDK 集成跟踪
    SDK 版本和其相关隐私清单的详细日志记录。例如,Spotify 的移动团队通过精确的 SDK 跟踪和 2024 年 8 月的针对性修复,30 天内减少了应用程序崩溃率 15% [20].

  • 变更管理
    详细记录每个变更:

    • 记录更新的原因
    • 注意受影响的 API 和数据类型
    • 维护审计记录以简化合规审查

使用自动化构建和版本管理功能的版本控制工具可以使此过程更加顺畅。例如, Appcircle的版本系统允许开发人员管理构建号和通过环境变量或 Xcode 集成跟踪版本 [20].

概要和资源

遵守苹果隐私标准需要持续关注和合适的工具。管理隐私清单不是一次性任务 - 需要准确性和定期更新。最近的发现表明许多开发者仍然未能达到合规要求 [1].

以下是一些必备工具和资源,帮助简化实施:

资源类型目的访问方式
Xcode隐私报告验证隐私清单Xcode 15+
苹果开发者门户了解政策开发者账户
WWDC 会议获取技术指导Apple Developer 应用
SDK 文档确保第三方遵从性个人 SDK 门户

这些工具简化了遵从性维护的过程,尤其是验证和文档方面。开发者还可以探索隐私清单管理的自动化解决方案。例如, Capgo Capacitor 提供了实时更新功能,允许快速更新 Capacitor 应用,同时符合 App Store 的要求。

从 2024 年春季开始,Apple 将要求应用程序解决所有隐私清单和 Required Reason API 问题,才能在 App Store 提交或更新。 [5]为了保持领先地位,开发者应该:

  • 从第三方 SDK 提供商收集隐私清单
  • 记录所有跟踪域名和Required Reason API 使用。
  • 定期使用 Xcode 的隐私报告验证清单。
  • 详细记录数据收集实践。

为了进一步指导,这些资源是不可或缺的:

  • Apple Developer 网站: 获取隐私要求和政策变化的更新 [19].
  • App Store Connect: 查看提交指南和要求 [19].
  • WWDC 视频: 观看有关隐私的技术会议 [21].

FAQs

常见问题解答

如果 iOS 应用开发者未能在 2024 年 5 月 1 日前满足 Apple 的隐私清单要求?

如果 iOS 应用开发者未能在 2024 年 5 月 1 日前满足 Apple 的隐私清单要求,可能会有严重后果 严重后果 严重后果

严重后果 严重后果严重后果

严重后果

严重后果

严重后果 严重后果 严重后果 PrivacyInfo.xcprivacy 在他们的应用程序中包含此文件或 SDK. 这个文件需要清晰地详细说明正在收集的数据类型,并解释使用特定 API 的目的。此外,开发者应该确认他们依赖的第三方 SDK 是否符合苹果的指南,需要隐私清单和签名。

从 2024 年 5 月 1 日起,提交到 App Store 的每个应用程序都必须遵守这些规则。开发者与他们的 SDK 提供商密切合作,确保数据处理的准确报告,使其更容易与应用程序的隐私清单保持一致。按照这些步骤不仅可以避免 App Store 的拒绝,还可以通过促进数据处理透明度来增强用户信任。 :::

::: faq

开发者如何为 iOS 应用程序创建和维护隐私清单,以符合苹果的政策?

开发者可以通过遵循苹果的指南并利用可用的工具来创建和管理 iOS 应用程序的隐私清单。苹果的官方文档提供了详细的说明,介绍了如何设置隐私清单的步骤。 PrivacyInfo.xcprivacy 文件,指定应用程序收集的数据以及使用的第三方 SDK。要获得逐步指导,苹果的 WWDC23 私有性清单视频是很好的资源,涵盖了如何使用 Xcode 15 或更高版本生成隐私报告和识别隐私实践的方法。

为了简化遵守相关规定,工具,如移动应用程序同意软件,可以帮助管理 SDK 和确保获得适当的用户同意。这些工具使开发者更容易与苹果的数据共享政策保持一致,同时促进了与用户的透明度。对于使用Capacitor应用的开发者,平台如Capgo提供了实时更新功能,同时保持了遵守隐私要求的合规性。 :::

Capacitor应用的实时更新

当web层bug出现时,通过Capgo将修复推送到用户,而不是等待几天的应用商店审批。用户在后台接收更新,而原生变化仍然在正常审批路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。