Privacy Nutrition Label is a privacy label in the App Store that shows users what data the app collects and for what purposes. Apple requires every app to have a completed label before submission or update. According to Apple App Privacy Details, privacy labels cover 14 data categories and 5 collection purposes, from analytics to content personalization.
Key Takeaways
A Privacy Nutrition Label is a visual block on an app’s page in the App Store that displays a summary of data collection. Apple introduced the labels in December 2020 as an analog of nutrition facts on food products: instead of calories and fats, users see what data the app collects and how it is used.
Labels consist of two sections: “Data Used for Tracking” and “Data Linked to User.” The first indicates data transmitted to third parties for tracking. The second includes all data that the app collects and links to the user’s account or device.
Each data item is color-coded: yellow (data linked to the user) or green (data not linked to the user). The more yellow labels there are, the more attention the user pays to what data is being collected. According to Adjust (2024), apps with 8+ yellow labels have 22% fewer install conversions.
Label filling happens in App Store Connect via a web interface. The developer answers questions: whether the app collects a certain type of data, whether it is linked to the user, and for what purposes it is used. Apple does not verify the truthfulness of labels programmatically, but a discrepancy between the declaration and actual behavior may lead to rejection.
Apple announced the labels at WWDC 2020 alongside iOS 14. Initially, they were part of a broader privacy initiative that also included ATT and Privacy Manifest. Filling in labels became mandatory for all apps and updates starting December 8, 2020.
The labels were Apple’s response to growing attention from regulators and users to data collection. Unlike GDPR and CCPA, which require formal consent, Apple focused on transparency: users immediately see what data is collected, even before installing the app.
In 2022, Apple added interactivity to labels: users can tap on each category and see for what purposes the data is used. In 2024, Apple began requiring that labels match the data declared in the Privacy Manifest inside the binary.
Google introduced a similar “Data Safety” section in Google Play in April 2022. The main difference: Google verifies labels using automated code scanning and may request confirmation from the developer, while Apple relies on the developer’s declaration with review-time checks.
Additionally, Google Play requires specifying security measures (data encryption at rest and in transit, compliance with security programs). Apple does not request this information but verifies requirements through mandatory features like ATS (App Transport Security).
Apple does not analyze the app’s code to fill in labels — the developer independently declares the collected data. However, in 2024, Apple began cross-referencing labels with the Privacy Manifest inside the binary, making the process more formalized.
The developer goes to App Store Connect → selects the app → “App Privacy” section → “Privacy Labels.” A questionnaire opens with questions about each of the 14 data categories. For each category, developers must specify: whether they collect this type of data, whether it is linked to the user, and for what purposes.
Collection purposes include: third-party advertising, developer analytics, product personalization, content personalization, and app functionality. One data category can be used for multiple purposes. Importantly, if data is shared with third parties, it must be marked as tracking.
After saving changes, Apple generates a new version of the labels, which appears in the App Store within 24 hours. When submitting a new build, labels are automatically checked: if they are not filled in, the submit button is blocked. Apple Developer (2024) recommends updating labels with every change in data collection logic.
Until 2024, labels were entirely self-reported — Apple trusted the developer’s answers. With the introduction of the Privacy Manifest and integration of labels with the manifest, Apple began automatic cross-referencing. For example, if the manifest declares collection of identifiers (IDFA) for advertising, but the labels do not mark this category, App Store Connect issues a warning.
However, full automatic verification does not yet exist. The developer must keep both data sources (labels + manifest) up to date. Discrepancies can be detected during manual review, especially for major updates or apps with large amounts of data.
| Verification Method | Apple | |
|---|---|---|
| Self-reporting | Yes, primary | Yes, primary |
| Automatic code verification | Partial (since 2024, via manifest) | Yes |
| Manual reviewer check | On suspicion | Rarely |
Apple divides data into 14 categories grouped into 3 sections: data used for tracking, data linked to the user, and data not linked to the user. Let’s review the main categories.
The “Contact Information” category includes name, email, phone, and physical address. The “Identifiers” category includes IDFA, User ID, and username. If the app uses social login and receives the user’s email, this category must be specified with the purpose “App Functionality.”
The “Payment Data” category includes purchase information: card number (if Apple Pay is not used) and purchase history. Apple Pay does not require specifying this category because Apple processes payments on its side and does not share data with the developer.
The “Usage Data” category includes interaction logs, ad clicks, page views, and session time. Most apps collect this data for analytics. Importantly, if data is shared with third parties (Google Analytics, Firebase), the “Analytics” purpose must be marked.
The “Diagnostics” category includes crash logs, performance data, and launch reports. This data is usually not linked to the user (not linked) and is collected in aggregate form. Despite this, it must be reflected in the labels if the app uses Crashlytics or Sentry.
The “User Content” category includes photos, videos, audio, files, and user-generated content (messages, comments). If the app requests access to photos or files, this category is mandatory. Even if the app only reads photos, this counts as data collection.
The “Purchase History” category includes aggregated data about in-app purchases, subscriptions, and payments. Do not confuse it with “Financial Information.” Purchase history is transaction metadata, not payment details.
A step-by-step guide to filling in the Privacy Nutrition Label in App Store Connect for a new or updated app.
Before filling in labels, compile a complete list of all SDKs and services that collect data: Firebase, AppsFlyer, Google Ads, Facebook SDK, Sentry, Amplitude. For each SDK, check what data it collects and whether it shares data with third parties. Adjust (2024) recommends maintaining a table with data types, purposes, and linking for each SDK.
Determine what data your own code collects. For example, if the app saves search history and links it to the user’s account, this is “Usage Data” linked for the purpose “Product Development.” Always check whether data is shared with third parties (ad networks, analytics).
In App Store Connect, select the app → “App Privacy” section. Click “Get Started” and choose whether your app collects data for tracking. If not, proceed to the questionnaire. Answer each question sequentially for all 14 data categories.
Example: if the app uses Firebase Analytics, answer “Yes” for the “Usage Data” category, specify linked (Firebase links data to Instance ID) and the purpose “Analytics.” If you also use Firebase Crashlytics, add the “Diagnostics” category with the purpose “Product Development.”
After filling in, save the labels. If you have multiple apps, labels are unique to each — copying is not supported. Update labels with every change in data collection logic, otherwise old labels may not match new functionality.
// Example: checking data sending for analytics
import FirebaseAnalytics
final class AnalyticsService {
static func logEvent(_ name: String, params: [String: Any]) {
Analytics.logEvent(name, parameters: params)
}
static func logPurchase(amount: Double, currency: String) {
Analytics.logEvent(AnalyticsEventPurchase, parameters: [
AnalyticsParameterValue: amount,
AnalyticsParameterCurrency: currency
])
}
}
To update labels for a published app, open the app version in App Store Connect and make changes in the “App Privacy” section. Changes take effect after review passes. New labels are displayed to users within 24 hours after the update is published.
Important: removing data from labels (for example, you stopped sharing data with third parties) does not require a new build — simply change the labels in App Store Connect. Adding new data requires both label changes and a corresponding Privacy Manifest update in the code.
Developers often make mistakes when filling in labels, leading to update rejections or user complaints.
The most common mistake is developers filling in labels only based on their own code, forgetting about third-party SDKs. Firebase, AppsFlyer, Facebook SDK, and others collect data automatically without additional developer code. For example, Firebase Analytics collects usage data (events, screens) and identifiers (Instance ID, IDFV).
Recommendation: for each integrated SDK, read the “Data Collected” section in the documentation and add the corresponding categories to the labels. AppsFlyer (2024) publishes a list of collected data for each SDK version, helping developers cross-check labels.
Many developers mark data as not linked when it is actually linked to an account. If the user has an account and you save their name or email, it is linked. If you collect crash logs without linking to an account, it is not linked. An error in linking can be considered misleading to users.
Linked data is shown in yellow and attracts more user attention. If you are not sure whether a specific data type is linked, it is better to mark it as linked and provide an explanation during review. Apple does not penalize over-declaration but may reject for under-declaration.
If data is shared with third parties and used for targeted advertising, it must be marked as “Data Used for Tracking.” Some developers conceal tracking by passing data as analytics — this violates Apple’s rules and may lead to a ban.
Apple’s rule: if data is shared with a third party and used for ad personalization or attribution, it is tracking. Even if the app itself does not show ads but uses Google Ads for install attribution, view data is considered tracking.
Old labels that do not match the current data collection logic are a common problem in long-term app maintenance. Developers change SDKs, add new features, but forget to update labels. As a result, users see outdated information, which reduces trust.
Best practice: with every code change related to data, check labels and the manifest. It is recommended to set up a CI check that warns about the need to update labels when PrivacyInfo.xcprivacy files or SDK lists change.
Frequently Asked Questions
Yes, labels are mandatory for all apps, including free, free with in-app purchases, and paid apps. The only exception is apps in the “Kids” category, where rules are even stricter.
App Store Connect will not allow you to submit a build for review without completed labels. Already published apps remain in the store but cannot receive updates without labels.
With every change in data collection logic: adding a new SDK, changing usage purposes, sharing data with third parties. At least every 6-12 months, check labels against the current code.
Yes, any user can report a discrepancy between labels and actual app behavior through Apple’s form. Upon receiving multiple complaints, Apple may conduct a review and reject the next update.
Yes, labels are visible on the app page, but not displayed in search results or recommendations. Users see them when viewing the app page before installation.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also