Privacy Nutrition Label zijn privacyeters in de App Store die de gebruiker laten zien welke gegevens de app verzamelt en voor welke doeleinden. Apple vereist dat elke app een ingevulde etiket heeft vóór publicatie of update. Volgens Apple App Privacy Details dekken privacyeters 14 gegevenscategorieën en 5 verzameldoeleinden, van analyse tot contentpersonalisatie.
Belangrijkste punten
Privacy Nutrition Label is een visueel blok op de app-pagina in de App Store dat een samenvatting van gegevensverzameling weergeeft. Apple introduceerde de labels in december 2020 als analoog van voedingswaarde op producten: in plaats van calorieën en vetten ziet de gebruiker welke gegevens de app verzamelt en hoe ze worden gebruikt.
De labels bestaan uit twee secties: „Gegevens gebruikt voor tracking" en „Gegevens gekoppeld aan de gebruiker". In de eerste worden gegevens vermeld die aan derden worden doorgegeven voor tracking. In de tweede — alle gegevens die de app verzamelt en koppelt aan het account of apparaat van de gebruiker.
Elk gegevenselement wordt gemarkeerd met een kleur: geel (gegevens gekoppeld aan gebruiker) of groen (gegevens niet gekoppeld aan gebruiker). Hoe meer gele labels, hoe meer aandacht de gebruiker besteedt aan welke gegevens worden verzameld. Volgens Adjust (2024) hebben apps met 8+ gele labels 22% minder installatieconversies.
Het invullen van labels gebeurt in App Store Connect via de webinterface. De ontwikkelaar beantwoordt vragen: of de app een bepaald gegevenstype verzamelt, of het is gekoppeld aan de gebruiker en voor welke doeleinden het wordt gebruikt. Apple controleert de waarheid van labels niet programmatisch, maar een discrepantie tussen de verklaring en het werkelijke gedrag kan leiden tot afwijzing.
Apple kondigde de labels aan op WWDC 2020 samen met iOS 14. Aanvankelijk maakten ze deel uit van een breder privacy-initiatief, inclusief ATT en Privacy Manife. Het invullen van labels werd verplicht voor alle apps en updates vanaf 8 december 2020.
De labels waren de reactie van Apple op de groeiende aandacht van toezichthouders en gebruikers voor gegevensverzameling. In tegenstelling tot GDPR en CCPA, die formele toestemming vereisen, legde Apple de nadruk op transparantie: de gebruiker ziet onmiddellijk welke gegevens worden verzameld, nog vóór de installatie van de app.
In 2022 voegde Apple interactiviteit toe aan de labels: de gebruiker kan op elke categorie klikken en zien voor welke doeleinden de gegevens worden gebruikt. In 2024 begon Apple te eisen dat de labels overeenkomen met de gegevens die zijn gedeclareerd in Privacy Manife in de binaire file.
Google introduceerde een vergelijkbare sectie „Gegevensbeveiliging" (Data Safety) in Google Play in april 2022. Het belangrijkste verschil: Google controleert de labels via automatische codestanning en kan om bevestiging van de ontwikkelaar vragen, terwijl Apple vertrouwt op de verklaring van de ontwikkelaar met controle tijdens de beoordeling.
Bovendien vereist Google Play het vermelden van beveiligingsmaatregelen (versleuteling van gegevens in rust en tijdens overdracht, naleving van beveiligingsprogramma's). Apple vraagt deze informatie niet, maar controleert de naleving van vereisten via verplichte functies zoals ATS (App Transport Security).
Apple analyseert de app-code niet om de labels in te vullen — de ontwikkelaar declareert zelfstandig de verzamelde gegevens. In 2024 begon Apple echter de labels te vergelijken met Privacy Manife in de binaire file, wat het proces meer geformaliseerd maakt.
De ontwikkelaar logt in op App Store Connect → selecteert de app → sectie „Privacy van de app" → „Privacyeters". Er wordt een vragenlijst geopend met vragen voor elk van de 14 gegevenscategorieën. Voor elke categorie moet worden aangegeven: of u dit type gegevens verzamelt, of het is gekoppeld aan de gebruiker (linked) en voor welke doeleinden.
Verzameldoeleinden omvatten: reclame van derden, ontwikkelaarsanalyse, productontwikkeling (Product Personalization), contentpersonalisatie, uitvoering van app-functies (App Functionality). Eén gegevenscategorie kan voor meerdere doeleinden worden gebruikt. Belangrijk: als gegevens aan derden worden doorgegeven, moet dit worden gemarkeerd als tracking.
Na het opslaan van wijzigingen genereert Apple een nieuwe versie van de labels die binnen 24 uur in de App Store wordt weergegeven. Bij het verzenden van een nieuwe build worden de labels automatisch gecontroleerd: als ze niet zijn ingevuld, wordt de verzendknop geblokkeerd. Apple Developer (2024) raadt aan de labels bij elke wijziging van de gegevensverzamelingslogica bij te werken.
Tot 2024 waren de labels volledig self-reported — Apple vertrouwde op de antwoorden van de ontwikkelaar. Met de komst van Privacy Manife en de integratie van labels met het manifest begon Apple met automatische vergelijking. Als het manifest bijvoorbeeld het verzamelen van identificatoren (IDFA) voor reclame declareert maar de labels deze categorie niet markeren, geeft App Store Connect een waarschuwing.
Volledige automatische controle bestaat echter nog niet. De ontwikkelaar is verplicht beide gegevensbronnen (labels + manifest) actueel te houden. Een discrepantie kan worden ontdekt bij handmatige controle door de beoordelaar, vooral bij grote updates of apps met veel gegevens.
| Controlemethode | Apple | |
|---|---|---|
| Self-reporting | Ja, basis | Ja, basis |
| Automatische codecontrole | Gedeeltelijk (vanaf 2024, via manifest) | Ja |
| Handmatige controle door beoordelaar | Bij vermoeden | Zelden |
Apple verdeelt gegevens in 14 categorieën gegroepeerd in 3 secties: gegevens gebruikt voor tracking; gegevens gekoppeld aan de gebruiker; gegevens niet gekoppeld aan de gebruiker. Laten we de belangrijkste categorieën bekijken.
Categorie „Contactgegevens" omvat naam, e-mail, telefoon, fysiek adres. Categorie „Identificatoren" — IDFA, User ID, gebruikersnaam. Als de app inloggen via sociale netwerken gebruikt en de e-mail van de gebruiker ontvangt, moet deze categorie worden vermeld met het doel „Functie-uitvoering".
Categorie „Betalingsgegevens" omvat aankoopinformatie: kaartnummer (indien Apple Pay niet wordt gebruikt), aankoopgeschiedenis. Apple Pay vereist het vermelden van deze categorie niet, omdat Apple betalingen aan zijn kant verwerkt en geen gegevens aan de ontwikkelaar doorgeeft.
Categorie „Gebruiksgegevens" omvat interactielogs, advertentieklikken, paginabekeken, sessieduur. De meeste apps verzamelen deze gegevens voor analyse. Belangrijk: als gegevens aan derden worden doorgegeven (Google Analytics, Firebase), moet het doel „Analyse" worden gemarkeerd.
Categorie „Diagnostiek" omvat crashlogs, prestatiegegevens, opstartrapporten. Deze gegevens zijn meestal niet gekoppeld aan de gebruiker (not linked) en worden in geaggregeerde vorm verzameld. Desondanks moeten ze worden weerspiegeld in de labels als de app Crashlytics of Sentry gebruikt.
Categorie „Gebruikerscontent" omvat foto's, video, audio, bestanden, door de gebruiker gemaakte content (berichten, opmerkingen). Als de app toegang vraagt tot foto's of bestanden, is deze categorie verplicht. Zelfs als de app alleen foto's leest, wordt dit beschouwd als gegevensverzameling.
Categorie „Aankoopgeschiedenis" — geaggregeerde gegevens over aankopen in de app, abonnementen, betalingen. Niet verwarren met „Financiële informatie". Aankoopgeschiedenis zijn metadata van transacties, geen betalingsgegevens.
Stapsgewijze handleiding voor het invullen van Privacy Nutrition Label in App Store Connect voor een nieuwe of bijgewerkte app.
Maak vóór het invullen van de labels een volledige lijst van alle SDK's en services die gegevens verzamelen: Firebase, AppsFlyer, Google Ads, Facebook SDK, Sentry, Amplitude. Controleer voor elke SDK welke gegevens deze verzamelt en of deze aan derden worden doorgegeven. Adjust (2024) raadt aan een tabel bij te houden met gegevenstypen, doeleinden en koppeling voor elke SDK.
Bepaal welke gegevens uw code rechtstreeks verzamelt. Als de app bijvoorbeeld zoekgeschiedenis opslaat en deze koppelt aan het gebruikersaccount — dit zijn „Gebruiksgegevens" linked voor het doel „Productontwikkeling". Controleer altijd of gegevens niet aan derden worden doorgegeven (advertentienetwerken, analyse).
Selecteer in App Store Connect de app → sectie „Privacy van de app". Klik op „Starten" en kies of uw app gegevens verzamelt voor tracking. Zo niet, ga dan naar de vragenlijst. Beantwoord elke vraag achtereenvolgens voor alle 14 gegevenscategorieën.
Voorbeeld: als de app Firebase Analytics gebruikt, antwoord dan „Ja" voor de categorie „Gebruiksgegevens", geef linked aan (Firebase koppelt gegevens aan Instance ID) en het doel „Analyse". Als u ook Firebase Crashlytics gebruikt, voeg dan de categorie „Diagnostiek" toe met het doel „Productontwikkeling".
Sla de labels na het invullen op. Als u meerdere apps heeft, zijn de labels uniek voor elke app — kopiëren is niet voorzien. Werk de labels bij elke wijziging in de gegevensverzamelingslogica bij, anders kunnen oude labels niet overeenkomen met de nieuwe functionaliteit.
// Voorbeeld: controleren van gegevensverzending voor analyse
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
])
}
}
Om de labels voor een gepubliceerde app bij te werken, opent u de app-versie in App Store Connect en brengt u wijzigingen aan in de sectie „Privacy van de app". Wijzigingen worden van kracht na het doorlopen van de beoordeling. Nieuwe labels worden aan gebruikers getoond binnen 24 uur na publicatie van de update.
Belangrijk: het verwijderen van gegevens uit labels (bijv. u bent gestopt met het doorgeven van gegevens aan derden) vereist geen nieuwe build — het is voldoende om de labels in App Store Connect te wijzigen. Het toevoegen van nieuwe gegevens vereist zowel het wijzigen van de labels als het overeenkomstig bijwerken van Privacy Manife in de code.
Ontwikkelaars maken vaak fouten bij het invullen van labels, wat leidt tot afwijzing van updates of gebruikersklachten.
De meest voorkomende fout — de ontwikkelaar vult labels alleen op basis van zijn eigen code in en vergeet SDK's van derden. Firebase, AppsFlyer, Facebook SDK en anderen verzamelen automatisch gegevens zonder extra code van de ontwikkelaar. Firebase Analytics verzamelt bijvoorbeeld gebruiksgegevens (gebeurtenissen, schermen) en identificatoren (Instance ID, IDFV).
Aanbeveling: lees voor elke geïntegreerde SDK de sectie „Data Collected" in de documentatie en voeg de juiste categorieën toe aan de labels. AppsFlyer (2024) publiceert de lijst met verzamelde gegevens voor elke SDK-versie, wat ontwikkelaars helpt de labels te controleren.
Veel ontwikkelaars markeren gegevens als not linked, terwijl ze aan het account zijn gekoppeld. Als de gebruiker een account heeft en u zijn naam of e-mail opslaat — dit is linked. Als u crashlogs verzamelt zonder koppeling aan een account — dit is not linked. Een fout in de koppeling kan worden beschouwd als misleiding van de gebruiker.
Linked gegevens worden in geel weergegeven en trekken meer aandacht van de gebruiker. Als u niet zeker weet of een bepaald type gegevens linked is, kunt u beter linked aangeven en uitleg geven bij de beoordeling. Apple bestraft niet voor overmatige declaratie, maar kan afwijzen voor onvoldoende declaratie.
Als gegevens aan derden worden doorgegeven en worden gebruikt voor gerichte reclame, moet dit worden gemarkeerd als „Gegevens gebruikt voor tracking". Sommige ontwikkelaars verbergen tracking door gegevens onder het mom van analyse door te geven — dit schendt de Apple-regels en kan leiden tot een ban.
Apple-regel: als gegevens aan een derde partij worden doorgegeven en worden gebruikt voor personalisatie van reclame of attributie — dit is tracking. Zelfs als de app zelf geen reclame toont, maar Google Ads gebruikt voor installatie-attributie, worden bekijkgegevens beschouwd als tracking.
Oude labels die niet overeenkomen met de huidige gegevensverzamelingslogica — een veelvoorkomend probleem bij langdurig onderhoud van de app. Ontwikkelaars veranderen SDK's, voegen nieuwe functies toe, maar vergeten de labels bij te werken. Als gevolg hiervan ziet de gebruiker verouderde informatie, wat het vertrouwen vermindert.
Beste praktijk: controleer bij elke codewijziging met betrekking tot gegevens de labels en het manifest. Het wordt aanbevolen een CI-controle in te stellen die waarschuwt voor de noodzaak om labels bij te werken bij wijziging van PrivacyInfo.xcprivacy-bestanden of de SDK-lijst.
Veelgestelde vragen
Ja, labels zijn verplicht voor alle apps, inclusief gratis, gratis met aankopen en betaalde apps. De uitzondering zijn alleen apps in de categorie „Voor kinderen", waar de regels nog strenger zijn.
App Store Connect staat niet toe dat de build ter beoordeling wordt verzonden zonder ingevulde labels. Al gepubliceerde apps blijven in de winkel, maar kunnen geen updates ontvangen zonder labels.
Bij elke wijziging in de gegevensverzamelingslogica: toevoeging van een nieuwe SDK, wijziging van gebruiksdoeleinden, doorgeven van gegevens aan derden. Controleer ten minste elke 6-12 maanden de labels op overeenstemming met de huidige code.
Ja, elke gebruiker kan een discrepantie tussen labels en het werkelijke gedrag van de app melden via het Apple-formulier. Na ontvangst van meerdere klachten kan Apple een controle uitvoeren en de volgende update afwijzen.
Ja, labels zijn zichtbaar op de app-pagina, maar worden niet weergegeven in zoekresultaten of aanbevelingen. De gebruiker ziet ze bij het bekijken van de app-pagina vóór installatie.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook