RejectProofRun the free check

Guideline 5.1.1 rejection: Data Collection and Storage

How the rejection usually reads: "Your app's Info.plist does not include a purpose string" / "the app is missing a privacy manifest" / "the app supports account creation but does not include an option to delete the account"

Why it happens

5.1.1 covers everything about what data the app touches and whether the user was told. In practice three sub-cases account for most rejections: a permission string that is missing, unclear, or declared for an API the app never calls; a missing PrivacyInfo.xcprivacy for the app or for an SDK on Apple's required list; and account creation without an in-app deletion path (5.1.1(v)). All three can be checked against the binary before submitting — the manifest is a file, the strings are keys, the APIs are symbols.

What can be checked before you submit

15 of RejectProof’s checks map to Guideline 5.1.1. Each one reads your .ipa — no upload — and reports the evidence with a fix.

What a scan cannot tell you

Static checks read the build; they do not run it. Whether a reviewer likes your design, agrees with your content, or considers the app “sufficiently different” is their call. Fix the mechanical layer first so the human review is about your product, not about a missing plist key.

← All rejection reasons