Think Apple’s privacy checklist is optional? Many teams learn the hard way when their app is auto-rejected.
This app submission checklist for Apple privacy policy update compliance success gives a tight, practical rundown of what to do before you hit Submit: complete the App Privacy questionnaire, add a PrivacyInfo.xcprivacy manifest, declare tracking domains and third‑party SDK data, set up ATT prompts, and publish a matching privacy policy.
Follow these steps and you’ll cut resubmissions, save days, and ship on schedule.
App Store Privacy Compliance Checklist (Quick Start)

Before you hit Submit for Review, you’ve got to nail Apple’s privacy requirements. Incomplete or wrong entries? That’s one of the fastest ways to get rejected. This checklist walks through everything Apple checks before your app goes live.
- Fill out the App Privacy questionnaire in App Store Connect – Go to My Apps, pick your app, tap App Privacy, then Get Started. Answer everything about what data you’re collecting.
- Mark every data type your app touches – Check off all 14 categories that apply: Contact Info, Location, Identifiers, Usage Data, whatever you’re actually using.
- Don’t forget third-party SDK data – If you’re running analytics, ads, or utility SDKs, list what they collect too.
- Hit Publish on your App Privacy page – Once the questionnaire’s done, click Publish. You can’t submit without it.
- Drop in a working Privacy Policy URL – The link needs to be live and match what you’ve declared.
- Set up ATT prompts if you track users – Accessing IDFA or tracking across apps? You need the ATT prompt and a clear
NSUserTrackingUsageDescriptionstring. - Write Info.plist descriptions for sensitive stuff – Camera, mic, location, health data. Each one needs a purpose string users can actually understand.
- Include a privacy manifest file – As of 2024, certain APIs require a
PrivacyInfo.xcprivacyfile listing usage and tracking domains. - Declare all tracking domains – List every domain you use for tracking in your manifest. Skip one and you’re asking for trouble.
- Check that third-party SDKs have their own manifests – Each SDK should include one. If it’s missing, bug the vendor or drop the SDK.
- Make sure your metadata lines up – App description, screenshots, marketing copy. It all needs to match your data disclosures.
- Refresh disclosures with every release – Apple wants you to reconfirm privacy details each time. Old answers get flagged.
- For tvOS, embed the full policy text – A URL won’t cut it on tvOS. You need the whole thing on the platform.
- Test how your app handles ATT status – Confirm you respect the user’s choice and stop tracking when they say no.
Check every box before submitting. Apple’s automated scans catch incomplete privacy stuff within hours, so getting it right the first time saves you days.
Detailed Steps for Completing Each Privacy Requirement

Filling out Apple’s privacy forms isn’t a solo job. You’ll need dev, product, and sometimes legal to get it right. Each item has its own workflow in App Store Connect or Xcode, and skipping steps means rejection or that non-compliance badge users see. Here’s how to handle the two big ones.
Completing the Privacy Manifest
- Make the PrivacyInfo.xcprivacy file – Open Xcode, go File → New → File, pick App Privacy, save it at your main app target’s root.
- Add required reason APIs – Open the manifest, go to “NSPrivacyAccessedAPITypes,” and list any API from Apple’s required-reason list you’re using (UserDefaults, file timestamps, system boot time, active keyboards, disk space).
- Pick the right justification codes – Each API needs a reason code from Apple’s list. Using UserDefaults for app functionality? That’s CA92.1.
- List tracking domains – Under “NSPrivacyTrackingDomains,” write out every endpoint that gets identifiers for cross-app or cross-site tracking.
- Document what you collect – In “NSPrivacyCollectedDataTypes,” list data your app grabs directly. This mirrors your App Store Connect answers but doesn’t replace them.
- Build and check for warnings – Run a build. Xcode will flag malformed manifest entries. Fix syntax errors before you archive.
Configuring ATT Tracking Prompts
- Add NSUserTrackingUsageDescription to Info.plist – Open Info.plist, add “Privacy – Tracking Usage Description,” write a plain-English reason: “We use your activity to show personalized ads and measure campaign performance.”
- Import the AppTrackingTransparency framework – In Swift or Objective-C, bring in the framework and call
ATTrackingManager.requestTrackingAuthorizationat the right moment (usually after onboarding or before touching IDFA). - Check status before you track – Before reading IDFA or sending identifiers to ad networks, call
ATTrackingManager.trackingAuthorizationStatusand only move forward if the user said yes. - Honor opt-outs – User picked “Ask App Not to Track”? Don’t try to fingerprint or use other identifiers for cross-company tracking.
- Confirm tracking in App Store Connect – In the App Privacy questionnaire, say you use data for Third-Party Advertising if you share IDFA or similar with ad networks.
- Test on a fresh device or simulator – Reset ad preferences in Settings → Privacy & Security → Tracking, launch your app, make sure the prompt shows with your custom string and only shows once.
Do this right and you’ll clear Apple’s technical checks for manifests and tracking consent. Mess it up and you’ll hit one of the top automated rejection triggers from 2024 onward.
Common Reasons for App Store Privacy Rejection

Apple’s review team flags privacy issues harder than anything else. Even apps with solid features can get bounced if disclosures are incomplete, wrong, or don’t match what the app’s actually doing. Knowing the usual rejection reasons keeps you out of resubmission loops.
The biggest one? Not disclosing third-party SDK data collection. If you’ve got an analytics or ad SDK collecting device IDs, usage stats, or location, you’ve got to declare it in the App Privacy questionnaire. Doesn’t matter if you never touch that data yourself. Another frequent problem is missing API usage descriptions in Info.plist. Want camera, mic, location, or health access? Apple wants a clear, user-facing reason. Vague stuff like “Required for app functionality” gets rejected.
- Incomplete App Privacy questionnaire – Only declaring what you collect directly, ignoring third-party SDK stuff.
- No privacy manifest file – Since 2024, apps using required-reason APIs need a PrivacyInfo.xcprivacy file with justification codes.
- Tracking domains not declared – Forgetting to list domains that get user identifiers in your manifest’s NSPrivacyTrackingDomains section.
- No ATT prompt when using IDFA – Reading the advertising identifier without calling
requestTrackingAuthorizationor addingNSUserTrackingUsageDescription. - Privacy policy doesn’t match – The URL points to a generic corporate policy that never mentions your app or its data practices.
- Broken or outdated privacy policy link – The link 404s, redirects to a login, or shows a policy from a previous app version.
- Collecting undeclared data – Server logs, analytics events, or SDK calls show data collection you didn’t declare.
- App Privacy page not published – Finishing the questionnaire but skipping the Publish button before submitting for review.
Privacy rejections usually come with a message from App Review pointing to the guideline (5.1.1 for data collection, 5.1.2 for data use) and asking you to fix disclosures or remove the behavior. Most can be sorted in 24 to 48 hours if you’ve already audited your SDKs and documented data flows.
Apple’s 2024–2025 Privacy Policy Updates Explained

Apple rolled out tougher privacy requirements starting spring 2024, with enforcement deadlines stretching into 2025. The focus is on third-party SDK transparency, required-reason API declarations, and broader tracking domain disclosure. These rules hit all new apps and updates submitted after each phase’s enforcement date.
The first big shift requires privacy manifest files for apps using any “required reason” API. That’s UserDefaults access, file timestamp queries, system boot time, active keyboard checks, and disk space reads. Legit uses, sure, but also potential fingerprinting tools. If your app calls any of these, you need a PrivacyInfo.xcprivacy file and a justification code from Apple’s list. Submit without the manifest or with a bad reason code? Automatic rejection during pre-review scanning.
- Privacy manifests required for third-party SDKs – Starting fall 2024, common SDKs (analytics, crash reporting, ad networks) must ship their own PrivacyInfo.xcprivacy file. You’re responsible for confirming SDK compliance before integrating.
- API usage justification codes – Every required-reason API needs a specific code (like C617.1 for disk space checks managing cached content) matching Apple’s approved use cases.
- Tracking domain declaration – All domains getting user or device identifiers for tracking go in NSPrivacyTrackingDomains. Skip them and you’ll get rejected even with ATT consent.
- More granular data-type categories – Apple split the 14 data types (Identifiers now breaks into user ID, device ID, and purchase history subcategories) to make nutrition labels more accurate.
- Signature verification for third-party SDKs – In 2025, Apple will start requiring cryptographic signatures for SDKs distributed via Swift Package Manager and CocoaPods to block supply-chain tampering.
These changes come from Apple’s response to EU regulation (Digital Markets Act) and ongoing U.S. privacy lawsuits. Developers integrating third-party code now have to actively audit SDK data practices instead of trusting vendor docs. Apps failing the 2024 manifest requirements get auto-rejected before human review even starts.
Configuring App Store Connect for Accurate Privacy Submission

