iOS Privacy Manifest: Complete Guide for 2026
Since May 2024, every iOS app must include a PrivacyInfo.xcprivacy file. Without it, your app submission is automatically rejected. Here is everything you need to know.
What is a Privacy Manifest?
A Privacy Manifest (PrivacyInfo.xcprivacy) is an XML file you add to your Xcode project that declares:
- Which privacy-sensitive APIs your app uses (required reason APIs)
- The reason codes justifying why you use each API
- What data types your app collects
- Whether that data is linked to the user's identity
- Whether that data is used for tracking
How to create a Privacy Manifest in Xcode
In Xcode, select your app target in the Project Navigator.
Go to File → New File → Resource → "App Privacy" to create PrivacyInfo.xcprivacy.
Add it to your app target (not a framework or extension).
Open the file in the Property List editor: it will show the privacy keys visually.
Use Xcode's Privacy Report (Product → Archive → Validate App → Generate Privacy Report) to identify all APIs that need to be declared.
Common required reason APIs and their codes
UserDefaults
CA92.1Reading/writing app preferences is allowed under the app functionality reason.
NSFileManager (file timestamp APIs)
DDA9.1Reading file metadata for displaying information to users.
System boot time
35F9.1Calculating relative time intervals within the app.
Disk space APIs
E174.1Checking available disk space before large downloads or operations.
Active keyboard APIs
3EC4.1Detecting active keyboard for layout adjustments.
NSLocale language codes
BDF9.1Displaying language-specific content to users.
Third-party SDKs and privacy manifests
Every SDK you use must also include its own PrivacyInfo.xcprivacy. If your SDK uses required reason APIs without a manifest, your app submission will be rejected even if your own manifest is correct.
Popular SDKs and their minimum versions with privacy manifests:
Firebase iOS SDK
Requires 10.18.0+
Google Analytics
Requires 7.11.0+
Crashlytics
Requires 10.18.0+
Amplitude
Requires 8.15.0+
Adjust
Requires 4.38.1+
AppsFlyerLib
Requires 6.13.0+
Test before you submit
Our App Health Check scans your IPA for missing privacy declarations and flags undeclared SDKs before you submit. Free to use, instant results.