メインコンテンツへスキップ
自分のサービスを作る開発者へ

コミュニティSNSの通報・ブロック・管理画面の作り方|後回しにすると困る理由と、よくある抜け漏れ

コミュニティSNSを公開すると、遅かれ早かれ困った投稿や利用者に出会います。通報・ブロック・非表示・利用停止・投稿の上限を、最初から設計に入れておくべき理由と、実装でよくある抜け漏れをまとめました。

プロフィールと投稿の画面ができると、SNS はひとまず完成したように見えます。しかし、公開して人が集まり始めると、宣伝の書き込み、言い争い、特定の人へのしつこい返信などが起きます。そのときに運営が使える道具がないと、対応はすべて手作業になり、運営者の負担と利用者の不安が一気に大きくなります。

先に結論

  1. 通報・ブロック・非表示・利用停止・投稿の上限は、公開前にそろえる
  2. どれも、画面ではなくデータベースのポリシーで効かせる
  3. 運営の決まり(誰が見て、どう対応するか)を、機能と一緒に用意する
この記事の目次

モデレーションの機能を後回しにすると困る理由

  • 問題は、人が増えた後に起きる。いちばん忙しい時期に、機能の追加とデータの手直しを同時にすることになります。
  • 後から入れると、すべての読み取りに影響する。ブロックや非表示は、投稿・返信・プロフィール・画像・通知のすべての読み取りに関わります。後から足すと、直す場所が多くなり、漏れも出やすくなります。
  • 利用者は、守られているかで場所を選ぶ。通報やブロックの手段が見当たらない場所には、安心して書き込めません。
モデレーションの機能と、よくある抜け漏れ
機能目的よくある抜け漏れ
通報問題のある投稿・返信・利用者を運営に知らせる通報の内容が、通報された本人やほかの利用者に見えてしまう
ブロック特定の相手と関わらないようにする画面で隠すだけで、API から読めたり返信できたりする
非表示運営が投稿を見えなくする一覧からは消えたが、画像や返信が残って見える
利用停止ルール違反を繰り返す利用者の操作を止めるログインはできないが、残ったセッションで投稿できてしまう
投稿の上限連続投稿やスパムを抑える画面でだけ制限していて、API を直接呼ぶと上限なく投稿できる

通報: 何を、誰が、どこまで見られるか

  • 通報の対象を種類で管理する:投稿・返信・利用者など、対象の種類を表で持っておくと、後から機能を足したときに同じ仕組みで通報できます
  • 読める人を絞る:通報の内容を読めるのは、通報した本人と管理者だけにします
  • 同じ相手への重複を防ぐ:同じ人が同じ対象を何度も通報できないよう、一意の制約を付けます
  • 状態を持つ:「未対応・対応済み・問題なし」などの状態と、対応した管理者・日時を残します

ブロック: 「見えない」と「関われない」を両方

ブロックには、2つの意味があります。

  1. 見えない。ブロックした相手の投稿・返信・プロフィールが、自分の画面に出ない。
  2. 関われない。ブロックされた相手が、自分の投稿に返信したり、自分を通報の対象以外で操作したりできない。

どちらも、読み取りと書き込みのポリシーで効かせます。「AさんとBさんの間にブロックがあるか」を判定する関数を1つ作り、投稿・返信・プロフィールなどすべてのポリシーから同じ関数を呼ぶと、抜け漏れが減ります。ブロックは双方向に効かせるのが一般的です(どちらが設定しても、互いに関われない)。

注意

ブロックしている相手でも、運営への通報はできるようにしておきます。ブロックで通報まで止めると、嫌がらせを受けた人が運営に知らせる手段がなくなります。

管理画面: 非表示・利用停止と記録

  • 削除より非表示:運営の判断で消すときは、まず非表示にします。判断を誤ったときに戻せて、対応の記録も残ります
  • 非表示の範囲:投稿を非表示にしたら、その返信や画像も一緒に見えなくなるかを確かめます
  • 利用停止の効き方:利用停止の判定をポリシーに入れ、ログイン中のセッションが残っていても、投稿・返信・通報を作れないようにします
  • 管理者の操作もデータベースで制限:管理画面を開けるかどうかだけでなく、非表示や利用停止の操作そのものを、管理者だけが実行できるようにします
  • 操作の記録:誰が、いつ、何に対して、どの操作をしたかを残します。運営者が複数いるときに、対応が重なったり漏れたりするのを防げます

上限と自動の非表示

  • 投稿の上限。1時間あたりの投稿数・返信数・通報数に上限を設けます。画面だけでなく、データベースでも数えて止めます。
  • 一定数の通報で自動の非表示。複数の利用者から通報された投稿を、管理者が確認するまで自動で非表示にする方法もあります。ただし、少数で特定の人を狙った通報が起きうるため、件数のしきい値と、管理者が確認して戻す流れをセットで用意します。

運営の決まりも、機能と一緒に用意する

機能がそろっていても、使う人と決まりがなければ動きません。公開前に、次の3つを用意しておきましょう。

  1. コミュニティのルール。禁止すること(宣伝・売買・個人情報の書き込み・特定の人への攻撃など)と、違反したときの対応(非表示・警告・利用停止)。
  2. 見回りの担当。通報を確認する人を、少なくとも2人。確認する頻度の目安も決めておきます。
  3. 利用規約とプライバシーポリシー。会員のデータの扱いと、運営が投稿を非表示にできることを明記します。

通報・ブロック・管理画面が入った、コミュニティSNSの土台

SNS Starter Kit は、通報・ブロック・投稿の非表示・利用停止・投稿の上限をデータベースのポリシーで実装しています。ルール・規約の文章のひな形も同梱しています。

開発者向けの説明を見る

まとめ

  • モデレーションの機能は、人が集まる前にそろえておく
  • ブロックは「見えない」と「関われない」の両方を、ポリシーで効かせる
  • 運営の削除は、まず非表示。操作の記録も残す
  • ルール・見回りの担当・規約を、機能と一緒に用意する

権限まわりの全体の見直しには、Supabase で会員制コミュニティを作るときの安全チェックリストもお使いください。