Les modérateurs lisent les messages dans les journaux des actions du personnel

Nous rencontrons un problème de confidentialité : les modérateurs ont accès à des messages qu’ils ne devraient pas pouvoir consulter.

À ma connaissance, Discourse a deux objectifs de conception qui entrent en jeu ici :

  1. Les modérateurs ne sont pas exemptés des vérifications d’autorisations et ne peuvent lire que les messages auxquels ils sont invités.
  2. Lorsque les modérateurs utilisent leurs pouvoirs, toute action qu’ils entreprennent est enregistrée et peut être inspectée par tout membre du personnel.

Parfois, ces deux objectifs entrent en conflit, par exemple lorsqu’un modérateur modifie le message d’un autre utilisateur dans une conversation avec celui-ci. Dans ces cas, Discourse privilégie l’objectif :two: : le message de l’utilisateur modifié est révélé à tout le personnel dans les journaux d’actions du personnel.

Bien que je ne sois pas d’accord avec la décision de privilégier :two:, cela crée des cas limites que je considère comme clairement indésirables, frôlant le statut de Contribute > Bug. Le plus important que nous ayons découvert est le suivant : les modérateurs peuvent actuellement lire chaque message contenant un lien vers une image externe, car @system télécharge l’image, modifie le message, et cela est ajouté aux journaux d’actions du personnel.

Je ne sais pas quelle est la bonne démarche à suivre ici. Rendre configurable l’accès des modérateurs aux journaux d’actions du personnel ? Empêcher la visualisation du message pour les entrées des journaux d’actions du personnel provenant de @system ? Faire en sorte que la fonctionnalité de visualisation du message respecte généralement les autorisations des messages ?

Quoi qu’il en soit, j’espère qu’une évolution pourra intervenir ici, car nous sommes actuellement contraints de bloquer l’accès à l’API des journaux d’actions du personnel au niveau de Nginx.

9 « J'aime »

Je ne pense pas que ces modifications devraient être consignées.

@david, peux-tu t’assurer que nous ne consignons pas ces modifications très spécifiques de l’utilisateur @system ? (et supprimer celles qui existent déjà)

10 « J'aime »

Ceci est réalisé dans FIX: Do not log 'pull_hotlinked_images' edits in the staff action log · discourse/discourse@67a9894 · GitHub.

Notez que les modérateurs peuvent toujours consulter les journaux des messages privés modifiés par une personne autre que l’auteur.

Cela est délicat à automatiser : nous n’avons aucun moyen de savoir si les journaux existants proviennent de l’action « extraire les images hotlinkées » ou ont été modifiés en tant qu’utilisateur système via l’API. @fefrei, si vous souhaitez effacer les anciens journaux relatifs à toutes les modifications système sur votre site, vous pouvez exécuter une commande similaire à celle-ci dans la console :

UserHistory.where(action: UserHistory.actions[:post_edit], acting_user: Discourse.system_user).destroy_all
9 « J'aime »

Super, merci ! :heart:

5 « J'aime »