CarnetLe RGPD pour les développeur·euses
Chapitres

Chapitres

Sur cette page

Le RGPD pour les développeur·euses

Pour un·e développeur·euse, le Règlement Général sur la Protection des Données (RGPD) fait partie de l’architecture d’un projet, au même titre que les performances, le schéma de base de données, l’API ou le choix de la stack.

Ce cours ne fait pas de vous un·e juriste. Il montre comment concevoir une application qui traite les données personnelles de façon transparente, sécurisée et proportionnée.

Pour un produit d’IA, lisez aussi le chapitre Repères AI Act et RGPD, avec la pyramide des risques, les rôles et la méthode de classement d’un usage.

Le RGPD part d’un principe : chaque donnée personnelle doit avoir une raison d’être.

Pour chaque fonctionnalité, vous devez pouvoir répondre à ces questions :

  • Pourquoi cette donnée est-elle collectée ?
  • Est-elle nécessaire ?
  • Quelle est sa base légale ?
  • Qui peut y accéder ?
  • Combien de temps est-elle conservée ?
  • L’utilisateur peut-il la modifier ou la supprimer ?

Référence : RGPD art. 5 : Principes relatifs au traitement des données personnelles.

Quand on développe une fonctionnalité, on commence souvent par la base de données :

Créer une table Users → Ajouter une colonne email → Créer un formulaire → Afficher le profil

Le RGPD demande de partir du besoin métier :

L’utilisateur souhaite créer un compte → Le produit doit permettre son authentification → Un traitement de données est nécessaire → L’email est indispensable → La base légale est le contrat → La donnée est stockée en base

Une même donnée peut avoir plusieurs usages. Une adresse email sert à l’authentification, à l’envoi des factures et à la newsletter. Chaque usage a sa base légale : contrat, obligation légale et consentement.

Identifier les données personnelles

Une donnée personnelle est une information qui permet d’identifier une personne, directement ou indirectement.

Exemples :

  • Nom
  • Prénom
  • Adresse e-mail
  • Numéro de téléphone
  • Adresse IP
  • Cookie d’identification
  • Photo
  • Adresse postale
  • Identifiant utilisateur
  • Localisation GPS

Une combinaison d’informations (par exemple ville + date de naissance + profession) peut aussi identifier une personne.

Dès qu’une application traite ce type d’information, le RGPD s’applique.

Références

RGPD art. 4 (Définition des données personnelles)

CNIL - Qu’est-ce qu’une donnée personnelle ?

France num - Qu’est-ce qu’une donnée personnelle ?

Lister les fonctionnalités

Par exemple :

  • Création d’un compte
  • Authentification
  • Paiement
  • Newsletter
  • Support
  • Statistiques
  • Journalisation
  • Notifications

Chaque fonctionnalité devient un traitement.

Décrire le traitement

Pour chaque traitement, répondez aux mêmes questions.

QuestionExemple
Pourquoi existe-t-il ?Permettre la connexion
Qui est concerné ?Les utilisateurs inscrits
Quelles données ?Email, mot de passe
Qui y accède ?Utilisateur + administrateur
Combien de temps ?Jusqu’à suppression du compte

Justifier chaque donnée collectée

DonnéeObligatoirePourquoi ?
EmailOuiConnexion
NomOuiPersonnalisation
PrénomOuiPersonnalisation
Mot de passe (hashé)OuiAuthentification
AvatarNonPersonnalisation

Une donnée sans usage défini ne se collecte pas.

Références

Choisir la bonne base légale

Appliquer le RGPD ne veut pas dire demander le consentement pour tout. Le consentement est une des six bases légales prévues par l’article 6. Une application web en utilise surtout quatre :

Base légaleQuand l’utiliser ?
ContratFournir le service demandé
ConsentementNewsletter, marketing, options facultatives
Obligation légaleFacturation, comptabilité
Intérêt légitimeSécurité, lutte contre la fraude

Exemples :

