0.5.0: mobile apps and games positioning (README, site, og image, skills, CLI, MCP, adapters), MCP tools for subscriptions and catalog diff, tests, changelog
This commit is contained in:
parent
205f65828f
commit
c48eead0e0
51 changed files with 960 additions and 318 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: privacy-manifest
|
||||
description: Add and check Apple privacy manifests (PrivacyInfo.xcprivacy) for an iOS game - required-reason API categories (UserDefaults, file timestamps, system boot time, disk space, active keyboards) with approved reason codes, tracking flag and domains, collected data types, and third-party SDK manifests (ad networks, analytics, Firebase, Unity, Capacitor plugins). Use when App Store Connect sends ITMS-91053 "Missing API declaration" or ITMS-91061 "Missing privacy manifest", or before submitting an iOS build.
|
||||
description: Add and check Apple privacy manifests (PrivacyInfo.xcprivacy) for an iOS app or game - required-reason API categories (UserDefaults, file timestamps, system boot time, disk space, active keyboards) with approved reason codes, tracking flag and domains, collected data types, and third-party SDK manifests (ad networks, analytics, Firebase, Unity, Capacitor plugins). Use when App Store Connect sends ITMS-91053 "Missing API declaration" or ITMS-91061 "Missing privacy manifest", or before submitting an iOS build.
|
||||
---
|
||||
|
||||
# Privacy manifest (iOS)
|
||||
|
|
@ -18,20 +18,20 @@ the iOS folder: add `--sdk-dirs node_modules/@capacitor,node_modules/<plugin>`.
|
|||
## Steps
|
||||
1. Xcode > File > New > File > App Privacy (PrivacyInfo.xcprivacy), target = the app.
|
||||
2. Run the scan. For each used category add `NSPrivacyAccessedAPITypes` > item with `NSPrivacyAccessedAPIType` and
|
||||
`NSPrivacyAccessedAPITypeReasons`. Typical for games:
|
||||
`NSPrivacyAccessedAPITypeReasons`. Typical for apps and games:
|
||||
- `NSPrivacyAccessedAPICategoryUserDefaults` + `CA92.1` (settings / saves read and written by the app itself;
|
||||
Capacitor Preferences and most engines use UserDefaults)
|
||||
- `NSPrivacyAccessedAPICategoryFileTimestamp` + `C617.1` (timestamps of files in the app container)
|
||||
- `NSPrivacyAccessedAPICategorySystemBootTime` + `35F9.1` (elapsed time between events)
|
||||
- `NSPrivacyAccessedAPICategoryDiskSpace` + `E174.1` (check space before writing)
|
||||
Pick the reason that is true; read Apple's reason list ("Describing use of required reason API") if unsure.
|
||||
3. Tracking: `NSPrivacyTracking` true only if the game tracks (ad SDK with IDFA after ATT); then list
|
||||
3. Tracking: `NSPrivacyTracking` true only if the app tracks (ad SDK with IDFA after ATT); then list
|
||||
`NSPrivacyTrackingDomains` the SDK docs name. Keep it consistent with App Privacy "used for tracking" and the ATT
|
||||
prompt (`store-declarations`).
|
||||
4. `NSPrivacyCollectedDataTypes`: what the app itself collects; SDK manifests cover their own collection. Xcode's
|
||||
Privacy Report (Product > Archive > Generate Privacy Report) merges all manifests; compare it with App Privacy.
|
||||
5. SDKs flagged "ships no PrivacyInfo.xcprivacy": update to a version that has one (ad networks and mediation
|
||||
adapters added manifests in 2024 releases; see `ads-levelplay-checks` for adapter / SDK version pairs).
|
||||
adapters added manifests in 2024 releases; see `ads-mediation-checks` for adapter / SDK version pairs).
|
||||
6. Re-run the scan, archive, upload; Apple's email lists any remaining ITMS-910xx issue per framework.
|
||||
|
||||
## Gotchas
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue