App Privacy App Store Connect : que déclarer pour tes SDK
Par Mehdi Azizi
Publié le , 9 min
App Privacy déclare les données que ton app et ses SDK collectent, leur usage, leur lien à l'utilisateur et le suivi. À publier avant de soumettre ta version.
App Privacy est la section d'App Store Connect qui produit les étiquettes de confidentialité de ta fiche. Tu y déclares chaque type de donnée que ton app et les SDK que tu y as intégrés collectent : à quoi il sert, s'il est lié à l'utilisateur, s'il sert au suivi. Tant que tes réponses ne sont pas publiées, App Store Connect refuse d'ajouter ta version à une soumission.
Les réponses se corrigent à tout moment, sans build. Le plus dur est de savoir quoi déclarer pour RevenueCat, Sentry, PostHog, Supabase, AppsFlyer, Meta ou les notifications Expo. Le tableau plus bas part de la documentation de chaque SDK et des manifestes qu'ils embarquent, relus le 15 octobre 2026.
Je publie mes propres apps iOS avec Expo et ces SDK. Ce guide dit ce que demande Apple et ce que j'ai appliqué. Il ne remplace pas un avis juridique.
App Privacy, politique et manifeste : trois choses différentes
- La politique de confidentialité est une page web dont tu donnes l'adresse. La méthode est dans politique de confidentialité d'une app iOS.
- Le manifeste de confidentialité est un fichier
PrivacyInfo.xcprivacyembarqué dans le build. Il est détaillé dans le guide ITMS-91053. - App Privacy est le questionnaire d'App Store Connect. Il s'affiche sur ta fiche en trois blocs : données utilisées pour te suivre, données liées à toi, données non liées à toi.
Les trois doivent raconter la même histoire. La page d'Apple App Privacy Details précise que ces informations sont exigées pour soumettre une app et ses mises à jour, et qu'elles couvrent aussi tes partenaires tiers : outils d'analyse, régies, SDK et fournisseurs dont tu as ajouté le code.
Remplir App Privacy pas à pas
L'aide d'App Store Connect détaille les étapes ci-dessous.
Pour remplir le questionnaire, ton rôle doit être Account Holder, Admin ou App Manager.
- Dans Apps, ouvre ton app, puis App Privacy dans la barre latérale.
- Clique sur Get Started.
- Réponds à la première question : collectes-tu des données, toi ou tes partenaires ? Si la réponse est non, choisis « No, we do not collect data from this app » et enregistre. C'est fini.
- Sinon, coche tous les types de données collectés, par ton code ou par tes SDK.
- Pour chaque type, réponds aux trois questions : usages, lien à l'utilisateur, suivi.
- Relis l'aperçu de la fiche (Product Page Preview), clique sur Publish et confirme.
Si ton app est déjà en ligne, Apple demande que les réponses décrivent les données de la version en ligne.
Publie avant de soumettre. En septembre 2026, sur Piaf, l'ajout de la version à la soumission a échoué avec ce message : « You must have published answers to your app's data usages. » Je n'ai pas trouvé comment remplir ce formulaire par l'API publique d'App Store Connect. Je le fais donc dans l'interface web, avant tout le reste.
Les trois questions posées pour chaque donnée
Ce que veut dire collecter
Pour Apple, collecter, c'est envoyer une donnée hors de l'appareil et pouvoir y accéder plus longtemps que le temps de répondre à la requête. Donc :
- une donnée traitée seulement sur l'iPhone n'est pas collectée ;
- un jeton ou une adresse IP envoyés puis jetés aussitôt ne le sont pas non plus ;
- une donnée collectée pour le seul fonctionnement de l'app reste à déclarer, avec cet usage.
Les usages
Apple propose six usages : publicité tierce, publicité ou marketing du développeur, analyse, personnalisation du produit, fonctionnalité de l'app et autres usages. Une même donnée peut en cocher plusieurs : un e-mail qui sert à la connexion et à personnaliser l'app coche fonctionnalité et personnalisation.
Liée à l'utilisateur
Une donnée est liée quand elle est rattachée à l'identité de la personne, par son compte, son appareil ou un autre moyen. Apple précise qu'elle l'est souvent, sauf si tu la rends anonyme avant de la collecter et que tu ne cherches jamais à la relier ensuite. Dès que tu passes l'identifiant du compte à un SDK (identify, setUser, logIn), les données de ce SDK deviennent liées.
Le suivi
Le suivi, c'est relier les données de ton app à des données venues d'apps ou de sites d'autres entreprises, pour la publicité ciblée ou la mesure publicitaire. Partager des données avec un courtier compte aussi. Un SDK qui croise tes données avec celles d'autres apps pour la publicité compte comme du suivi, même si tu ne t'en sers pas pour ça.
Un « oui » au suivi a deux conséquences : la demande App Tracking Transparency avant tout suivi, expliquée dans la guideline 5.1.2, et un manifeste qui déclare le suivi avec ses domaines : sans ces domaines, tu reçois l'erreur ITMS-91064.
Que déclarer pour les SDK d'une app Expo
Ce tableau part de la configuration par défaut de chaque SDK. Dès que tu leur envoies plus, e-mail, identifiant du compte ou événements maison, tu déclares plus.
| SDK | Données à déclarer | Suivi | Source |
|---|---|---|---|
| RevenueCat | Historique d'achats | Non | Doc RevenueCat |
| Sentry | Plantages, performances | Non | Doc et manifeste |
| PostHog | Interactions avec l'app | Non | Manifeste PostHog iOS |
| Supabase Auth | E-mail, ID utilisateur | Non | Aucune doc trouvée |
| AppsFlyer | ID appareil, interactions | Oui, ID appareil | Manifeste AppsFlyer |
| Meta SDK | ID appareil, plantages | Oui, ID appareil | Doc et manifeste Meta |
| Expo Notifications | ID appareil (jeton push) | Non | Aucune doc trouvée |
RevenueCat
Sa documentation App Privacy demande de déclarer l'historique d'achats, avec deux usages que tout utilisateur de RevenueCat doit cocher : analyse et fonctionnalité de l'app. Lié : non si tes identifiants sont anonymes, oui si ton identifiant d'utilisateur RevenueCat peut être relié à un e-mail. Ajoute l'identifiant utilisateur si tu passes ton propre ID, et les coordonnées si tu envoies un e-mail en attribut. Le manifeste du SDK ne cite que la fonctionnalité : suis la doc, plus complète. Le branchement est dans RevenueCat pour les abonnements in-app.
Sentry
Sa page sur la confidentialité mobile le dit : Sentry est un partenaire à déclarer, ses usages standard sont l'analyse et la fonctionnalité de l'app, il ne fait pas de suivi et n'a pas besoin de l'identifiant publicitaire. Son manifeste déclare les données de plantage, de performance et d'autres diagnostics, non liées. Si tu attaches l'identifiant du compte aux rapports avec Sentry.setUser, elles deviennent liées.
PostHog
Je n'ai pas trouvé de recommandation App Privacy publiée par PostHog. Le manifeste de son SDK iOS déclare l'interaction avec l'app et d'autres données d'usage, non liées, sans suivi, pour l'analyse. Pour React Native, sa documentation indique que le cycle de vie de l'app est capté par défaut, les écrans vus aussi avec React Navigation 6 ou plus ancien, qu'identify relie les événements passés à l'utilisateur, et qu'une localisation déduite de l'IP est ajoutée sauf avec disableGeoip. À mon sens, si tu gardes cette localisation, déclare une localisation approximative.
Supabase Auth
Supabase ne publie pas de recommandation App Privacy, à ma connaissance. D'après les définitions d'Apple, une connexion par e-mail fait déclarer l'adresse e-mail et l'identifiant utilisateur, pour la fonctionnalité de l'app, liés. Ses journaux d'audit enregistrent aussi l'adresse IP de chaque connexion : Apple demande de déclarer une IP conservée selon l'usage que tu en fais. Et tout ce que tu ranges dans tes tables compte : contenus, photos, historique.
AppsFlyer et Meta
Les deux manifestes déclarent l'identifiant de l'appareil comme utilisé pour le suivi, pour la publicité tierce. Celui d'AppsFlyer ajoute l'interaction avec l'app, pour l'analyse. Celui de Meta ajoute des données de plantage et d'autres données. La documentation iOS de Meta précise que son manifeste ne couvre que la collecte par défaut : les données en plus restent à déclarer par toi.
En juillet 2026, en branchant AppsFlyer sur TradaZen, j'ai ajouté l'identifiant de l'appareil, pour la publicité tierce et l'analyse, utilisé pour le suivi. Le bloc « Données utilisées pour vous suivre » est apparu sur la fiche. Le premier build avec AppsFlyer, lui, a été rejeté au traitement : le manifeste de l'app déclarait le suivi sans ses domaines.
Expo Notifications
Je n'ai pas trouvé de recommandation publiée par Expo, et le manifeste d'expo-notifications ne déclare aucune donnée collectée. Mais le jeton push que tu ranges sur ton serveur identifie l'appareil pour ton app. Ma lecture prudente : identifiant de l'appareil, pour la fonctionnalité de l'app, lié si tu le ranges avec le compte, sans suivi. Ce n'est pas une règle écrite par Apple.
Ma méthode : une seule liste pour tout aligner
Je relis la politique publiée avant de toucher au questionnaire. Celle de TradaZen cite l'e-mail de connexion, l'abonnement, le jeton de notification, des statistiques d'usage, des rapports d'erreur et une attribution publicitaire soumise à accord.
Chaque ligne de la politique devient un type dans App Privacy. Quand j'ajoute un SDK ou une fonction qui envoie une donnée, je modifie la politique, App Privacy et le manifeste le même jour.
Pour contrôler, liste les manifestes embarqués avec la commande du guide ITMS-91053 cité plus haut. Avec un Mac et Xcode, le rapport de confidentialité les regroupe : Product, puis Archive, puis Generate Privacy Report dans l'organiseur. Apple le présente comme une aide pour remplir App Store Connect.
Mettre à jour App Privacy sans build
Apple l'écrit : tu peux changer tes réponses à tout moment, sans mise à jour de l'app. L'adresse de ta politique de confidentialité, elle, ne change qu'avec ta prochaine version, d'après l'aide d'App Store Connect.
Mets App Privacy à jour quand tu ajoutes un SDK, quand tu passes l'identifiant du compte à un outil existant, ou quand une fonction envoie un nouveau type de donnée. Un refus qui ne porte que sur ces déclarations se corrige en ligne, comme pour la guideline 5.1.1.
Vérifier ton dossier avant Apple
Le Kit Review Apple réunit ma checklist avant l'envoi, mes refus corrigés et deux skills Claude Code qui relisent ton projet et ta fiche, puis préparent ta réponse si Apple refuse.
Tu veux savoir ce qui bloque encore ? Le diagnostic gratuit t'envoie ma checklist anti-refus Apple. Pour tout le parcours de mise en ligne, lis publier une application sur l'App Store.
Questions fréquentes
Qu'est-ce que App Privacy dans App Store Connect ?
C'est le questionnaire qui produit les étiquettes de confidentialité de ta fiche App Store : données collectées par ton app et ses SDK, usages, lien à l'utilisateur et suivi. Il est obligatoire pour soumettre une app et ses mises à jour.
Faut-il un nouveau build pour modifier App Privacy ?
Non. Apple indique que tu peux changer tes réponses à tout moment, sans mise à jour de l'app : tu modifies, puis tu cliques sur Publish. Seule l'adresse de la politique de confidentialité attend la prochaine version.
Que déclarer pour RevenueCat dans App Privacy ?
L'historique d'achats, avec les usages analyse et fonctionnalité de l'app, d'après la documentation de RevenueCat. Ajoute l'identifiant utilisateur si tu passes ton propre ID, et les coordonnées si tu envoies un e-mail en attribut.
Sentry et PostHog font-ils du suivi au sens d'Apple ?
Non, dans leur configuration par défaut. Sentry écrit qu'il n'utilise pas tes données pour suivre les utilisateurs, et le manifeste iOS de PostHog ne déclare aucun suivi. Leurs données deviennent en revanche liées dès que tu leur passes l'identifiant du compte.
Pourquoi je ne peux pas ajouter ma version à la soumission ?
Souvent parce qu'App Privacy n'est pas publié. App Store Connect affiche alors « You must have published answers to your app's data usages ». Publie tes réponses, puis ajoute la version.

