Le RGPD vu par les développeurs
Le Règlement Général sur la Protection des Données (RGPD) est souvent perçu comme un sujet juridique. Pourtant, la conformité se joue largement au niveau technique : c'est le code qui collecte, stocke, traite et supprime les données personnelles. Les développeurs sont en première ligne.
Ce guide traduit les exigences du RGPD en pratiques techniques concrètes, applicables à tout projet web ou mobile.
Privacy by design : intégrer la conformité dès la conception
Le RGPD impose le principe de « protection des données dès la conception ». Concrètement, cela signifie :
- Minimisation : ne collectez que les données strictement nécessaires à la finalité déclarée. Si vous n'avez pas besoin de la date de naissance, ne la demandez pas.
- Pseudonymisation : remplacez les identifiants directs par des pseudonymes quand c'est possible, notamment dans les environnements de test et de staging.
- Limitation de conservation : définissez des durées de rétention pour chaque type de donnée et implémentez des mécanismes de purge automatique.
Consentement et gestion des préférences
Le consentement doit être libre, spécifique, éclairé et univoque. Techniquement, cela implique :
- Un mécanisme de recueil du consentement (CMP) qui bloque les scripts tiers avant acceptation.
- Un stockage du consentement horodaté et versionnalité (qui a consenti, à quoi, quand, quelle version de la politique).
- Une API ou interface permettant à l'utilisateur de retirer son consentement à tout moment.
Droits des personnes : implémentation technique
Le RGPD garantit plusieurs droits aux personnes concernées. Chacun nécessite une implémentation technique :
- Droit d'accès : endpoint API qui exporte toutes les données d'un utilisateur au format structuré (JSON, CSV).
- Droit de rectification : interface permettant de modifier ses données personnelles.
- Droit à l'effacement : suppression complète des données (y compris backups, caches, logs nominatifs) dans un délai d'un mois.
- Droit à la portabilité : export des données dans un format interopérable (JSON, CSV).
Chiffrement et sécurité des données
Le RGPD exige des mesures de sécurité « appropriées » sans imposer de technologies spécifiques. Les bonnes pratiques incluent :
- Chiffrement des données au repos (AES-256) et en transit (TLS 1.2+).
- Hachage des mots de passe avec bcrypt, scrypt ou Argon2 (jamais MD5 ou SHA-1).
- Gestion des clés de chiffrement via un KMS (AWS KMS, HashiCorp Vault).
- Séparation des environnements avec des données anonymisées en développement et staging.
Journalisation et traçabilité
Vous devez pouvoir démontrer la conformité (principe d'accountability). Journalisez les accès aux données personnelles, les modifications, les exports et les suppressions. Conservez ces logs de manière sécurisée et séparée des données elles-mêmes.
Attention : les logs eux-mêmes ne doivent pas contenir de données personnelles en clair. Utilisez des identifiants techniques plutôt que des emails ou des noms dans vos logs.
Checklist RGPD pour les développeurs
- Inventaire des données personnelles collectées et de leurs finalités.
- Mécanisme de consentement conforme avec stockage horodaté.
- Endpoints pour les droits d'accès, rectification, effacement et portabilité.
- Chiffrement au repos et en transit.
- Durées de rétention définies avec purge automatique.
- Données anonymisées dans les environnements non-production.
- Journalisation des accès aux données personnelles.