ITMS-91053: Missing API declaration — Your app's code references required reason APIs (privacy manifest)
The app (or an SDK in it) uses “required reason” APIs like UserDefaults, file timestamps or disk space without declaring reasons in a PrivacyInfo.xcprivacy file.
Seen on:
iOS
Meaning
Since 2024 Apple requires privacy manifests listing NSPrivacyAccessedAPITypes with approved reasons. Third-party SDKs must ship their own manifests — update them.
Common causes
- App’s own PrivacyInfo.xcprivacy missing or incomplete
- Old third-party SDK without a privacy manifest
- Static library code not covered by any manifest
⚡ Quick fix
- Add PrivacyInfo.xcprivacy with the API categories and reasons listed in the email
- Update SDKs to versions with privacy manifests
- Generate a privacy report from the archive to check
Detailed fix by platform
XML
- swift
<key>NSPrivacyAccessedAPITypes</key> <array><dict> <key>NSPrivacyAccessedAPIType</key><string>NSPrivacyAccessedAPICategoryUserDefaults</string> <key>NSPrivacyAccessedAPITypeReasons</key><array><string>CA92.1</string></array> </dict></array>
How to diagnose
- Email — Which API categories are listed?
- SDKs — Versions with manifests?
- Report — Organizer → Generate Privacy Report
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- attempted to access privacy-sensitive data without a usage description This app has crashed because it attempted to access privacy-sensitive data without a usage description
- ITMS-90206 ITMS-90206: Invalid Bundle. The bundle at 'App.appex' contains disallowed file 'Frameworks'
- ITMS-90683 ITMS-90683: Missing purpose string in Info.plist (NSCameraUsageDescription etc.)
Most viewed in iOS
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026