heygrc
Protection des données par conception et par défaut dans le code selon le RGPD

Le paramètre par défaut est celui que tout le monde obtient.

La protection des données par conception et par défaut, Art. 25, comporte deux volets. Par conception : la confidentialité est intégrée au fonctionnement d'une fonctionnalité, et non ajoutée a posteriori. Par défaut : sans que personne ne touche à un paramètre, le système ne traite que les données personnelles nécessaires à la finalité, et ne rend pas les données d'une personne accessibles à plus de personnes que nécessaire. Le second volet est celui qui se manifeste dans un diff, car une valeur par défaut est une valeur littérale dans le code, et celle-ci devient le paramètre pour chaque utilisateur qui n'ouvre jamais la page des paramètres.

How it shows up in a diff

The shapes the same control failure takes.

L'Art. 25 échoue rarement à cause d'un paramètre que personne ne propose. Il échoue parce que la valeur par défaut d'un paramètre pointe dans la mauvaise direction, ou que le traitement commence avec une portée plus large que nécessaire. Les formes récurrentes :

  • Une visibilité par défaut livrée en mode public

    Un nouveau profil, une publication ou un champ de document est par défaut public, partagé ou découvrable, de sorte que les données d'une personne sont exposées à un public indéfini, sauf si elle trouve le bouton et le modifie.

  • Un désabonnement là où il devrait y avoir un abonnement

    Un indicateur de consentement, un paramètre marketing ou une option de partage de données est par défaut activé, de sorte que le traitement a lieu pour toute personne qui ne le désactive pas activement.

  • Une portée large est la sélection par défaut

    Une nouvelle fonctionnalité utilise par défaut la portée de données la plus large (tous les contacts, toute l'organisation, tous les champs) alors qu'une portée plus restreinte aurait suffi à la finalité.

  • Un contrôle de confidentialité est ajouté mais désactivé par défaut

    Une rédactions, une limite d'audience ou une durée de conservation est intégrée (par conception) mais livrée désactivée par défaut, de sorte que la protection n'existe que pour les utilisateurs qui l'activent.

  • Une valeur par défaut plus sûre est assouplie pour favoriser l'adoption

    Une valeur existante par défaut privée est inversée en public ou partagée pour rendre une fonctionnalité plus utile, élargissant ainsi l'exposition pour tout le monde en même temps.

Worked example

Une fonctionnalité de profils livrée en mode public par défaut.

Une nouvelle fonctionnalité de profils publics permet aux utilisateurs d'afficher un nom, une biographie et une photo. La migration qui ajoute la colonne de visibilité la définit par défaut sur 'public', de sorte que le profil de chaque utilisateur existant et nouveau est visible par tous, et le fait d'être privé est quelque chose qu'il faut choisir dans les paramètres.

migrations/0042_add_profiles.sql+1 -0
ALTER TABLE profiles  ADD COLUMN bio text,+  ADD COLUMN visibility text NOT NULL DEFAULT 'public';
heygrcGDPR Art. 25(2)

Cela rend chaque profil visible à un public indéfini sans que la personne ne l'ait choisi, car 'public' est la valeur par défaut. L'Art. 25(2) (protection des données par défaut) attend que l'option protectrice de la vie privée soit celle par défaut : les données d'une personne ne doivent pas être rendues accessibles à plus de personnes que nécessaire sans son intervention. Définissez la colonne par défaut sur 'private' et laissez les utilisateurs opter pour le mode public, plutôt que de les forcer à se désabonner.

What an auditor does with this

Par défaut signifie la valeur dans le code.

Une revue de protection des données ne vérifie pas seulement qu'un paramètre de confidentialité existe, elle vérifie ce qu'il fait lorsque personne ne le touche. La norme est l'état par défaut : quelles données sont traitées, et qui peut les voir, pour un utilisateur qui n'ouvre jamais la page des paramètres. Un contrôle techniquement présent mais dont la valeur par défaut est la moins protectrice est le type d'écart d'état par défaut que l'Art. 25(2) vise, et cette valeur par défaut est définie dans une migration, un modèle ou une ligne de configuration, une fonctionnalité à la fois. C'est cette ligne qu'une revue du diff peut détecter, avant qu'elle ne devienne l'expérience de tous les utilisateurs.

What this is, and is not

Une revue, pas un avis juridique.

heygrc signale les modifications où une valeur par défaut expose plus de données personnelles que nécessaire et cite l'article afin que le choix soit fait dans la pull request. Il n'effectue pas votre évaluation d'impact sur la protection des données ni ne rend de décision juridique. Il détecte le moment où une valeur par défaut pointe dans la mauvaise direction, dans le diff, alors qu'il ne s'agit encore que d'une ligne à modifier.