App Store Connect is your last compliance checkpoint. After wrapping up your privacy manifest and code configs, you’ve got to answer Apple’s App Privacy questionnaire and publish your disclosures. This workflow controls what users see on your product page and what automated scans check during pre-review.
| Required Field | Description |
|---|---|
| Data Collection Status | Pick “Yes” if your app or any SDK collects data. Only pick “No” if literally no data leaves the device. |
| Data Types | Check all that apply from Apple’s 14 types (Contact Info, Location, Identifiers, Usage Data, etc.). Include third-party collection too. |
| Data Linked to User | Say whether collected data ties to a user account, email, or persistent identifier. Affects how prominent the privacy label is. |
| Data Used for Tracking | Confirm if data gets shared with third parties for advertising or analytics across other apps. Triggers the ATT requirement. |
| Privacy Policy URL | Give a public, working URL to your full privacy policy. Has to match what you declared in the questionnaire. |
| App Privacy Page Publication | After answering everything, hit Publish to lock in disclosures. Apps can’t be submitted for review until this is done. |
The questionnaire makes you specify the purpose of each data type, picking from six categories: Third-Party Advertising, Developer’s Advertising or Marketing, Analytics, Product Personalization, App Functionality, and Other Purposes. Apple uses your answers to build the privacy nutrition label on your product page. Wrong answers (especially underplaying third-party collection or omitting tracking purposes) are among the top rejection triggers. Budget 15 to 30 minutes for simple apps, but set aside a few hours for apps with multiple SDKs or complex data flows.
How to Verify Third‑Party SDK and API Compliance

Third-party SDKs are where most privacy problems start. Tons of developers integrate analytics, crash reporting, or ad SDKs without knowing what data those libraries collect or whether they include the required privacy manifest. Apple now holds app developers responsible for SDK behavior, so auditing and validation aren’t optional anymore.
Start by listing every third-party library in your app, whether it came through CocoaPods, Swift Package Manager, or manual framework embedding. For each SDK, check the vendor’s docs or GitHub repo for a PrivacyInfo.xcprivacy file. If the SDK doesn’t have a manifest, contact the vendor and ask for one, or think about swapping in a compliant alternative. Apple’s pre-review scanner will flag missing manifests for popular SDKs, and the rejection message will name the library.
- Ask SDK vendors for privacy manifests – Email support or open a GitHub issue requesting the PrivacyInfo.xcprivacy file and a list of all data types collected.
- Audit API usage in SDK source code – If the SDK’s open source, search for calls to required-reason APIs (UserDefaults, file timestamps, system boot time) and check that justification codes are there.
- Review SDK data-sharing documentation – Confirm whether the SDK shares user or device identifiers with third parties. If it does, declare it in your App Store Connect questionnaire.
- Check SDK update logs – Vendors often drop compliance updates after Apple announces new requirements. Make sure you’re running the latest version.
- Test SDK behavior in a clean environment – Use a network proxy (Charles, Proxyman) to watch outbound requests and confirm the SDK isn’t sending undeclared data.
If a critical SDK lacks a privacy manifest and the vendor hasn’t shipped an update, you’ve got three choices: wait for the vendor to comply (delaying your submission), drop the SDK and swap in a compliant one, or manually create a manifest for the SDK’s behavior (Apple allows this but you’re on the hook for accuracy). Safest bet is to only integrate SDKs from vendors who’ve publicly committed to Apple’s 2024 privacy manifest requirements.
Preparing Your App for Resubmission After a Privacy Rejection

