Guide RGPD du développeur

La CNIL publie un guide RGPD pour les développeurs

Afin de vous accompagner dans la mise en conformité de vos développements projet web ou applicatif, la CNIL a élaboré un guide de bonnes pratiques des développements en open source.

Ce guide est publié sous licence GPLv3 et sous licence ouverte 2.0 (explicitement compatible avec CC-BY 4.0 FR). Vous pouvez donc librement contribuer à son enrichissement.

Ce guide s’adresse-t-il uniquement aux développeurs ?

Que vous travailliez seul(e) ou en équipe au développement d'un projet, que vous soyez amené(e) à gérer une équipe de développement, que vous soyez un prestataire, ou simplement curieux, ce guide contient une première approche des grands principes du RGPD et des différents points d’attention à prendre en compte dans le déploiement d’applications respectueuse de la vie privée de ses utilisateurs.

Il propose des conseils et des bonnes pratiques, et offre ainsi des clés de compréhension du RGPD utiles pour tous les acteurs, quelle que soit la taille de leur structure. Il peut également faire l’objet d’échanges au sein des services et dans la relation avec vos clients.

Que contient le guide ?

Ce guide est découpé en 16 fiches thématiques qui couvrent la plupart des besoins des développeurs pour les accompagner à chaque étape de leur projet, de la préparation du développement à la mesure de l’audience.

Le règlement général sur la protection des données (ou RGPD) précise que la protection des droits et libertés des personnes physiques exige de prendre des « mesures techniques et organisationnelles appropriées afin de garantir que les exigences du présent règlement sont respectées » (considérant 78).

La détermination de ces mesures est forcément liée au contexte des traitements mis en place, et le responsable de traitement (l'entité publique ou privée qui traite des données personnelles) doit à ce titre assurer la sécurité des données qu'il est amené à traiter.

Les bonnes pratiques de ce guide n’ont donc pas vocation à couvrir l’ensemble des exigences des règlementations ni à être à prescriptives, elles apportent un premier niveau de mesures permettant de prendre en compte les problématiques de protection de la vie privée dans les développements informatiques qui ont vocation à être appliquées à tous les projets traitant des données. En fonction de la nature des traitements opérés dans certains cas des mesures complémentaires devront être mises en œuvre afin de respecter pleinement la réglementation.

Tables des matières

  1. Développer en conformité avec le RGPD

  2. Identifier les données à caractère personnel

  3. Préparer son développement

  4. Sécuriser son environnement de développement

  5. Gérer son code source

  6. Faire un choix éclairé de son architecture

  7. Sécuriser vos sites web, vos applications et vos serveurs

  8. Minimiser les données collectées

  9. Gérer les profils utilisateurs

  10. Maîtriser vos bibliothèques et vos SDK

  11. Veiller à la qualité de votre code et sa documentation

  12. Tester vos applications

  13. Informer les utilisateurs

  14. Préparer l'exercice des droits des personnes

  15. Gérer la durée de conservation des données

  16. Prendre en compte les bases légales dans l’implémentation technique

  17. Mesurer la fréquentation de vos sites web et de vos applications

Comment contribuer à ce guide ?

Ce guide est disponible en deux versions :

La contribution se fait en quelques étapes :

Votre proposition de contribution sera examinée par la CNIL avant sa publication. La version web du guide RGPD du développeur sera régulièrement mise à jour.

Usage

Pour faire vous-même une « release » de ce repository, vous pouvez utiliser l’outil Pandoc. Cet outil vous permettra de convertir les fiches en un fichier docx ou bien un document HTML.

Vous pouvez retrouver les instructions pour installer cet outil ici

Fiche n°0 : Développer en conformité avec le RGPD

Que vous travailliez seul⋅e ou en équipe au développement d’un projet, que vous soyez amené⋅e à gérer une équipe de développement, ou que vous soyez un prestataire réalisant des développements pour des tiers, il est indispensable de s’assurer durant toute la vie du projet que les données de vos utilisateurs ainsi que toutes les opérations effectuées sur celles-ci soit protégées en permanence.

Les étapes suivantes vous aideront dans le développement d’applications ou de sites web respectueux de la vie privée :

  1. Sensibilisez-vous aux grands principes du RGPD. Si vous travaillez en équipe, nous vous recommandons d’identifier une personne chargée du pilotage de sa conformité. Si votre entreprise dispose d’un délégué à la protection des données (DPO), celui-ci constitue alors un atout majeur pour comprendre et respecter les obligations du RGPD. Sa désignation peut par ailleurs être obligatoire dans certains cas, notamment si vos programmes ou vos applications traitent des données dites « sensibles » (cf. les exemples) à grande échelle ou réalisent un suivi régulier et systématique à grande échelle.

  2. Cartographiez et catégorisez les données et les traitements de votre système. Recenser de façon précise les traitements réalisés par votre programme ou votre application vous aidera à vous assurer qu’ils respectent bien les obligations légales en la matière. La tenue d’un registre des activités de traitement (dont vous trouvez un exemple sur le site de la CNIL), vous permet d’avoir une vision globale sur ces données, d’identifier et de hiérarchiser les risques associés. En effet, des données personnelles peuvent être présentes dans des endroits inattendus comme dans les journaux de serveurs, les fichiers de cache, les fichiers Excel, etc. Sa tenue est obligatoire dans la plupart des cas.

  3. Priorisez les actions à mener. Sur la base du registre des activités de traitement, identifiez en amont du développement les actions à mener pour vous conformer aux obligations du RGPD et priorisez les points d’attention au regard des risques pour les personnes concernées par la collecte de données. Ces points d’attention concernent notamment la nécessité et les types de données collectées et traitées par votre programme, la base légale sur laquelle se fonde vos traitements de données, les mentions d’information de votre programme ou de votre application, les clauses contractuelles vous liant à vos sous-traitants, les modalités d’exercice des droits, les mesures mises en place pour sécuriser vos traitements.

  4. Gérez les risques. Lorsque vous identifiez que des traitements de données personnelles sont susceptibles d’engendrer des risques élevés pour les personnes concernées, assurez-vous que vous gérez ces risques de façon appropriée au regard du contexte. Une analyse d’impact relative à la protection des données (AIPD) peut vous accompagner dans la maîtrise de ces risques. La CNIL a élaboré une méthode, des modèles de documents et un outil qui vous aideront à identifier ces risques ainsi qu’un catalogue de bonnes pratiques qui vous accompagnera dans la mise en place de mesures permettant de traiter les risques identifiés. Par ailleurs, la réalisation d’une analyse d’impact relative à la protection des données est obligatoire pour tous les traitements susceptibles d’engendrer des risques élevés pour les droits et libertés des personnes concernées. La CNIL propose, sur son site web, une liste des types d’opérations de traitement pour lesquelles une AIPD est requise ou, au contraire, non requise.

  5. Organisez des processus internes pour vous assurer d’être en conformité durant toutes les étapes du développement, veillez à ce que des procédures internes garantissent la prise en compte de la protection des données sur tous les aspects de votre projet et prenant en compte l’ensemble des événements qui peuvent survenir (ex. : faille de sécurité, gestion des demandes de rectification ou d’accès, modification des données collectées, changement de prestataire, violation de données, etc.). Les exigences du label gouvernance (même si celui-ci plus octroyé par la CNIL depuis l’entrée en application du RGPD) peuvent constituer une base d’inspiration utile pour vous aider à mettre en place l’organisation nécessaire.

  6. Documentez la conformité de vos développements pour prouver votre conformité au RGPD à tout moment : les actions réalisées et les documents produits à chaque étape du développement doivent être maîtrisés. Cela implique notamment un réexamen et une actualisation réguliers de la documentation de vos développements afin qu’elle soit en permanence en cohérence avec les fonctionnalités déployées sur votre programme.

Le site de la CNIL fournit de nombreuses fiches pratiques qui vous accompagneront dans la mise en place de traitements respectueux de la loi suivant votre secteur d’activité.

Fiche n°1 : Identifier les données à caractère personnel

Comprendre les notions de « données personnelles », de « finalité » et de « traitement » est indispensable pour le développement d’une application respectueuse de la loi et des données des utilisateurs. Attention, notamment, à ne pas confondre « anonymisation » et « pseudonymisation » qui ont des définitions très précises dans le RGPD.

Définition

Exemples de données à caractère personnel

L’anonymisation des données à caractère personnel

La pseudonymisation des données à caractère personnel

Fiche n°2 : Préparer son développement

Les principes de la protection des données à caractère personnel doivent être intégrés aux développements informatiques dès les phases de conception afin de protéger la vie privée des personnes dont vous allez traiter les données, et de leur offrir une meilleure maîtrise de leurs données et de limiter les erreurs, pertes, modifications non autorisées, ou mauvais usages de celles-ci dans les applications.

Choix méthodologiques

Choix technologiques

Architecture et fonctionnalités

Outils et pratiques

Fiche n°3 : Sécuriser son environnement de développement

La sécurité des serveurs de production, de développement, d'intégration continue ainsi que les postes de travail des développeurs doit être une priorité car ils centralisent l'accès à un grand nombre de données.

Évaluez vos risques et adoptez les mesures de sécurité adéquates

Sécurisez vos serveurs et vos postes de travail d'une façon homogène et reproductible

Insistez particulièrement sur la gestion des accès et la traçabilité des opérations

Fiche n°4 : Gérer son code source

Quelle que soit l’ampleur de votre projet, il est très fortement recommandé d’utiliser un outil de gestion de code source pour suivre dans le temps ses différentes versions.

Paramétrez efficacement votre gestionnaire de code source, en pensant à sa sécurité

Soyez vigilant sur le contenu de votre code source

Enfin, si vous devez inclure de telles données dans votre dépôt, pensez à chiffrer/déchiffrer automatiquement les fichiers en utilisant un greffon de votre gestionnaire de code source (par exemple git-crypt).

Exemples d’outils

Fiche n°5 : Faire un choix éclairé de son architecture

Lors de la conception de l’architecture de votre application, vous devez identifier les données personnelles qui seront collectées et définir un parcours et un cycle de vie pour chacune d’entre elles. Le choix des supports de données (stockage local, serveur, service cloud) est une étape cruciale, qui doit être adaptée à vos besoins, mais aussi à vos connaissances techniques. Le registre des activités de traitement et une analyse d’impact peuvent vous accompagner dans ce choix.

Étudier le parcours de ses données

En cas de recours à un prestataire pour l’hébergement

Fiche n°6 : Sécuriser vos sites web, vos applications et vos serveurs

Tout site web, application ou serveur doit intégrer les règles élémentaires de sécurité à l’état de l’art, tant sur les communications que sur les authentifications ou son infrastructure.

Sécuriser les communications

Sécuriser les authentifications

Sécuriser les infrastructures

Fiche n°7 : Minimiser les données collectées

Vous ne devez collecter que les données personnelles qui sont adéquates, pertinentes et nécessaires au regard des finalités de votre traitement telles que définies au moment de la collecte.

Avant la collecte, pensez aux différents types de données que vous devez collecter et essayez de restreindre votre collecte au strict nécessaire

Une fois les données collectées, mettez en place des mécanismes d’effacement automatique

Fiche n°8 : Gérer les utilisateurs

La manière de gérer les profils de vos collaborateurs et de vos utilisateurs finaux doit être pensée en amont de vos développements. Elle consiste à définir différents profils d’accès et d’habilitation afin que chaque personne ne puisse accéder qu’aux seules données dont il a effectivement besoin.

Les bonnes pratiques de gestion des utilisateurs

Fluidifier la gestion des profils d’habilitation

Fiche n°09 : Maîtriser vos bibliothèques et vos SDK

Vous utilisez des bibliothèques, kits de développement (« SDK » en anglais), ou d’autres composants logiciels écrits par des tiers ? Voici quelques conseils pour intégrer ces outils tout en gardant la maîtrise de vos développements.

Faire un choix éclairé

Évaluer les éléments choisis

Maintenir les bibliothèques et SDK

Fiche n°10 : Veiller à la qualité de votre code et sa documentation

Il est indispensable d’adopter au plus tôt une bonne hygiène d’écriture de code. Une bonne lisibilité de votre code permettra de réduire l’effort de maintenance, d’audit et de corrections des bogues dans le temps, que vous, vos collaborateurs ou vos futurs contributeurs devront fournir.

Documentez le code et l’architecture

Contrôlez la qualité de votre code et de sa documentation

Fiche n°11 : Tester vos applications

Tester son produit permet de s’assurer de son bon fonctionnement, d’une bonne expérience utilisateur et de l’absence de certaines erreurs avant et après sa mise en production. Tester son produit permet également de réduire les risques d’atteinte aux données personnelles.

Automatisez les tests

Intégrez les tests dans votre stratégie d’entreprise

Attention aux données de test !

Fiche n°12 : Informer les personnes

Le principe de transparence du RGPD exige que toute information ou communication relative au traitement de données à caractère personnel soit concise, transparente, compréhensible et aisément accessible en des termes simples et clairs.

Qui informer et quand le faire ?

Quelles informations dois-je donner ?

Sous quelle forme dois-je fournir ces informations ?

Quelle communication effectuer lorsque la sécurité des données est compromise ?

Ressources utiles

Fiche n°13 : Préparer l’exercice des droits des personnes

Les personnes dont vous traitez les données ont des droits sur ces données : droit d’accès, de rectification, d’opposition, d’effacement, à la portabilité et à la limitation du traitement. Vous devez leur donner les moyens d’exercer effectivement leurs droits et prévoir dans vos systèmes informatiques les outils techniques qui permettront la bonne prise en compte de leurs droits.

Préparer en amont la façon dont ils vous contacteront et dont vous traiterez leurs demandes vous permettra de gérer efficacement l’exercice de ces droits.

Les mesures minimales à mettre en place

Voici quelques exemples de droits et leur possible implémentation

En conclusion

Fiche n°14 : Gérer la durée de conservation des données

Les données personnelles ne peuvent pas être conservées pour une durée indéfinie : celle-ci doit être définie en fonction des objectifs poursuivis par le traitement. Une fois cet objectif atteint, ces données devraient être archivées, supprimées ou anonymisées (par exemple afin de produire des statistiques).

Les cycles de conservation des données

Quelques exemples de durée de conservation

Fiche n°15 : Prendre en compte les bases légales dans l’implémentation technique

Pour pouvoir être mis en œuvre, les traitements de données personnelles doivent se fonder sur l’une des « bases légales » mentionnées à l’article 6 du RGPD. La base légale d’un traitement est en quelque sorte la justification de l’existence même du traitement. Le choix d’une base légale va directement impacter les conditions de mise en œuvre du traitement et les droits des personnes. Ainsi, prévoir en amont d’un développement les bases légales des traitements prévus dans le projet vous permettra d’intégrer au mieux les fonctions nécessaires à la conformité à la loi de ces traitements et au respect des droits des personnes.

Définition des bases légales prévues par le RGPD

Choisir la base légale adéquate

Les exercices des droits et les modalités d’information à prévoir suivant la base légale

Droit d’accès Droit de rectification Droit à l’effacement Droit à la limitation du traitement Droit à la portabilité Droit d’opposition
Consentement retrait du consentement
Contrat
Intérêt légitime
Obligation légale
Intérêt public
Intérêts vitaux

Le cas spécifique des cookies et autres traceurs

Fiche n°16 : Mesurer la fréquentation de vos sites web et de vos applications

Les outils de mesures d’audience sont utilisés afin d’obtenir des informations sur la navigation des visiteurs sur un site web ou une application mobile. Ils permettent notamment de comprendre comment les utilisateurs arrivent sur un site et de reconstituer leur parcours. Utilisant des cookies, ils sont soumis à la règle du consentement, sauf dans un cas particulier.

Obtenir le consentement

Bénéficier de l’exemption de consentement

En pratique