モデレーターがアクセスしてはいけないメッセージにアクセスできるというプライバシーの問題が発生しています。
私の理解では、Discourse にはここで問題となる 2 つの設計目標があります。
- モデレーターは権限チェックから除外されず、招待されたメッセージのみを読むことができます。
- モデレーターが権限を行使する際、その行動はすべてログに記録され、すべてのスタッフメンバーが確認できます。
時には、これらが衝突することがあります。例えば、モデレーターが他のユーザーの投稿をメッセージ内で編集する場合などです。このような場合、Discourse は
を優先します。つまり、編集されたユーザーの投稿がスタッフアクションログを通じてすべてのスタッフに公開されてしまいます。
私はすでに
を優先するこの決定には反対していますが、これは望ましくない極端なケースを生み出しており、Contribute > Bug に近い問題です。私たちが発見した最大のケースは、モデレーターが外部画像へのリンクを含むすべてのメッセージを読むことができるという点です。これは、@system が画像をダウンロードして投稿を編集し、それがスタッフアクションログに追加されるためです。
ここで適切な対応策が何であるか確信が持てません。スタッフアクションログへのモデレーターのアクセスを設定可能にするべきでしょうか?@system からのスタッフアクションログエントリに対して投稿の表示を許可しないようにすべきでしょうか?それとも、投稿表示機能を一般的に投稿の権限を尊重するようにすべきでしょうか?
いずれにせよ、何か変更が行われることを願っています。なぜなら、私たちは現在、Nginx レベルでスタッフアクションログ API へのアクセスをブロックせざるを得ない状況だからです。