モデレーターがアクセスすべきではないメッセージにアクセスできるというプライバシー上の問題が発生しています。
私の理解では、Discourse にはここで関与する 2 つの設計目標があります。
- モデレーターは権限チェックの対象外ではなく、招待されたメッセージのみを読み取ることができます。
- モデレーターが権限を行使すると、その行動はすべてログに記録され、スタッフ全員が確認できます。
場合によっては、これらが矛盾することがあります。例えば、モデレーターがメッセージ内の他のユーザーの投稿を編集する場合などです。このような場合、Discourse は
を優先します。つまり、編集されたユーザーの投稿はスタッフアクションログで全スタッフに公開されます。
私はすでに
を優先する決定には同意していませんが、これには明らかに望ましくない、むしろバグに近いコーナーケースが存在します。最も深刻な問題は、@system が外部画像のリンクを含むすべてのメッセージをダウンロードし、投稿を編集することで、そのアクションがスタッフアクションログに記録され、結果としてモデレーターがそのすべてのメッセージを読み取れてしまうことです。
ここで正しい対応策が何かは確信が持てません。モデレーター向けのスタッフアクションログへのアクセスを設定可能にするのか?@system からのスタッフアクションログエントリに対して投稿の表示を許可しないのか?投稿の表示機能を一般的に投稿の権限を尊重するようにするのか?
いずれにせよ、何か変更がなされることを願っています。現在、私たちは Nginx レベルでスタッフアクションログ API へのアクセスをブロックせざるを得ない状況だからです。