Если память мне не изменяет, функция доступности личных сообщений (PM) доступна только администраторам. Модераторы не могут открывать сообщения других пользователей. Таким образом, простой ответ: права администратора следует предоставлять только тем, кто непосредственно обслуживает и управляет самим экземпляром Discourse. С технической точки зрения лица, управляющие вашим экземпляром, могут получить доступ к личным сообщениям напрямую из базы данных, не создавая записей в журналах. Как администратор сайта и сервера, на котором он размещён, вы можете в конечном итоге предотвратить получение администраторами такого уровня доступа только одним способом: зашифровать содержимое с помощью ключа, которого у них нет.
Для уровня безопасности, который вы ищете, вам в основном понадобится следующее:
Я ещё не использовал этот инструмент, но, насколько я понимаю, он генерирует и хранит ключи на стороне клиента таким образом, что они не будут доступны через функцию имперсонации. Ключ по-прежнему хранится локально, и имперсонация не должна предоставлять к нему доступ (насколько мне известно). Это действительно единственный способ защитить данные непосредственно в базе данных.