Joomla 3.9 est la première version à intégrer des fonctionnalités liées au RGPD. Nul doute que ces fonctionnalités constituent le début d'une orientation majeure du CMS Joomla en matière de conformité au RGPD.
Outre ces nouveautés que nous développons dans cet article, il faut savoir que l'équipe Joomla travaille sur l'environnement et les outils permettant aux éditeurs d'extensions d'intégrer les fonctionnalités RGPD, et au final faire bénéficier les utilisateurs d'un site 100% conforme.
Le RGPD est donc un domaine où Joomla évolue fortement et sur lequel les éditeurs d'extensions sont incités à s'impliquer.
Activation du Consentement pour les utilisateurs Joomla
Joomla 3.9 apporte un certain nombre de plug-ins liés plus ou moins directement au RGPD. En "Extensions/Plugs-in", vous pouvez trier vos plug-ins par Id en ordre croissant pour vous faire une idée ("de "Fields repeatable" à "Privacy Consents").
Le plus important est le plug-in « Système - Consentement à la politique de confidentialité » (ou « System – Privacy Consent »), c'est son activation/désactivation qui déclenche ou non la collecte du consentement des utilisateurs à la conservation de leurs données personnelles.
Il est important de noter que cette procédure s'applique aux utilisateurs strictement Joomla. Cette nouveauté n'intègre pas pour le moment les extensions qui gèrent leurs propres utilisateurs (newsletters, communautés, abonnements).
Principes :
1- dès que le plug in est activé, tout utilisateur nouveau devra cocher une case qui valide son consentement à la conservation de ses données personnelles
2- tous les utilisateurs existants (déjà enregistrés) devront valider cette case à cocher lors de leur prochaine connexion au site
3- le consentement est enregistré et accessible en "Utilisateurs/Confidentialité/Consentement" (ou "Utilisateurs/Privacy/Consents")
4- un consentement peut être "dévalidé" (utile si vous voulez effectuer des tests)
5- la suppression d'un utilisateur entraine l'anonymisation de son consentement.
Paramétrage du plug-in « Système - Consentement à la politique de confidentialité »
Courte politique de confidentialité du site (ou Short Privacy Policy) : pour le moment le lien vers votre article de Politique de Gestion des Données Personnelles ne peut pas être affiché. Il faut donc vous appuyer sur ce champ pour présenter un résumé de votre politique de protection des données personnelles. Il n'est pas possible, pour le moment, d'insérer du HTML dans ce champ.
Pour que le visiteur comprenne pourquoi vous lui demandez un accord/consentement, vous devez notamment exprimer ici :
- le contexte (RGPD - protection des données personnelles)
- le type de données concernées
- l'utilisation que vous comptez faire de ces données
- la durée de conservation des données
- le moyen d'y avoir accès (consultation, modification, suppression, export)
Donc pour pouvoir s'incrire sur votre site, l'utilisateur devra cocher "Je suis d'accord" (par défaut "I agree") en bas du formulaire d'inscription, comme ci-dessous :
Si certaines expressions apparaissent en anglais, voici les substitutions de langues FR à mettre en place en "Extensions/Langues/Substitutions" :
PLG_SYSTEM_PRIVACYCONSENT_LABEL : "Web Site Privacy" => "Données Personnelles"
PLG_SYSTEM_PRIVACYCONSENT_FIELD_LABEL : "Privacy policy" => "Consentement à notre Politique de Données Personnelles"
PLG_SYSTEM_PRIVACYCONSENT_OPTION_AGREE : "I agree" => "Je suis d'accord"
Enregistrement du consentement
Dès que la personne donne son accord/consentement (nouvel inscrit ou déjà inscrit), un enregistrement est conservé en tant que preuve irréfutable de son consentement.
Vous trouverez cet enregistrement en "Utilisateurs/Confidentialité/Consentement" (ou "Utilisateurs/Privacy/Consents"). Un certain nombre d'informations sont rattachées à cet enregistrement :
Avec cette fonctionnalité, vous êtes en capacité de répondre à une contrainte majeure du RGPD : conserver la preuve irréfutable et les informations essentielles (date, utilisateur) d'un consentement.
Le bouton en haut à gauche "Invalider le consentement" vous permet de désactiver un consentement, soit pour des tests soit pour répondre à une demande spécifique d'un utilisateur. Si cet utilisateur souhaite à nouveau donner son accord/consentement, il lui suffira de se connecter à nouveau.
Durée du consentement
Le RGPD n'impose pas de règle en ce domaine, il est cependant recommandé de signaler dans votre article de "Politique de Données Personnelles" si le consentement est valable tant que le compte existe (actif ou inactif), tant que le compte est actif, ou si le consentement n'est valable que pour une durée définie.
La notion de durée est paramétrable dans l'onglet "Expiration" du plug-in « Système - Consentement à la politique de confidentialité » :
"Vérification périodique" : tous les 30 jours (par exemple), un traitement calculera l'âge des enregistrements de consentement
"Expiration" : durée (ou âge) au-delà de laquelle un consentement sera à renouveler
"Rappel" : nombre de jours avant expiration, à prendre en compte pour envoyer à l'utilisateur une notification de renouvellement de son consentement (en se reconnectant simplement).
Les requêtes d'export ou suppression des données personnelles
Il est possible de mettre en place des formulaires spécifiques destinés aux demandes de suppression ou d'export de données personnelles. Ces formulaires sont accessibles via de nouveaux éléments de menus. Idéalement les liens vers ces éléments de menus sont à intégrer dans votre page de "Politique de Gestion de Données Personnelles" dans la partie expliquant comment contacter l'administrateur (ou DPO) concernant toute demande liée aux données personnelles.
Vous pouvez créer un menu spécifique RGPD. Au sein de ce menu, vous pouvez créer au minimum 2 éléments de menu pour permettre aux personnes le souhaitant de :
- créer une demande,
- confirmer cette demande (une personne qui crée une demande devra la confirmer au moyen d'un lien d'activation reçu par mail et de ce formulaire de confirmation).
Lorsque vous cliquez sur le bouton "Sélection" ci-contre , vous trouverez les nouveaux éléments de menu de type "Confidentialité" :
L'élément de menu "Créer une demande" vous donnera le formulaire ci-dessous :
Les possibilité pour "Type de demande" sont : "Exporter" ou "Supprimer".
Le texte en "Données personnelles" provient du plug in "Contenu - Confirmation de consentement".
La validation de ce formulaire aura pour effet :
- la création d'une requête en "Utilisateurs/Confidentialité/Demandes",
- l'envoi d'un email à l'administrateur du site,
- l'envoi d'un email au demandeur, cet email a pour objet "Demande d'informations créée sur + _NOM_DE_VOTRE_SITE". Il contient un lien d'activation qui renvoie le demandeur vers le formulaire de validation de la demande où l'identifiant de sécurité est présaisi et valable 24 heures (élément de menu "Confirmation de la demande"), afin de confirmer qu'il est bien l'auteur de la demande - cf.image ci-dessous :
A partir du moment où la demande a été confirmée via ce formulaire :
- l'administrateur recevra un mail de notification de confirmation de demande,
- le statut de la demande va passer de "En suspens" à "Confirmé".
Etat "En suspens" de la demande AVANT confirmation
Etat "Confirmé" de la demande APRES confirmation
Export :
On peut remarquer que les icônes permettant d'exporter et d'envoyer un message sont désormais disponibles pour traiter la demande.
L'export génère un fichier XML qui contient les données de l'utilisateur/demandeur concernant les tables de Joomla et potentiellement ses extensions (parmi les nouvelles fonctionnalités de Joomla 3.9 figurent les procédures destinées aux éditeurs d'extensions pour intégrer leurs données personnelles). D'autres formats (csv) seront peut-être possibles à l'avenir.
L'icône envoie directement le fichier XML dans la messagerie du demandeur.
Concernant l'email administrateur, celui-ci comporte un lien pour répondre contenant administrator/index.php?option=com_messages&view=message&message_id=1
Ce lien mène à la messagerie interne à Joomla très peu utilisée (accessible aussi en pied de l'écran d'administration de Joomla - cf image ci-dessous):
Suppression :
Pour une demande de suppression des données, l'administrateur va cliquer sur la croix noire, le message système "Données supprimées va s'afficher".
Cette action de suppression des données aura pour effet d'anonymiser le compte utilisateur en "Utilisateurs/Utilisateur" :
L'identifiant dans la liste des consentements est également anonymisé :
Les logs des actions utilisateur sont impactées partiellement (libellé non impacté, identifiant impacté). Ce point sera certainement corrigé dans les versions futures de Joomla.
Le tableau de bord de Confidentialité
Suite aux événements de demandes d'export et de suppresion, de l'activation des différents plugs-in en lien avec la Confidentialité, de la publication de la Politique de Données Personnelles, le tableau de bord peut se présenter comme ci-dessous :
A noter également que toutes les actions liées au traitement des demandes, sont logguées.
Leurs traces sont aisément sélectionnables en "Utilisateurs / Logs des actions utilisateurs" :
Conclusion
De nombreuses fonctionnalités, un workflow plutôt bien pensé, malgré encore quelques améliorations/corrections à effectuer : nous estimons chez Nosyweb que le traitement de la conformité au RGPD est désormais un des points forts de Joomla.