TraitementBase légaleConsentement ?
Création du compteContrat❌ Non
Paiement d’un abonnementContrat❌ Non
Envoi d’une factureContrat + obligation légale❌ Non
Conservation des facturesObligation légale❌ Non
NewsletterConsentement✅ Oui
Publicité cibléeConsentement✅ Oui

Créer un compte revient à conclure un contrat. Les données strictement nécessaires à ce contrat (adresse email, mot de passe, abonnement…) n’ont pas besoin d’un consentement séparé.

Références

Définir une durée de conservation

Chaque donnée a une durée de conservation.

TraitementDonnéeBase légaleDurée
CompteEmailContratJusqu’à suppression du compte
PaiementHistoriqueContrat + obligation légale10 ans
NewsletterEmailConsentementJusqu’au retrait du consentement

Aucune donnée ne se conserve « pour toujours » sans justification.

Références

Prévoir les droits des utilisateurs

Une personne doit pouvoir, sans démarche compliquée :

  • consulter ses données
  • modifier ses données
  • télécharger ses données
  • supprimer son compte
  • retirer son consentement
  • contacter le responsable du traitement.

La plupart de ces droits deviennent des endpoints de l’API :

GET    /me
PATCH  /me
GET    /me/export
DELETE /me
POST   /newsletter/unsubscribe

Références

Et ensuite ?

Avec les réponses à ces questions, vous pouvez produire :

  • le registre des traitements (modèle CNIL) ;
  • la politique de confidentialité ;
  • les mentions d’information ;
  • la checklist Privacy by Design ;
  • les besoins techniques (API, base de données, durées de rétention, suppression).

Exemple de cartographie des traitements

FonctionnalitéTraitementDonnéesBase légaleDuréeObligatoireModifiableSuppression
Création de compteCréer un utilisateurEmailContratJusqu’à suppression du compte✅✅✅
Création de compteAuthentificationMot de passe (hash)ContratJusqu’à suppression✅Oui (changer le mot de passe)✅
ProfilPersonnalisationNomContratJusqu’à suppression✅✅✅
ProfilPersonnalisationPrénomContratJusqu’à suppression✅✅✅
ProfilAvatarAvatarConsentement / Contrat*Jusqu’à suppression❌✅✅
PaiementFacturationAdresseContrat10 ans✅Oui tant que facture non émiseNon avant délai légal
PaiementHistorique d’abonnementDate d’achatContrat + obligation légale10 ans✅❌Non avant délai
PaiementFactureNom + adresseObligation légale10 ans✅Non après émissionNon avant délai
NewsletterEnvoi d’emailsEmailConsentementJusqu’au retrait❌—✅
SécuritéLogs de connexionIPIntérêt légitime6 mois (à adapter)Automatique❌Suppression automatique
SupportRépondre aux demandesEmail + contenuContrat / intérêt légitimeDurée du support + archivage❌NonOui selon contexte

Côté BDD

TableColonneDonnée personnelle ?Pourquoi ?Traitement
usersid✅Identifiant technique, rattaché à une personneCompte
usersemail✅ConnexionCompte
usersfirst_name✅AffichageProfil
userslast_name✅AffichageProfil
userspassword_hash✅AuthentificationCompte
usersavatar_url✅ProfilProfil
userscreated_at⚠️ OuiAuditCompte
subscriptionsstarted_at⚠️ OuiHistoriqueAbonnement
invoicesbilling_address✅FacturationPaiement

Quand l’utilisateur clique sur « Supprimer mon compte »

ÉlémentAction
ProfilSupprimé
AvatarSupprimé
PréférencesSupprimées
Palettes publiquesAnonymisées ou supprimées selon le choix du produit
Historique de paiementConservé
FacturesConservées
LogsPurge automatique après la durée prévue

Fiche par fonctionnalité

Finalité :

Base légale :

Durée de conservation :

Peut être modifiée ? :

Peut être supprimée ? :

Qui y a accès ? :

Références RGPD / CNIL :