App Store Connect error guide

Fix ITMS-91053: Missing API Declaration

ITMS-91053 means App Store Connect found a Required Reason API category in an app executable or SDK but did not find a matching approved reason in that bundle’s privacy manifest.

Check your rejection locally

What the error means

The fastest path is to identify the named API category and determine whether the call comes from your app code or a bundled SDK. Ownership decides which PrivacyInfo.xcprivacy file must change.

Common causes

The main app uses UserDefaults, file timestamps, disk space, system boot time, or active keyboard APIs without a declaration.
A third-party framework uses a covered API but ships an incomplete or outdated privacy manifest.
The category is present, but the reason code is empty, misspelled, or approved for a different category.

How to fix it

  1. 1Paste the entire App Store Connect email into the checker and note every detected NSPrivacyAccessedAPICategory value.
  2. 2Use the binary or framework name and path in the email to identify the responsible bundle.
  3. 3For app code, choose only a reason that matches observable behavior. For SDK code, upgrade the SDK or contact its vendor.
  4. 4Validate the final archive again. A valid plist alone does not prove that the declared reason matches the implementation.

Apple documentation

FAQ

Frequently asked questions

What is ITMS-91053?

It is an App Store Connect upload error indicating that a covered API category was found without a valid approved-reason declaration in the relevant bundle.

Which APIs require reasons?

Apple currently groups covered APIs into file timestamps, system boot time, disk space, active keyboards, and user defaults. Apple can update this list.

Can I choose any valid reason code to pass validation?

No. The reason must accurately describe how the app or SDK uses the API and must be permitted for that category.

Where should an SDK reason be declared?

In the privacy manifest belonging to the SDK bundle that uses the API, not as a substitute declaration in the main app manifest.

Check the actual email and manifest

Get evidence, source classification, fix steps, and a locally generated correction draft. No login and no file upload.

Open the free checker