Privacy rejections are annoying but usually easy to fix. Apple’s rejection messages point to a specific guideline (5.1.1 for data collection, 5.1.2 for data use, 2.1 for incomplete submissions) and describe what’s missing or wrong. The trick to fast resubmission is fixing the root cause, not just patching the surface.
When you get a rejection, read the message carefully and figure out which compliance item failed. Common culprits are incomplete App Privacy questionnaire answers, missing privacy manifest entries, or undeclared SDK data collection. Log in to App Store Connect, go to the App Privacy section, and verify all answers match what your app actually does. If the rejection calls out a specific SDK, check whether that library released a compliance update or whether you need to add its data collection to your own disclosures.
- Read the rejection message and spot the cited guideline – Apple’s message will reference a specific section (like “Guideline 5.1.2 – Data Use and Sharing”) and explain the problem.
- Update the App Privacy questionnaire – Add missing data types, fix wrong answers, or disclose third-party SDK collection you left out originally.
- Save and publish changes – After editing your answers, click Save and then Publish. Unpublished changes don’t show up for App Review.
- Double-check privacy manifest and Info.plist entries – If the rejection mentions missing API descriptions or required-reason declarations, add them and rebuild your binary.
- Resubmit with a response to App Review – In the Resolution Center, explain what you fixed (like “Added disclosure for third-party analytics SDK data collection and published updated App Privacy details”), then resubmit the build.
Most privacy rejections get resolved in 24 to 48 hours if you give complete, accurate updates. If your rejection message is vague or you think Apple flagged something by mistake, use the Resolution Center to ask for clarity. Include screenshots of your App Privacy page and relevant code snippets to speed things up. Don’t resubmit without changes. Repeated rejections for the same issue can slow review or flag your account.
Final Words
Run the App Store Privacy Compliance Checklist first — verify your privacy nutrition label, data collection disclosures, ATT settings, privacy manifest, SDK declarations, and App Store Connect fields.
Use the detailed steps to finish manifests and ATT prompts, review common rejection causes, update for Apple’s 2024–2025 policy changes, and audit third‑party SDKs. If rejected, follow the resubmission workflow.
Follow this app submission checklist for apple privacy policy update compliance to avoid delays and keep your app in the store. It’s a lot, but doable — and worth the time.
FAQ
Q: What are the key privacy requirements for App Store submission?
A: The key privacy requirements for App Store submission are accurate privacy nutrition labels, clear data collection disclosures, a completed privacy manifest, declared third‑party SDKs, correct ATT settings, and full App Store Connect fields.
Q: How do I ensure my privacy nutrition label is accurate?
A: Ensuring your privacy nutrition label is accurate means inventorying all data collected, matching categories to Apple’s definitions, noting collection purpose, and updating labels whenever SDKs or APIs change.
Q: What is the privacy manifest and how do I complete it?
A: The privacy manifest is a developer file describing app and SDK data flows; complete it by listing SDKs, enumerating data types collected, and providing usage justifications per Apple’s schema.
Q: How do I configure ATT tracking prompts correctly?
A: Configuring ATT prompts correctly requires using Apple’s AppTrackingTransparency API, showing the consent prompt before any cross‑app tracking, and recording the user’s choice in App Store Connect fields.
Q: Which App Store Connect fields must I fill for privacy?
A: The App Store Connect fields to fill include data types collected, purposes for collection, tracking status, privacy policy URL, API usage notes, and declared third‑party SDKs.
Q: How should I declare third‑party SDKs and APIs?
A: Declaring third‑party SDKs and APIs means listing each SDK, linking or embedding its privacy manifest, specifying data types it accesses, and describing any API justifications required by Apple.
Q: What are the most common reasons Apple rejects apps for privacy issues?
A: The most common rejection reasons are inaccurate or inconsistent privacy labels, missing SDK declarations, absent API descriptions, incorrect ATT configuration, and mismatched disclosures between app and App Store Connect.
Q: What changed in Apple’s 2024–2025 privacy updates?
A: Apple’s 2024–2025 updates require privacy manifests for third‑party SDKs, stricter API usage declarations, new justification categories for sensitive APIs, and tightened ATT enforcement with phased rollouts across 2024–2025.
Q: How can I audit third‑party SDK and API compliance?
A: Auditing SDK and API compliance means reviewing SDK manifests, testing runtime data flows, confirming declared data types, and validating that each API has an explicit justification in your privacy paperwork.
Q: What steps should I take after a privacy rejection before resubmitting?
A: After a privacy rejection, interpret Apple’s message, update privacy labels and manifests, correct App Store Connect entries, test ATT prompts, and document changes before resubmitting with notes to the reviewer.
Q: How should I document API usage and justifications for Apple?
A: Documenting API usage and justifications means listing each API call, explaining why the data is necessary, mapping it to a privacy category, and including supporting technical notes in App Store Connect.
