App Privacy 怎麼填:SDK 收集的資料要申報什麼
作者:Mehdi Azizi
發布於 ,9 分鐘
App Privacy 要申報 App 和 SDK 收集的資料、用途、是否連結到使用者,以及是否用於追蹤。送審版本前必須先發布。
App Privacy 是 App Store Connect 裡產生 App 頁面隱私權標籤的區塊。你要在這裡申報你的 App 和你整合進去的 SDK 收集的每一種資料:用途是什麼、是否連結到使用者、是否用於追蹤。只要你的答案還沒發布,App Store Connect 就不讓你把版本加入送審。
答案隨時都能修改,不需要新的 build。最難的是搞清楚 RevenueCat、Sentry、PostHog、Supabase、AppsFlyer、Meta 或 Expo 通知要申報什麼。下面的表格整理自各 SDK 的文件和它們內建的 manifest,我在 2026 年 10 月 15 日重新看過一遍。
我自己用 Expo 和這些 SDK 發布 iOS App。這篇指南說明 Apple 的要求,以及我實際怎麼做。它不能取代法律意見。
App Privacy、隱私權政策和 manifest:三件不同的事
- 隱私權政策是一個網頁,你要提供它的網址。寫法請看iOS App 的隱私權政策。
- 隱私權 manifest 是打包進 build 的
PrivacyInfo.xcprivacy檔案。詳細內容在ITMS-91053 指南。 - App Privacy 是 App Store Connect 的問卷。它會在你的 App 頁面上分成三個區塊顯示:用來追蹤你的資料、與你相關的資料、與你無關的資料。
這三者講的內容必須一致。 Apple 的 App Privacy Details 頁面說明,送審 App 和更新都必須提供這些資訊,而且也涵蓋你的第三方合作夥伴:分析工具、廣告聯播網、SDK,以及你加入其程式碼的供應商。
一步步填寫 App Privacy
App Store Connect 說明文件詳細列出了下面的步驟。
要填這份問卷,你的角色必須是 Account Holder、Admin 或 App Manager。
- 在 Apps 裡打開你的 App,然後點側邊欄的 App Privacy。
- 點 Get Started。
- 回答第一個問題:你或你的合作夥伴有沒有收集資料?如果沒有,選「No, we do not collect data from this app」然後儲存,就完成了。
- 如果有,勾選所有被收集的資料類型,不論是你的程式碼還是 SDK 收集的。
- 每一種類型都要回答三個問題:用途、是否連結到使用者、是否用於追蹤。
- 檢查頁面預覽(Product Page Preview),點 Publish 並確認。
如果你的 App 已經上架,Apple 要求答案描述的是目前上架版本的資料。
先發布,再送審。 2026 年 9 月,我在 Piaf 上把版本加入送審時失敗了,出現這個訊息:「You must have published answers to your app's data usages.」我找不到用 App Store Connect 公開 API 填這份表單的方法,所以我都在網頁介面上填,而且最先做。
每種資料都要回答的三個問題
「收集」是什麼意思
對 Apple 來說,收集就是把資料傳到裝置外,而且能存取它的時間超過回應請求所需的時間。所以:
- 只在 iPhone 上處理的資料不算收集;
- 傳出去後立刻丟棄的 token 或 IP 位址也不算;
- 只為了 App 運作而收集的資料仍然要申報,並勾選這個用途。
用途
Apple 提供六種用途:第三方廣告、開發者的廣告或行銷、分析、產品個人化、App 功能,以及其他用途。同一種資料可以勾選多個:用於登入和 App 個人化的電子郵件,就要勾 App 功能和產品個人化。
連結到使用者
如果資料透過帳號、裝置或其他方式和使用者身分綁在一起,就算是有連結。Apple 指出這種情況很常見,除非你在收集前就把它匿名化,而且之後從不嘗試重新連結。只要你把帳號 ID 傳給 SDK(identify、setUser、logIn),那個 SDK 的資料就變成有連結。
追蹤
追蹤就是把你 App 的資料和其他公司的 App 或網站的資料連結起來,用於目標式廣告或廣告成效評估。把資料分享給資料仲介也算。如果 SDK 為了廣告把你的資料和其他 App 的資料交叉比對,就算是追蹤,即使你自己沒有這樣用。
追蹤答「是」會帶來兩個後果:在任何追蹤前都要先跳出 App Tracking Transparency 請求,說明在guideline 5.1.2;以及 manifest 必須申報追蹤和對應的網域,少了這些網域,你會收到ITMS-91064 錯誤。
Expo App 的 SDK 要申報什麼
這張表以各 SDK 的預設設定為準。只要你傳給它們更多東西,例如電子郵件、帳號 ID 或自訂事件,就要申報更多。
| SDK | 要申報的資料 | 追蹤 | 來源 |
|---|---|---|---|
| RevenueCat | 購買記錄 | 否 | RevenueCat 文件 |
| Sentry | 當機、效能 | 否 | 文件和 manifest |
| PostHog | App 互動 | 否 | PostHog iOS manifest |
| Supabase Auth | 電子郵件、使用者 ID | 否 | 找不到文件 |
| AppsFlyer | 裝置 ID、互動 | 是,裝置 ID | AppsFlyer manifest |
| Meta SDK | 裝置 ID、當機 | 是,裝置 ID | Meta 文件和 manifest |
| Expo Notifications | 裝置 ID(推播 token) | 否 | 找不到文件 |
RevenueCat
它的 App Privacy 文件要求申報購買記錄,並勾選所有 RevenueCat 使用者都必須勾的兩個用途:分析和 App 功能。是否連結:如果你的 ID 是匿名的就選否,如果你的 RevenueCat 使用者 ID 能對應到電子郵件就選是。如果你傳的是自己的 ID,要加上使用者 ID;如果你把電子郵件當屬性傳送,要加上聯絡資訊。SDK 的 manifest 只列出 App 功能:請以內容更完整的文件為準。串接方式請看用 RevenueCat 做 App 內訂閱。
Sentry
它的行動裝置隱私頁面寫得很清楚:Sentry 是要申報的合作夥伴,標準用途是分析和 App 功能,它不做追蹤,也不需要廣告識別碼。它的 manifest 申報了當機資料、效能資料和其他診斷資料,皆為不連結。如果你用 Sentry.setUser 把帳號 ID 附加到報告上,這些資料就變成有連結。
PostHog
我找不到 PostHog 公開的 App Privacy 建議。它的 iOS SDK manifest 申報了 App 互動和其他使用資料,不連結、不追蹤,用於分析。React Native 的部分,它的文件指出預設會擷取 App 生命週期,使用 React Navigation 6 或更舊版本時也會擷取瀏覽過的畫面;identify 會把過去的事件連結到使用者;而且除非使用 disableGeoip,否則會加上由 IP 推算的位置。我的看法是,如果你保留這個位置資訊,就申報大略位置。
Supabase Auth
據我所知,Supabase 沒有公開 App Privacy 建議。依照 Apple 的定義,用電子郵件登入就要申報電子郵件地址和使用者 ID,用途為 App 功能,有連結。它的稽核日誌也會記錄每次登入的 IP 位址:Apple 要求依你的使用方式申報保留下來的 IP。另外,你存在資料表裡的所有東西都算:內容、照片、歷史記錄。
AppsFlyer 和 Meta
兩者的 manifest 都把裝置 ID 申報為用於追蹤,用途是第三方廣告。AppsFlyer 的 manifest 另外加上 App 互動,用於分析。Meta 的則加上當機資料和其他資料。Meta 的 iOS 文件指出,它的 manifest 只涵蓋預設的收集行為:額外的資料要由你自己申報。
2026 年 7 月,我在 TradaZen 串接 AppsFlyer 時,加入了裝置 ID,用途為第三方廣告和分析,用於追蹤。App 頁面上就出現了「用來追蹤你的資料」區塊。而第一個含 AppsFlyer 的 build 在處理階段就被拒絕了:App 的 manifest 申報了追蹤,卻沒列出網域。
Expo Notifications
我找不到 Expo 公開的建議,而且 expo-notifications 的 manifest 沒有申報任何收集的資料。但你存在伺服器上的推播 token 會為你的 App 識別裝置。我保守的解讀是:裝置 ID,用途為 App 功能,如果你把它和帳號存在一起就是有連結,不追蹤。這不是 Apple 明文規定的。
我的做法:用一份清單讓一切保持一致
我會先重讀已發布的隱私權政策,再動問卷。TradaZen 的政策列出了登入用的電子郵件、訂閱、通知 token、使用統計、錯誤報告,以及需經同意的廣告歸因。
政策裡的每一行都對應到 App Privacy 裡的一種類型。每當我加入會傳送資料的 SDK 或功能,我都會在同一天修改隱私權政策、App Privacy 和 manifest。
要檢查的話,用上面提到的 ITMS-91053 指南裡的指令列出打包進去的 manifest。如果你有 Mac 和 Xcode,隱私權報告會把它們彙整起來:在 Organizer 裡依序選 Product、Archive、Generate Privacy Report。Apple 把它定位成填寫 App Store Connect 的輔助工具。
不用新 build 就能更新 App Privacy
Apple 寫得很清楚:你隨時可以修改答案,不需要更新 App。不過根據 App Store Connect 說明文件,隱私權政策的網址只能隨下一個版本一起修改。
當你加入 SDK、把帳號 ID 傳給既有的工具,或某個功能開始傳送新類型的資料時,就要更新 App Privacy。只和這些申報有關的退件可以直接在線上修正,就像guideline 5.1.1 的情況。
在 Apple 之前先檢查你的資料
Review Kit 收錄了我的送審前檢查清單、我修正過的退件案例,以及兩個 Claude Code skill:它們會檢查你的專案和 App 頁面,並在 Apple 退件時幫你準備回覆。
想知道還有什麼會卡住嗎?免費診斷會寄給你我的防退件檢查清單。完整的上架流程,請看在 App Store 發布 App。
常見問題
App Store Connect 裡的 App Privacy 是什麼?
它是產生 App Store 頁面隱私權標籤的問卷:內容包括你的 App 和 SDK 收集的資料、用途、是否連結到使用者,以及是否用於追蹤。送審 App 和更新都必須填寫。
修改 App Privacy 需要新的 build 嗎?
不用。Apple 表示你隨時可以修改答案,不需要更新 App:改完之後點 Publish 就好。只有隱私權政策的網址要等到下一個版本。
RevenueCat 在 App Privacy 裡要申報什麼?
根據 RevenueCat 的文件,要申報購買記錄,用途為分析和 App 功能。如果你傳的是自己的 ID,要加上使用者 ID;如果你把電子郵件當屬性傳送,要加上聯絡資訊。
Sentry 和 PostHog 算是 Apple 定義的追蹤嗎?
在預設設定下不算。Sentry 表示它不會用你的資料追蹤使用者,PostHog 的 iOS manifest 也沒有申報任何追蹤。不過只要你把帳號 ID 傳給它們,它們的資料就會變成有連結。
為什麼我沒辦法把版本加入送審?
通常是因為 App Privacy 還沒發布。這時 App Store Connect 會顯示「You must have published answers to your app's data usages」。先發布你的答案,再加入版本。

