Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajoute une commande pour supprimer les vieilles adresses IP #6608

Merged
merged 2 commits into from
Oct 2, 2024

Conversation

Situphen
Copy link
Member

PR liée au sujet sur le forum concernant l'intégration des sources externes

Pour le moment, supprime simplement les adresses IP des messages du forum, messages privés et commentaires datant de plus d'un an.

QA : Test unitaire + Test en bêta ?

@coveralls
Copy link

coveralls commented Apr 19, 2024

Coverage Status

coverage: 89.185% (+0.005%) from 89.18%
when pulling 0b36111 on Situphen:one-year-ago
into 1f99329 on zestedesavoir:dev.

@philippemilink
Copy link
Member

Je vois que ce n'est qu'en brouillon pour l'instant, mais déjà quelques suggestions :

  • Ajouter un paramètre pour définir le délai à partir duquel anonymiser (par défaut on peut mettre 1 an bien-sûr ; ça demande de renommer la commande)
  • Dans le test, essaie aussi d'afficher une page qui contient un des commentaires dont tu viens d'effacer l'adresser IP (affichage en tant que membre qui a le droit de voir les adresses IPs des commentaires)
  • Y a un truc que j'ai peut-être mal saisi dans la discussion sur le forum : on supprime les IPs de tous les messages plus vieux d'un an ? J'avais compris qu'il fallait supprimer les IPs des commentaires postés par les membres qui ne se sont pas connectés depuis un an.
  • C'est peut-être l'occasion d'ajouter une page dans la documentation qui explique tous les mécanismes qu'on a en place pour respecter le RGPD

@Situphen
Copy link
Member Author

Je vais répondre à tes différents points dans un ordre différent car c'est plus simple pour moi :

Y a un truc que j'ai peut-être mal saisi dans la discussion sur le forum : on supprime les IPs de tous les messages plus vieux d'un an ? J'avais compris qu'il fallait supprimer les IPs des commentaires postés par les membres qui ne se sont pas connectés depuis un an.

En fait on stocke des adresses IP à 4 endroits différents :

  • on stocke l'adresse IP de l'auteur de chaque message (messages du forum, messages privés et commentaires des contenus) car il y a une obligation légale de garder l'adresse IP des auteurs de contenus publics sur Internet
    • je ne suis pas sûr qu'on doive le stocker pour les messages privés
    • on le stocke bien trop longtemps
    • heureusement, ce n'est pas facilement accessible (il faut accès au serveur ou à l'interface admin)
  • on stocke l'adresse IP utilisé par chaque membre lors de sa dernière visite à minima pour des besoins de modération et peut-être car la même obligation s'applique aussi là ?
    • on le stocke probablement trop longtemps (par rapport aux besoins de modérations)
    • trop de personnes y ont accès (tous les membres du Staff alors qu'il faudrait restreindre aux modérateurs)
  • depuis l'ajout de la page de gestion des sessions, on stocke l'adresse IP associée à chaque session de l'utilisateur pour lui permettre de sécuriser son compte
  • enfin, dans les logs nginx on garde les adresses IP de chaque requête, là aussi par obligation légale il me semble
    • on le stocke exactement la bonne durée, à condition que le paramétrage pour ne garder qu'un an de logs fonctionne correctement
    • seuls les admins serveurs peuvent y avoir accès techniquement

C'est peut-être l'occasion d'ajouter une page dans la documentation qui explique tous les mécanismes qu'on a en place pour respecter le RGPD

Bonne idée en effet ! Ce serait aussi l'occasion de vérifier quelles sont nos obligations légales en 2024 pour s'assurer de les respecter, et ce sans faire de zèle.

Ajouter un paramètre pour définir le délai à partir duquel anonymiser (par défaut on peut mettre 1 an bien-sûr ; ça demande de renommer la commande)

Étant donné que la durée de conservation est issue d'une obligation légale (pour ce point-ci en tous cas), j'ai du mal à voir l'intérêt de le mettre en paramètres de la commande.

Dans le test, essaie aussi d'afficher une page qui contient un des commentaires dont tu viens d'effacer l'adresser IP (affichage en tant que membre qui a le droit de voir les adresses IPs des commentaires)

Il n'y a pas de vue qui permette de voir les adresses IP des commentaires à ma connaissance ? Donc je comprends pas vraiment ce que tu veux dire là.

@philippemilink
Copy link
Member

Ajouter un paramètre pour définir le délai à partir duquel anonymiser (par défaut on peut mettre 1 an bien-sûr ; ça demande de renommer la commande)

Étant donné que la durée de conservation est issue d'une obligation légale (pour ce point-ci en tous cas), j'ai du mal à voir l'intérêt de le mettre en paramètres de la commande.

On pourrait imaginer que la loi évolue, par exemple. Ce qui m'embête surtout c'est le one_year dans le nom de la commande : je trouve que ça rallonge le nom de la commande et que ça donne trop de détails inutilement. Mais bon, je ne vais pas non plus faire un blocage sur ce point :)

Dans le test, essaie aussi d'afficher une page qui contient un des commentaires dont tu viens d'effacer l'adresser IP (affichage en tant que membre qui a le droit de voir les adresses IPs des commentaires)

Il n'y a pas de vue qui permette de voir les adresses IP des commentaires à ma connaissance ? Donc je comprends pas vraiment ce que tu veux dire là.

Ah oui, oups (j'ai du confondre avec un autre forum...). Oublie cette remarque. (mais elle est valide quand on supprimera les IPs de connexion des membres pas connectés depuis un an, il faudra tester si l'affichage de la page de profil en tant que staff fonctionne bien).

Copy link
Member

@philippemilink philippemilink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Un petit bout du code à changer, un rebase et je pense qu'on sera bon.

@Situphen
Copy link
Member Author

J'ai rebasé et modifié le code comme demandé (en utilisant exclude plutôt que l'objet Q mais j'ai vérifié et ça génère la même requête SQL) !

Copy link
Member

@philippemilink philippemilink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA OK ✔️

J'ai testé sur la bêta et c'est bon.

@philippemilink philippemilink merged commit 92a7653 into zestedesavoir:dev Oct 2, 2024
12 checks passed
@Situphen Situphen deleted the one-year-ago branch October 2, 2024 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants