Short answer
Find which code uses the API named in the email. If it is your own code, add a PrivacyInfo.xcprivacy file to the app target in Xcode and list the API category with an approved reason under NSPrivacyAccessedAPITypes. If it is a third-party SDK, update it to a version that ships its own privacy manifest. Then rebuild and upload.
Why it’s flagged, and the fix
01
The app has no privacy manifest for the API
“Starting May 1, 2024, apps that don’t describe their use of required reason API in their privacy manifest file aren’t accepted by App Store Connect.” Apple, Describing use of required reason API
Apple lists a set of APIs, such as user defaults, file timestamps, system boot time and disk space, that need a declared reason. Without one, the upload isn’t accepted.
02
Add PrivacyInfo.xcprivacy to the app target
“By default, the file is named PrivacyInfo.xcprivacy; this is the required file name for bundled privacy manifests.” Apple, Privacy manifest files
In Xcode, choose File > New File, pick App Privacy File, and check the app target. Add one entry per API category the email names, with the reason code that matches how your app uses it. These keys sit inside the top-level dict of PrivacyInfo.xcprivacy.
<key>NSPrivacyAccessedAPITypes</key> <array> <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategoryUserDefaults</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>CA92.1</string> </array> </dict> </array>03
An SDK uses the API
“If you use the API in your third-party SDK’s code, then you need to report the API in your third-party SDK’s privacy manifest file.” Apple, Describing use of required reason API
If the API is in a third-party SDK or plugin, the SDK’s own manifest has to declare it. Update the SDK, or the Flutter plugin or React Native package that wraps it, to a version that includes a privacy manifest.
04
The reason has to match what the app does
“Your app or third-party SDK must declare one or more approved reasons that accurately reflect your use of each of these APIs and the data derived from their use.” Apple, Describing use of required reason API
Pick the reason from Apple’s list that describes your real use. CA92.1, for example, is Apple’s reason for user defaults that only your own app reads and writes. Check Apple’s list before you copy it.
Checked against the vendor’s docs on : Apple Developer: Describing use of required reason API; Apple Developer: Privacy manifest files.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
Resubmit before Apple’s holiday slowdown
Pay for the Diagnosis and send the rejection and access to the app by (US Eastern). The Diagnosis is back by . Pay for the Fix that day and it arrives as a pull request by , in time to build and resubmit before .
In past years Apple said reviews may take longer around the holidays: December 20 to 26 in 2024 (opens in a new tab), December 22 to 27 in 2023 (opens in a new tab), December 23 to 27 in 2022 (opens in a new tab). Apple hasn’t posted its 2026 dates yet (checked ). Approval stays Apple’s decision.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
Related: ITMS-90725 SDK version issue · App Store Guideline 5.1.1 data collection · TestFlight Missing Compliance · Privacy manifests in a Flutter app, step by step