5.1.2 被拒:第三方 AI、ATT 与数据共享
作者:Mehdi Azizi
发布于 ,9分钟
5.1.2(i):说清哪些数据发给哪个第三方(含 AI),发送前先征得同意,追踪必须走 ATT。附我的 Clic 被拒经历。
Guideline 5.1.2 是 Apple 关于个人数据使用与共享的规则。其中第 (i) 款可以归结为三条要求:说明哪些数据会被发出去,点名接收数据的第三方(第三方 AI 也算),并在发送之前取得用户的明确同意。 如果是广告追踪,这份同意必须通过 App Tracking Transparency(ATT)请求来获取。
我在 Clic 上吃过这个拒审。Clic 是我做的一款 App,用 AI 把一个产品变成一组幻灯片。这篇指南讲第三方 AI、ATT 和隐私标签。隐私政策和权限请求属于 guideline 5.1.1 的范围。
Guideline 5.1.2 说了什么?
5.1.2「Data Use and Sharing」紧跟在 App Review Guidelines 「Privacy」部分的 5.1.1 之后。大部分拒审都集中在第 (i) 款。现行版本于 2026 年 6 月 8 日更新,其中写道:
- “You must clearly disclose where personal data will be shared with third parties, including with third-party AI, and obtain explicit permission before doing so.”
- “You must receive explicit permission from users via the App Tracking Transparency APIs to track their activity.”
- App 不能要求用户开启某项系统功能(比如通知、定位或追踪),才让他使用某个功能、内容或奖励。
翻成大白话:没说清楚、没拿到同意,就什么都不能共享。 规则还写明,未经同意共享数据的 App 可能会被下架,开发者也可能被移出开发者计划。
其他几款针对的是更具体的情况:
| 条款 | 禁止的行为 |
|---|---|
| 5.1.2(ii) | 未经再次同意,把数据挪作他用 |
| 5.1.2(iii) | 暗中建立用户画像,或去匿名化 |
| 5.1.2(iv) | 建立联系人数据库,或列出已安装的 App |
| 5.1.2(v) | 未经用户发起,就从通讯录里联系别人 |
| 5.1.2(vi) | 把健康、家居或面部数据用于营销 |
| 5.1.2(vii) | 在交付服务之外共享 Apple Pay 数据 |
第三方 AI 方面的变化
2025 年 11 月 13 日,Apple 在一次规则更新中细化了 5.1.2(i):必须清楚说明个人数据会在哪些地方与第三方共享,“including with third-party AI”,并且事先取得明确许可。2026 年 6 月 8 日的版本保留了这句话。
2026 年 2 月发在 Apple 论坛上的一条拒审消息把要求讲得很细。该 App “does not clearly explain what data is sent, identify who the data is sent to, and ask the user's permission before sharing the data”。同一条消息还要求隐私政策也要写明与第三方 AI 的这种共享。
经过你自己的服务器也一样:如果你的服务器把照片转给 OpenAI,那照片就是到了 OpenAI 手里。Expo App 里的 API 密钥那篇指南里的架构保护的是你的密钥,不是用户。同意照样少不了。
我的 Clic 拒审:界面有了,政策没跟上
2026 年 9 月 16 日,Apple 拒了 Clic,引用的是 5.1.1(i) 和 5.1.2(i)。其实 App 里已经有 AI 同意界面,审核员也点过了:拒审之前,他的匿名账号和生成记录都已经出现在数据库里。缺的是线上的东西:发布在线上的还是旧版隐私政策,只提了一次 OpenAI。
修复方法,不用新 build:隐私政策写明 OpenAI、位于美国,并按模式列出发给它的内容。另外补上用户接入自己的 API 密钥时可能用到的服务商,承诺每个服务商对数据的保护至少达到政策的水平,再加一段给审核员看的英文摘要。同一个提交在 2026 年 9 月 21 日重新送审,审核备注也更新了。
Clic 的同意界面,原文照搬
下面是第一次生成之前显示的内容。可以当模板用:把服务商和清单换成你自己的。
- 上方小标题,大写:“第一次生成之前”。
- 标题:“Clic 使用 OpenAI 的 AI 为你制作幻灯片”。
- 正文:“为了分析你的产品并生成图片,Clic 会把以下内容发送给它的 AI 服务商 OpenAI:”。
- 清单:“你对需求问卷的回答和你添加的链接”;“你导入的照片,包括头像和参考图”;“生成的图片,保存在 Clic 服务器上供你的项目使用”。
- 一条说明:“如果使用你自己的 API 密钥,这些内容会发送给你接入的服务商。”
- 一个指向隐私政策的链接。
- 两个按钮:“同意并继续”和“拒绝”。
如果用户拒绝,App 会显示“没有发送任何内容”,下次尝试时界面会再次出现。要撤回同意,用户可以在设置里删除自己的数据,这是 5.1.1(ii) 的要求:之后任何新的发送之前,界面都会再次出现。
别把这个界面和系统权限请求之前的那个界面搞混。 根据 Apple 的设计规范,在请求相机权限之前,Apple 只要一个按钮「Continue」,点了就弹出 iOS 的请求。AI 同意背后没有系统请求,收集同意的就是你这个界面:所以它需要一个真正的选择,同意或拒绝。
最后一个坑:审核员得能看到这个界面。根据一位开发者的论坛帖子,他被拒了好几次,因为同意界面依赖一个没设对的开关:“We were not presented with the consent prompt on launch or anywhere else in the app.” 在全新安装上测试,并在审核备注里说明界面什么时候出现。
ATT:什么时候必须请求追踪
对 Apple 来说,追踪指的是把你 App 的数据和来自其他公司的 App、网站或线下场景的数据关联起来,用于定向广告或广告效果衡量。和数据经纪商共享数据也算。定义在 User Privacy and Data Use 页面上。
只要你的 App,或者你放进去的某个 SDK 这么做了:
- App Tracking Transparency 框架的请求必须在任何用于追踪的收集之前弹出;
NSUserTrackingUsageDescription键要说明原因,缺了它 build 可能会被打回,我在 ITMS-90683 那篇指南里讲过;- 没有同意,广告标识符就是全零,你也不能用其他办法追踪用户:Apple 禁止通过设备数据推导出用户身份;
- 你内置的 SDK 由你负责:“Developers are responsible for all code included in their apps.”
你不能把追踪当作解锁某个功能或奖励的条件:5.1.2(i) 明令禁止。Apple 的 ATT 常见问题对这个问题的回答就是“No”,引用的也是这条规则。不过你可以在弹出请求之前解释为什么要请求追踪,前提是保持透明。
典型的拒审情况:App 收集了追踪数据,却从来没弹过 ATT 请求。在一条公开的拒审消息里,Apple 给了两条出路。要么在 App Store Connect 里声明追踪,并在任何收集之前加上 ATT 请求,同时在审核备注里说明它在哪里出现;要么去掉追踪。
在欧盟,Apple 宣布从 iOS 27.2 起推出另一个版本的请求。在法国、德国、意大利、波兰和罗马尼亚,将只提供这个版本。必须取得同意的情形不变。
App Store Connect 里的隐私标签
App Privacy 部分决定了你商品页上的标签:收集了哪些数据、哪些与用户关联、哪些用于追踪。规则在 App Privacy Details 页面上。对带 AI 的 App 来说,有三点很重要:
- 合作方收集的数据你也要声明:分析 SDK、广告平台,以及代码在你 App 里的外部服务商。
- “收集”有明确含义:把数据发出设备,并且保存时间超过响应请求所需的时间。你服务器保存的图片就算收集。拿不准 AI 服务商会保留什么,就声明。
- 随时可以改:“you do not need to submit an app update in order to change your answers”。所以只涉及标签的拒审,不用新 build 就能解决。
哪个第三方,要什么同意
这是我在自己的 App 上用的表格。它不能代替 Apple 的原文,也不能代替 GDPR。
| 接收数据的第三方 | 需要的同意 | 在哪里声明 |
|---|---|---|
| 第三方 AI:OpenAI、Gemini、Claude | 你的同意界面,在第一次发送之前 | 隐私政策、标签、审核备注 |
| 分析和诊断,不涉及广告 | 收集同意,5.1.1(ii),以及 GDPR | 隐私政策和标签 |
| 与其他 App 关联的广告平台或归因服务 | 任何追踪收集之前的 ATT 请求 | 「追踪」标签、ATT 文案、隐私政策 |
| 数据经纪商 | ATT 请求 | 「追踪」标签和隐私政策 |
填表时从代码出发,别凭记忆:列出 App 和服务器的每一个网络请求,写明发送的数据、接收方和用途。隐私政策本身怎么写,方法在应用隐私政策那篇里。
5.1.2 被拒后怎么回复 Apple
分两种情况。如果问题在线上,也就是隐私政策或标签,你改好、回复,同一个提交不用新 build 就能重新送审:我在 Clic 上就是这么做的。如果问题在 App 里,比如没有同意界面,或者在同意之前就发送了数据,那就需要新 build。
如果你的 App 根本没把任何东西发给第三方 AI,Apple 的消息也考虑到了这种情况:回复确认这一点,并把这条信息加到 App Store Connect 的 App Review Information 部分。
否则,就用英文回复 App Review 的消息。下面是可以改着用的模板,这里以 Clic 这样的 App 为例:
Hello,
Thank you for your review.
The app sends the user's brief, imported photos and
generated images to OpenAI, a third-party AI service,
to create slides.
- Before the first AI request, a dedicated screen names
OpenAI, lists the data sent and asks for explicit
consent. Nothing is sent if the user declines.
- The privacy policy describes this sharing, with an
English summary: [URL]
- The App Privacy information in App Store Connect matches.
How to verify: install the app and start a first
generation. The consent screen appears before any data
is sent.
Best regards,
提交前的 5.1.2 检查清单
- 每个接收个人数据的第三方都写明了名字,包括 AI。
- 同意界面在第一次发送之前出现,写明服务商并列出数据。
- 拒绝就什么都不发送,而且 App 会告诉用户。
- 用户可以在 App 里撤回同意。
- 同意界面在全新安装上会出现,审核备注里写明了位置。
- 线上的隐私政策和标签描述的是同样的发送,包括合作方。
- 如果 App 或某个 SDK 会追踪用户,ATT 请求在任何追踪收集之前弹出。
- 没有任何功能或奖励依赖于追踪或通知。
送审前检查你的材料
Apple Review Kit 收录了我的送审前检查清单、我改过的拒审案例,以及两个 Claude Code skill:它们会检查你的项目和商品页,并在 Apple 拒审时帮你准备回复。如果想要真人帮你看,跟我预约一小时:我们一起对照你的 App、隐私政策和标签。完整流程在应用被 Apple 拒审页面上,其他常见原因见Apple 为什么拒你的 App。
如果你正在准备第一次上架,做一下免费诊断:它会帮你理清步骤顺序,并把我的 Apple 防拒审检查清单发给你。首页介绍了如何用 AI 创建移动应用,也不会漏掉审核要检查的内容。
没人能保证 Apple 一定会通过你的 App。我能做的,是帮你避开一次 5.1.2 拒审,这个坑我已经用一轮审核的代价踩过了。
常见问题
“Guideline 5.1.2(i) - Legal - Privacy - Data Use and Sharing”是什么意思?
这是 Apple 消息里这条规则的完整标题。它表示你在共享个人数据时没有清楚告知或没有取得同意:对象可能是第三方 AI、广告 SDK 或其他服务。它经常和 5.1.1(i) 一起出现,后者针对的是隐私政策。
在 App 里用 OpenAI 的 API 需要征得同意吗?
需要,只要有个人数据发给 OpenAI:用户写的内容、照片、语音、文档。自 2025 年 11 月起,规则已经明确点名第三方 AI。写明服务商、说清发送的内容,并在第一次发送之前取得明确同意,即使请求经过你的服务器也一样。
在 iPhone 本地运行的 AI 需要声明吗?
如果没有任何东西离开设备,就不存在与第三方的共享,所以在我看来不需要按 5.1.2(i) 征得同意。Apple 没有白纸黑字写明这一点。只要有一部分处理发给了服务商,就按第三方 AI 的规则来。
可以强制用户同意追踪才能解锁某个功能吗?
不行。5.1.2(i) 禁止要求用户开启追踪、通知或定位才能使用某个功能、内容或奖励。ATT 请求必须是真正的选择,App 也必须尊重用户的拒绝。
5.1.2 被拒后需要新 build 吗?
不一定。隐私政策不完整或标签填错,可以在线上改,同一个提交重新送审。没有同意界面,或者界面放在发送之后,就需要新 build。
5.1.1 和 5.1.2 有什么区别?
5.1.1 管的是收集和存储:隐私政策、权限、账号。5.1.2 管的是你之后怎么处理这些数据:与第三方共享(包括 AI)、广告追踪、挪作他用。同一次拒审经常两条都引用。