storebound/templates/app-privacy.md

51 lines
3.5 KiB
Markdown

# Example Game · App Store "App Privacy" answers
App Store Connect > your app > App Privacy. **Web UI only, there is no API.** Fill it from this table, then press
**Publish** at the top of the App Privacy page (saving alone does not publish it, and review checks the published one).
Keep it consistent with the privacy policy and the Play Data safety answers (`dataSafety` in `storebound.config.ts`).
Typical free-to-play game: analytics SDK + ad mediation (with ATT) + optional server backup, no accounts.
**Do you or your third-party partners collect data from this app?** Yes
**Tracking**: Yes, if any ad network uses the IDFA after the App Tracking Transparency prompt (third-party advertising).
Then `NSUserTrackingUsageDescription` must be in Info.plist and the prompt must come before the ad SDK starts.
| data type | collected | used to track | linked to the user | purposes |
|---|---|---|---|---|
| Identifiers > Device ID (IDFA, analytics random id) | yes | yes (IDFA, with ATT consent) | no | Third-Party Advertising, Analytics, App Functionality |
| Location > Coarse Location (country from IP) | yes | yes | no | Third-Party Advertising, Analytics |
| Usage Data > Advertising Data (ads shown, ad taps) | yes | yes | no | Third-Party Advertising, Analytics |
| Usage Data > Product Interaction (sessions, level events) | yes | no | no | Analytics |
| User Content > Gameplay Content (save backup, scores) | only with a server backup | no | no | App Functionality |
| Diagnostics > Other Diagnostic Data (device model, OS version) | yes | no | no | Analytics, Third-Party Advertising |
| Purchases > Purchase History | only if your server stores receipts | no | yes if tied to an account | App Functionality |
"Linked to you" is **No** when there are no accounts and nothing is tied to a name, email or phone number.
Not collected (typical): Contact Info, Health and Fitness, Financial Info, Precise Location, Sensitive Info, Contacts,
Emails or Text Messages, Photos or Videos, Audio, Browsing History, Search History, Crash Data (unless you ship a crash
reporter).
Purposes follow Apple's definitions (https://developer.apple.com/app-store/app-privacy-details/): ads shown by an ad
SDK are **Third-Party Advertising** only. **Developer's Advertising or Marketing** is your own ads or marketing to your
users; tick it only when that is true.
Put the answers into `storebound.config.ts` so `storebound console fill apple-app-privacy` fills them and
`storebound check` compares them with Info.plist and PrivacyInfo.xcprivacy (all type ids: storebound's
cli/lib/app-privacy.ts):
```ts
appPrivacy: { tracking: true, types: {
DEVICE_ID: { collected: true, linked: false, tracking: true, purposes: ['THIRD_PARTY_ADVERTISING', 'ANALYTICS', 'APP_FUNCTIONALITY'] },
COARSE_LOCATION: { collected: true, linked: false, tracking: true, purposes: ['THIRD_PARTY_ADVERTISING', 'ANALYTICS'] },
ADVERTISING_DATA: { collected: true, linked: false, tracking: true, purposes: ['THIRD_PARTY_ADVERTISING', 'ANALYTICS'] },
PRODUCT_INTERACTION: { collected: true, linked: false, tracking: false, purposes: ['ANALYTICS'] },
GAMEPLAY_CONTENT: { collected: false },
} },
```
Per data type the UI asks, in order: purposes (checkboxes) > "Is this data linked to the user's identity?" >
"Do you or your third-party partners use this data for tracking purposes?".
Privacy policy URL: App Information > Privacy Policy URL (set by `storebound apple listing`). Privacy choices URL:
optional, leave empty unless you have a page for it.