Guideline 5.1.2
Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing: Missing Data Collection Precautions and User Consent
Our Take
This rejection is part of Apple's standard 5.1.2 template that appears whenever a reviewer sees an app requesting access to personal data (most commonly Contacts, but also Photos, Location, or Calendar) without being able to verify — through the UI alone — that the user was told the data would be uploaded to a server and given a chance to consent or opt out.
The specific line inviting you to 'confirm if the app does not actually upload Contacts' is a strong signal this is semi-automated: Apple's static analysis detected a data-access API or entitlement (e.g., Contacts framework) and the reviewer could not confirm server-side handling during a manual pass, so they defaulted to the boilerplate privacy-consent rejection.
There are two distinct root causes, and the fix depends entirely on which one applies to your app:
1. The app never sends this data off-device — in which case this is a false positive from the reviewer's perspective, and the fastest path is a factual clarification, not a code change
2. The app does upload data (contacts, location, etc.) to a server for features like 'find friends,' backup, or sync — in which case Apple's requirement for an explicit consent step and an opt-out mechanism is genuinely applicable and unambiguous
The fastest compliant path that preserves your business model is to first determine which scenario applies. If no upload occurs, reply directly in Resolution Center and update App Review Information — this typically resolves in hours with no code change. If upload does occur, add a clear pre-upload consent screen and a settings-level opt-out; this is a contained, well-defined engineering task that does not require altering your underlying data or monetization model.
Resolution Guide
Determine actual data flow
Audit the exact API calls (e.g., CNContactStore, PHPhotoLibrary, CLLocationManager) that triggered the flag. Confirm definitively whether that data is ever transmitted to a server, third-party SDK, or analytics endpoint.
If no server upload occurs — clarify, don't code
Reply in Resolution Center confirming the data stays on-device (e.g., "Contacts data is used only locally for [feature] and is never transmitted to any server"). Add the same statement to the App Review Information notes field in App Store Connect, and resubmit without a build change if possible.
If server upload does occur — add explicit pre-upload consent
Before any personal data leaves the device, present a clear, dedicated screen (not just the system permission prompt) explaining what data is collected, why, and that it will be stored on your server. Require an affirmative user action (e.g., "Allow & Continue") before the OS permission prompt or upload call fires.
Add an opt-out control
Provide a persistent, discoverable setting (e.g., Settings > Privacy > "Stop syncing my Contacts" / "Delete my data from server") that lets users disable future uploads and, ideally, request deletion of already-stored data.
Update your Privacy Policy and Nutrition Label
Ensure the privacy policy explicitly names the data type, purpose, and third parties (if any), and that your App Store privacy "nutrition label" answers match actual behavior.
Document the flow for the reviewer
In App Review Information, add step-by-step navigation instructions (e.g., "Tap Sync Contacts on the Friends tab to see the consent screen") so the reviewer can locate the consent/opt-out UI without guessing.
Prevention
Example Rejection Email
Consider Appealing
The guideline text itself (5.1.2 ii-vii) governs repurposing, profiling, and specific API categories — it does not explicitly mandate a dedicated in-app opt-out toggle for every data type; that requirement comes from Apple's applied 'Next Steps' template. If your app does not upload the flagged data at all, this is not a violation but a verification gap, and a factual clarification is the correct and fast response. If your app already presents clear consent language (even via a well-labeled permission prompt with contextual text) and reasonable data controls, there is room to argue the reviewer's interpretation added a stricter requirement than the guideline text specifies. Appeal is viable in both scenarios; only skip appeal and go straight to a build fix if you confirm data is uploaded with no consent or opt-out mechanism anywhere in the app.
Before & After
App requests Contacts access via the system permission prompt only, then silently uploads contacts to the server for a 'find friends' feature.
App shows a custom pre-permission screen explaining that contacts will be uploaded to find friends, requires explicit user confirmation, and offers a Settings toggle to stop syncing and delete stored contacts.
What changed: Explicit pre-upload consent and a discoverable opt-out satisfy Apple's stated Next Steps requirements.
Reviewer flags Contacts access; in reality the app only reads contacts locally to autofill a form field and never sends the data anywhere.
Developer replies in Resolution Center confirming no server transmission occurs and adds the same statement to App Review Information notes.
What changed: When no data leaves the device, the guideline does not apply, and clarification resolves the flag without any code change.
Community Solutions · 0
Sign in to share your solution.
More Guideline 5 (Legal) rejections
- Guideline 5 - Legal: Remove Watermark Feature
- Guideline 5.1.1 - Data Collection and Storage: Incomplete Privacy Manifest
- Guideline 5.1.1 - Data Collection and Storage: Missing Purpose Strings
- Guideline 5.1.1 - Data Collection and Storage: Privacy Manifest Missing
- Guideline 5.1.1 - Data Collection and Storage: Privacy Nutrition Label Mismatch
- Guideline 5.1.1 - Data Collection and Storage: Privacy Policy