Nous rencontrons un problème de confidentialité : des modérateurs ont accès à des messages qu’ils ne devraient pas pouvoir consulter.
À ma connaissance, Discourse poursuit deux objectifs de conception qui entrent en jeu ici :
- Les modérateurs ne sont pas exemptés des vérifications d’autorisations et ne peuvent lire que les messages auxquels ils ont été invités.
- Lorsqu’ils utilisent leurs pouvoirs, toute action entreprise est journalisée et peut être inspectée par tout membre du personnel.
Parfois, ces objectifs sont en conflit, par exemple lorsqu’un modérateur modifie un message d’un autre utilisateur dans une conversation avec lui. Dans ces cas, Discourse donne la priorité à :deux : le message modifié de l’utilisateur est révélé à tout le personnel dans les journaux d’actions du personnel.
Bien que je sois déjà en désaccord avec la décision de privilégier :deux, cela entraîne des cas limites que je considère comme clairement indésirables, frôlant le bug. Le plus important que nous ayons identifié : 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 suis pas sûr de la bonne démarche à adopter ici. Rendre l’accès aux journaux d’actions du personnel configurable pour les modérateurs ? Interdire la visualisation du message pour les entrées de journal d’actions du personnel provenant de @system ? Faire en sorte que la fonctionnalité de visualisation du message respecte généralement les autorisations du message ?
Quoi qu’il en soit, j’espère qu’une modification 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.