Free iOS developer tool

App Store Privacy Error Checker

Turn an App Store Connect privacy rejection into specific evidence and next steps. Check ITMS‑91053, ITMS‑91056, ITMS‑91061, and an XML PrivacyInfo.xcprivacy file—without sending your code anywhere.

ITMS-91053ITMS-91056ITMS-91061Required Reason APIsXML plist validation

Local-only analysis

Paste the evidence Apple sent you

Nothing is uploaded. Parsing, validation, copying, and download happen in your browser.

No login · No upload

Used only to detect codes, SDK names, paths, and API categories.

Paste XML or select the manifest from your computer.

ITMS-91053

Missing API declaration

Match Required Reason API categories with approved reason codes.

ITMS-91056

Invalid privacy manifest

Debug plist structure, key types, domains, and nested values.

ITMS-91061

Missing SDK manifest

Find the responsible SDK and fix the declaration at its source.

Official Apple references

Send feedback about this checker

FAQ

What this checker can—and cannot—tell you

Does PolicyPilot upload my rejection email or PrivacyInfo.xcprivacy?

No. This MVP parses both inputs entirely in your browser. The tool has no upload API, account requirement, or database for these inputs.

Can this tool guarantee App Store approval?

No. It checks supported email patterns and manifest structure, but it cannot inspect your archive, source code, binary, or actual data practices.

Should I copy a third-party SDK declaration into my app manifest?

No. Apple requires the bundle that uses a Required Reason API to include its declaration. Upgrade the SDK or ask its vendor to ship a valid manifest.

What does the correction draft change?

It applies safe structural cleanup, such as supported root keys and normalized domain formatting. Purpose-dependent reason codes and tracking decisions remain for a developer to confirm.