Guide confidentialité Google Play

Google Play Data Safety pour les apps Expo

Data Safety inclut les données transmises par les SDKs. package.json donne des signaux sans remplacer la connaissance du backend.

LaunchLint Academy

11 min de lectureVérifié par l’équipe éditoriale de LaunchLint
Illustration de données d’app transitant par des SDK vers Data Safety Google Play
Une déclaration fiable rapproche inventaire SDK, flux réels, backend et réponses Play Console.
TL;DR

La réponse courte

  • Data Safety décrit les données collectées ou partagées, leurs finalités, la sécurité et la suppression. Même sans collecte, l’app remplit le formulaire et lie une politique de confidentialité.
  • package.json, configuration et permissions sont des signaux, pas une déclaration. SDK tiers, backend, consentement et transmissions réelles doivent être vérifiés.
  • Créez une fiche par SDK et endpoint, classez collected et shared selon Google, puis réévaluez Play Console à chaque changement.

1. Version et données couvertes

Google exige le formulaire pour les apps publiées en closed, open et production ; internal testing exclusif est exempté. La déclaration s’applique au package et doit représenter les artefacts actifs. Une ancienne version distribuée peut encore contenir un autre SDK.

La collecte implique généralement un transfert hors de l’appareil. Un traitement uniquement local peut être exclu. Une permission ne prouve pas la collecte et l’absence de permission sensible ne prouve pas l’absence de télémétrie, IP ou identifiants.

2. Collected et shared sont distincts

Des données peuvent aller vers votre backend ou un prestataire et être collected sans toujours être shared. Un SDK peut aussi les transférer. Les exceptions de service provider ou légales doivent correspondre à la relation réelle.

Commencez par le flux : source, type, destinataire, finalité, moment, choix, conservation et suppression. Traduisez ensuite vers les catégories Google pour éviter de mal classer Device ID, crash event ou IP.

Questions par flux
QuestionPreuveBut
Quitte l’appareil ?Destination et logsSéparer usage local
Qui reçoit ?Backend ou SDKÉvaluer le partage
Pourquoi ?Fonction ou analyticsChoisir la finalité
Optionnel ?Consent et réglageRequired ou optional

3. Inventorier SDK Expo et dépendances natives

Expo abstrait le projet natif sans supprimer la responsabilité. Analytics, crash, push, auth, cartes, pubs, paiements et social login peuvent transmettre. Vérifiez dépendances directes et transitives, production, modules optionnels et initialisation avant consentement.

Google rend le développeur responsable du code tiers. Documentation et Play SDK Index aident, mais votre configuration décide.

Fiche minimale par SDK
{
  "sdk": "example-analytics",
  "enabledInProduction": true,
  "dataTypes": ["Device identifiers", "App interactions"],
  "transmittedOffDevice": true,
  "purpose": ["Analytics"],
  "requiredOrOptional": "optional after consent",
  "encryptedInTransit": true,
  "deletionPath": "privacy@example.com"
}
  • package.json et lockfile
  • Plugins app config
  • Manifest et permissions
  • Initialisation et consent
  • Endpoints et uploads
  • Suppression et opt-out
  • Variables de release

4. Finalité, choix, chiffrement et suppression

Sélectionnez seulement les finalités utilisées. Optional suppose un vrai moyen d’éviter la collecte ; un réglage après initialisation n’efface pas le transfert précédent.

Déclarez le chiffrement uniquement s’il couvre toutes les données transmises. Vérifiez anciens endpoints, uploads, WebViews et SDK. Distinguez compte, profil, backups, conservation légale et copies tierces.

  • Finalité par type et destinataire
  • Required ou optional testé
  • TLS partout
  • Conservation dans la politique de confidentialité
  • Suppression in-app et web
  • Abonnements et rétention expliqués

5. La suppression de compte est une preuve

Si l’app crée des comptes, Google exige un chemin in-app et une ressource web pour demander suppression du compte et des données. Le lien peut être public et doit mener au processus, pas à l’accueil.

Testez identification, confirmation, délai, statut et demandes incomplètes sans session développeur. Nommez les données légitimement conservées. Désactiver ou désinstaller n’est pas supprimer.

6. Valider contre build et runtime

L’analyse statique priorise les questions sans remplacer l’observation. Installez le build production sur un appareil neuf et testez premier lancement, consentement, login, fonction, upload, achat, push et suppression. Notez services et destinations réseau.

Rapprochez fichiers du projet, transmission, backend, documentation SDK, politique de confidentialité et formulaire. Ne devinez pas un cas ambigu : demandez et conservez la décision.

  • Inventaire production figé
  • Consent avant SDK optionnel
  • Types et finalités alignés
  • Exceptions documentées
  • Chiffrement et suppression testés
  • politique de confidentialité à jour
  • Draft relu
  • Responsable et date

7. Maintenir Data Safety à chaque release

Nouvel analytics, auth, publicité, upload ou finalité backend peut changer les réponses. Intégrez le contrôle à la Definition of Done et à la checklist de release. Le diff de package.json est un déclencheur utile, mais les changements serveur sans diff mobile comptent aussi.

LaunchLint trouve SDK, plugins, permissions, endpoints et signaux de suppression avec preuve de fichier, mais n’exécute pas le code et n’observe pas les transferts. La déclaration finale combine fichiers du projet, runtime, backend et console. Conservez formulaire, build, date et responsable pour comparer la prochaine release.

Ajoutez un journal de décision pour les réponses sensibles : source consultée, propriétaire du service, finalité confirmée et preuve de suppression. Lorsqu’un fournisseur change ses pratiques, le journal montre quelles réponses doivent être rouvertes. Faites relire le draft par une personne qui connaît le backend et une autre qui connaît le parcours utilisateur ; une seule perspective laisse facilement passer un transfert indirect ou une option conditionnelle.

Contrôle des changements :

  • SDK ajouté, retiré ou mis à jour
  • Nouvelle finalité
  • Nouveau endpoint ou fournisseur
  • Consentement déplacé
  • Conservation ou suppression modifiée
  • Nouvelle audience ou région
  • Nouveau flux d’upload
  • Relecture du draft

Questions fréquentes

Une app sans collecte remplit-elle Data Safety ?

Oui sur les tracks concernés. Elle lie aussi une politique de confidentialité et vérifie ses SDK.

package.json peut-il générer le formulaire ?

Non. Il ne connaît pas entièrement runtime, backend, finalités, consentement, conservation et suppression.

Un prestataire est-il toujours du sharing ?

Pas nécessairement ; Google prévoit des exceptions selon la relation et l’usage réel. Documentez la décision.

Quand mettre à jour ?

Quand types, finalités, destinataires, SDK, consentement, sécurité ou suppression changent.

Sources officielles

Cet article s’appuie sur les sources officielles ci-dessous. Les règles peuvent évoluer : vérifiez leur version actuelle avant chaque soumission.