У нас возникла проблема с конфиденциальностью: модераторы получают доступ к сообщениям, к которым не должны иметь доступа.
Насколько я понимаю, в Discourse здесь пересекаются две цели проектирования:
- Модераторы не освобождаются от проверок прав и могут читать только те сообщения, к которым они приглашены.
- Когда модераторы используют свои полномочия, любые их действия логируются и могут быть проверены любым сотрудником.
Иногда эти цели вступают в конфликт, например, когда модератор редактирует пост другого пользователя в сообщении, где он участвует. В таких случаях Discourse отдает приоритет
: отредактированный пост пользователя раскрывается всем сотрудникам в журналах действий персонала.
Хотя я уже не согласен с решением отдавать приоритет
, это приводит к пограничным случаям, которые, на мой взгляд, определенно нежелательны и граничат с #багом. Самый серьезный из найденных нами: модераторы в настоящее время могут читать каждое сообщение, содержащее ссылку на внешнее изображение, потому что @system загружает изображение, редактирует пост, и это добавляется в журналы действий персонала.
Я не уверен, какой путь действий здесь правильный. Сделать доступ к журналам действий персонала для модераторов настраиваемым? Запретить просмотр поста для записей в журналах действий персонала от @system? Сделать функцию просмотра поста в целом соблюдающей права доступа к постам?
В любом случае, я надеюсь, что здесь что-то изменится, потому что в настоящее время мы вынуждены блокировать доступ к API журналов действий персонала на уровне Nginx.