隐私政策是最无聊的提审必备资产,也是最容易踩坑的地方。这篇讲独立 App 的隐私政策真正要写什么、不用写什么。
问题背景
Apple 要求每个 App 提供隐私政策 URL。这个 URL 必须真实存在、长期可访问,且如实描述你的 App 收集什么数据。2026 年 Apple 会拿你的政策和 App Store Connect 的 App Privacy 问卷交叉比对——不一致是常见拒审原因。对独立 App 来说,隐私政策一般不必由律师起草,但必须诚实、完整。
判断标准
- 准备第一次提审。
- 收集任何用户数据——哪怕一个邮箱、哪怕只是 analytics。
- 集成了任何第三方 SDK(Firebase、Sentry、RevenueCat、OneSignal 等)。
- 在更新已上线 App 并新增了数据收集。
实操步骤
- 写正文前先建一张数据清单,一个表就够:
| 数据类型 | 来源 | 用途 | 接收方 | 保存期 |
|--------------|-----------------|-------------|------------------|-----------|
| 邮箱 | 注册表单 | 账号登录 | Supabase Auth | 删号前 |
| 设备 ID | iOS API | 崩溃上报 | Sentry | 90 天 |
| 使用事件 | 应用内 SDK | 数据分析 | Firebase / GA4 | 14 个月 |
| 购买信息 | StoreKit | 权益校验 | RevenueCat | 长期 |
| 用户内容 | 应用内输入 | 核心功能 | 你的服务器 (S3) | 删号前 |
- 用下面这个 HTML/markdown 骨架写政策——它覆盖了 App Review 实际会查的点:
<h1>隐私政策</h1>
<p><strong>最后更新:</strong>2026-05-22</p>
<h2>1. 我们收集什么</h2>
<p>账号:邮箱(你主动填)。使用:应用内事件和崩溃数据
(自动收集)。购买:交易 ID 和权益状态(经由 Apple)。</p>
<h2>2. 为什么收</h2>
<p>用于运行账号、恢复购买、修复崩溃、衡量功能使用。
不出售个人数据。</p>
<h2>3. 第三方处理者</h2>
<ul>
<li>RevenueCat — 购买记录(<a href="https://www.revenuecat.com/privacy">政策</a>)</li>
<li>Sentry — 崩溃上报(<a href="https://sentry.io/privacy/">政策</a>)</li>
<li>Firebase Analytics — 使用事件(<a href="https://firebase.google.com/support/privacy">政策</a>)</li>
</ul>
<h2>4. 你的权利</h2>
<p>发邮件到 privacy@yourapp.com 可申请导出或删除数据。
App 内也可在「设置 → 账号 → 删除账号」删号。</p>
<h2>5. 联系</h2>
<p>privacy@yourapp.com</p>
- 把数据清单的每一行映射到 App Store Connect 的 App Privacy 问卷。Apple 的类目对应大致是:
Apple 类目 -> 你的行
Contact Info / Email -> 邮箱
Identifiers / Device ID -> 设备 ID (Sentry)
Identifiers / User ID -> 内部 user_id
Usage Data / Product Interaction -> 使用事件
Purchases / Purchase History -> 购买信息
User Content / Other -> 用户内容
每个类目都要回答:“linked to user”还是”not linked”,以及是否用于 tracking。Tracking 在 Apple 那里有明确定义(跨 App / 跨站)——大多数独立 App 诚实答案就是「不」。
-
说明用户怎么申请删除数据。哪怕你的答案就是”在设置里删账号”,也要写出来——自从”应用内必须能删账号”的硬性要求后,审核员会专门看这块。
-
在政策里写明「最后更新日期」和联系邮箱。邮箱必须真有人看——Apple 的审核员真的会发邮件。
-
挂在你自己域名的稳定 URL(比如
yourapp.com/privacy)。别用 Notion 公开页、Google Docs、免费二级域名——这种 URL 会被标记为不稳定。站点在 Vercel / Netlify 上,一个静态页就够。 -
政策 ↔ App Privacy 问卷 ↔ 代码实际行为三方对齐。在源码里 grep 一遍能扒出被你忘掉的 SDK:
grep -RIn --include='*.swift' -E 'Firebase|Sentry|RevenueCat|OneSignal|Mixpanel|Amplitude|Branch' .
grep 出来的、政策里没写的,提审前都得补上。
- 政策纳入版本管理。每次更新改日期、提交 git;旧版本保留在
/privacy/2025-12-01或 git history 里,方便任何人审计变更。
容易踩的坑
- 直接套通用模板不删不适用的部分。审核员和精明用户都看得出来。
- 漏了某个第三方 SDK。Firebase Analytics 不管你”用不用数据”都算。
- 政策挂在和 App 营销站不同的域名。允许但容易让人困惑。
- 把政策当成静态文件。每加一个 SDK 或大功能都得更新。
- 政策和 App Privacy 问卷对不上。审核员主动查这个。
- 用极度法律化语言让用户读不出你到底收什么。Apple 明确要求用平实语言。
这篇适合谁
第一次提 iOS App 的独立开发者,或者加了新 SDK / 新功能后要更新政策的。
这篇不适合谁
完全不收任何数据的 App(2026 年极少)——但你仍然要写一份说明这一点的政策。
FAQ
- 能用生成器生成的隐私政策吗: 作为起点可以,但必须改成符合你真实数据流的版本。生成器经常列你根本不收的数据类型,反而是问题。
- 独立 App 要不要找律师: App Store 隐私政策本身一般不用,特别是没欧盟用户的话。有欧盟用户的话,GDPR 合规建议律师过一遍。
- 上线后加了新 SDK 怎么办: 同时更新政策和 App Store Connect 的 App Privacy 问卷。改 App Privacy 不需要重新提审 App,但政策 URL 必须反映变化。
- 政策要做多语言吗: 不强制。英文就够。非英语市场翻译是加分项,不是要求。
相关阅读
- 独立开发者上线 App 前要准备什么
- App Store 审核常见问题
- IAP / RevenueCat 入门
- App Store 4.3(b) 是什么
- App Store 截图设计转化模式(2026)
- 独立 App 内购定价:买断 vs 订阅、价格梯度怎么定
标签: #独立开发 #App Store #隐私政策 #App 审核