Community Bans · プライバシーポリシー
v1.3 · 有効日 2026-09-30 · 変更点
Community Bans 機能は、unmask を導入した各サイトからの BAN 報告を集約し、 コミュニティが監修したリストとして再配信します。本書では、hub に何が保管されるか、 その保管期間、そして GDPR 系の規制のもとでの権利について説明します。
報告元のサイトから収集する情報
報告(submit)は既定で OFF です(submit_enabled: false)。有効にするには
利用規約への同意が必要です。報告するサイトも、購読するサイトと
同じように hub に登録されます(次の節を参照)。そのうえで、報告 1 件ごとに次の情報を保管します。
- 報告元が報告した client の IP アドレスと JA4 fingerprint (「bot ハント」画面の JA4 ランキングから選んだ場合は、その JA4 と、同じ JA4 で観測した IP アドレス 1 件)。これらは報告元が観測した第三者のものであり、運営者自身のものではありません。
- 運営者が任意で添える reason と comment (自由記述。comment は 280 文字以内)。
- BAN の種類。「bot ハント」画面での BAN によるものか、JA4 ランキングから 選んだものかを示します。hub は entry の照合方法を決める際にこれを使います。
- 報告の timestamp。
- サイトの HN と、記録があればその国コード(次の節を参照)。 報告の行に写して保管します。
- 報告元の IP の、日ごとに salt を変えた hash (SHA-256(salt ‖ submitter_ip)。salt は SHA-256(server_secret ‖ "|" ‖ UTC の日付))。 不正利用の検知だけに使います。raw の IP は hub の DB には保管しません。salt は UTC の日付ごとに 変わるため、同じ IP アドレスでも日が違えば別の hash になります。hash は 30 日で消去します。
購読しているサイトから収集する情報
購読とは /api/feed/list.json を 1 時間に 1 回取得することで、既定で ON
です。新しく導入したサイトは subscribe_mode: fetch_apply(取得して適用。
fetch は一覧を見るための取得だけ)になっているため、この節は
subscribe_mode を off にしていないすべてのサイトに当てはまります。
購読も報告も OFF にしているサイトは、hub への登録も取得も行いません。
登録。最初の取得の前に、サイトは hub に 1 回だけ登録します。hub がそのサイトの token(32 バイトの乱数)を生成して返し、サイトはそれを自分の設定に保存します。 hub が保管するのは次の情報です。
- token の SHA-256 hash。raw の token は hub には保存しません。
- token から導かれる handle name (HN)(例:「swift-otter-a3f7」のような形式。 形容詞 + 名詞 + 16 進 4 桁)。token だけから計算し、ホスト名などサーバーの情報は使いません。 HN から token を逆算することもできません。報告・vote・コメントの横に、変わらない仮名として 表示します。設定で表示名を指定した場合は、サイトが登録時と報告時にそれを送り、hub はそれも 保管して HN の代わりに表示します。
- 国コード(ISO 3166-1 alpha-2)。
publish_countryが ON の間 (既定は ON。feed 上で報告がどの国から来ているかを見えるようにするためです)、 登録時の IP アドレスをもとに、hub が手元の国別 IP データベースで調べます。設定が ON のまま報告を送ると、 その都度調べ直します。国コードはサイトの記録に保管し、そのサイトの報告・vote・コメントにも 写します。設定を OFF にすると調べ直しは止まりますが、すでに記録にある国コードは残り、以後の 報告・vote・コメントにも引き続き写されます。 - 登録時の IP アドレスの日ごとに salt を変えた hash(上と同じ方式)。大量登録の 検知に使い、30 日で消去します。
- 登録した時刻と最後に確認した時刻(報告を送ったときにも 更新します)、および hub が不正利用と判定したサイトの報告を軽く扱うために計算する 不正利用 score。
取得。publish_liveness が ON の間(既定は ON)、取得のたびにサイトの
token を送り、hub はその token の「最後に確認した時刻」を更新します。値は毎回上書きするので、
hub の DB に残るのはサイトごとに 1 つの時刻だけで、取得の履歴は残りません。取得について hub の DB
に残すのはこれだけで、IP も、取得の頻度も、どの取得がいつ行われたかの記録も残しません
(web サーバーのアクセスログは別です。「収集しないもの」の節をご覧ください)。token を送っても
送らなくても受け取れる feed の内容は 1 バイトも変わりません。この endpoint は公開のままです。
なぜお願いするか。これが無いと hub は「何台が実際に動いているか」を 知る手段がありません。token の記録が動くのは登録時と報告 (submit) 時だけなので、1 年間 静かに feed を使い続けているサイトと、登録した 1 秒後に捨てられた登録とが区別できません。 自分たちが運営しているものの規模は、推測ではなく把握したいと考えています。
任意です。設定 → Community Bans の
稼働中の install として数えてもらう を OFF にすれば
(publish_liveness: false)、取得に token を付けなくなります。購読そのものや
適用の動作には影響しません。
コメントと vote から収集する情報
browse UI では、登録済みのサイトが他サイトの報告に対して 👍 / 👎 の vote と テキストコメントを付けられます。vote とコメントのそれぞれについて、報告と同じ項目 (token の HN、記録があれば国コード、日ごとに salt を変えた IP hash)に加えて、親となる 報告の id、vote の種別(「like」/「bad」)またはコメント本文(280 文字以内)を保管します。
削除リクエストで収集する情報
削除リクエストフォームでは、入力された内容を保管します。 削除の対象(HN か IP アドレス)と、入力があれば理由と返信用の連絡先です。あわせて、依頼元の IP アドレスの「日ごとに salt を変えた hash」(上と同じ方式)を保管します。これは、1 つのアドレスが 同じ日に保留中にできるリクエストの数を制限するためだけに使います。ほかに、リクエストの状態と 時刻を保管します。それぞれの保管期間は、下の 保管期間 に記載しています。
収集しないもの
- 氏名とアカウントは不要です。email アドレスも、削除リクエストで任意に入力された連絡先 (上記)を除いて収集しません。unmask を導入した運営者の個人情報(PII)は一切収集しません。
- BAN された通信の URL path・header・cookie・request body は一切収集しません。
- hub の API には、解析や tracking の仕組みはありません。daemon が呼ぶ endpoint(登録・取得・ 報告・vote・コメント・aggregate)は JSON だけを扱う API で、応答に第三者は関与しません。 unmask.sh の web ページは事情が異なり、feed の紹介ページと一覧(browse)ページを含む多くの ページが Google Tag Manager を読み込み、Google Analytics でページの閲覧を計測しています。 多くのページは Google Fonts の web フォントも読み込みます。
- サイトの raw な IP アドレスは hub の DB には保管しません。保管するのは上で説明した日ごとに salt を変えた hash だけで、30 日で消去します。
web サーバーのアクセスログ。一般的な web サーバーと同じく、unmask.sh は feed の
API へのリクエストも含めて、リクエストのアクセスログを記録します。記録するのは、
リクエスト元の IP アドレス・時刻・リクエスト行・応答のステータス・User-Agent(daemon の場合は
unmask/<version>)で、token は記録しません。
公開する内容
公開している endpoint は次のとおりです。
https://unmask.sh/api/feed/list.jsonは単一の feed です。 promoted な entry(match の種別があり、集計 trust score が 3 以上)も、reports-only な entry (それ以外。文脈として表示します)も、すべて含む集計データです。match の種別・IP・JA4・ confidence・score・短い reasoning の文字列・最新の報告の reason・最近の報告コメント最大 5 件の 本文と時刻(HN は含みません)・vote / comment の件数・報告した導入先の数を含みます。手元で score の閾値を設ける仕組みはなく、どの entry を適用するかは hub 側で決まります。一致した アクセスに何を課すかは、導入先ごとに設定します。feed では個別の報告 id は公開せず、(ip, ja4) 単位の集計だけを公開します。https://unmask.sh/api/feed/aggregate?ip=&ja4=は pair の詳細です。 該当する pair の報告リスト・コメント・voter を返します。判定の根拠を利用者が確認できる ようにするためのものです。HN・国コード・reason・comment 本文・報告の timestamp は ここですべて見えます。IP / JA4 を指定して引く仕組みで、公開 feed の window には限定されず、 hub が保持しているその pair の報告をすべて返します。/api/feed/entry/<id>は報告 1 件について同じ内容を返します。raw な IP hash は決して返しません。
保管期間
独立した 2 つの window があります。
- 公開 feed の window。entry は、feed の精度を保つのに必要な期間だけ
/api/feed/list.jsonに掲載されます。期間を過ぎた entry は自動で外れるので、 一度きりの古い報告がいつまでも feed に残ることはありません。(ip, ja4) のペアは、その ペアへの報告のうち少なくとも 1 件がこの window 内にある限り feed に載り続け、最新の報告が window を外れた時点で公開 feed から消えます。subscribers から見ると、window のスライドに 合わせて entry が自然に入れ替わっていきます。 - 報告元の IP hash。サイトの IP アドレスの「日ごとに salt を変えた hash」 (登録の記録・報告・vote・コメントに付くもの)は、公開 feed の window とは独立に、記録した日から 30 日で消去します。消去後は、報告を送ったサイトの IP アドレスから導いた情報は hub の DB に 残りません。報告は引き続き、公開されている HN と結び付いたままです。
- 内部 record。報告の記録(対象の IP・JA4・理由・コメントと、報告元の HN と
国コード)は、集計 score の信頼性、長期的な bot パターンの分析、takedown の監査といった目的で、
公開 feed の window を超えて保持し、自動では削除しません。公開 feed から外れた entry が
/api/feed/list.jsonに再び現れることはありませんが、上で説明した pair 単位の 照会では引き続き返されます。報告された側(自分の IP が掲載されている方)が hub から完全に 削除したい場合は、削除リクエストフォームから 請求してください。 - コメントと vote は、takedown で親となる報告が削除されると、連動して削除されます。
- 削除リクエスト。依頼元の IP hash はリクエストから 30 日で、任意の連絡先は 対応を終えてから 30 日で消去します。何を依頼され、どう対応したかは、削除の記録として保持します。
集計 score について
hub は各 (ip, ja4) ペアに、報告したサイトの数・like / bad の vote の比率・報告元が不正利用と 判定されているかどうかをもとに、1〜5 段階の trust score を付けます。hub は AI model に意見を 求めることもできます(現状は Anthropic の Messages API)。その場合、AI provider には報告された IP と JA4、および集計値(報告数・サイト数・vote 数・コメント数)を送ります。JA4 だけで照合する entry になりそうなときは別の確認も行い、そこでは JA4 と集計値だけを送ります。報告元のサイトを 特定できる情報(token・HN・国コード・IP hash)やコメント本文は送りません。AI の判断を使った ときは、その短い reasoning の文字列を feed に公開します。
報告された IP について
報告された IP は、自然人に対応しうる network identifier です。GDPR 系の規制のもとでは、
報告を送った運営者が、自分の log の中ではその data の管理者(controller)になります。
unmask.sh は、その運営者に代わって、Community Bans 機能の運営という目的のためだけに
処理します。既定の action は pow_then_captcha(PoW のあとに CAPTCHA。完全な
block ではありません)なので、共有 IP の背後にいる人も challenge を経てサイトに到達できます。
導入先の運営者は deny を選ぶこともできます。
権利と削除
unmask を運用している場合:
- unmask の設定で
submit_enabledを OFF にすれば、追加の報告がすぐに止まります。 subscribe_modeをoffにすれば取得が止まります。publish_livenessを OFF にすると、取得は続けたまま token を付けなくなります。- 自分の報告・コメント・vote は、admin UI の Bans ページから個別に削除できます (詳細を開いた中の × ボタン)。
- token に紐づくすべての行をまとめて削除したい場合は、導入先に表示されている HN を 添えて、削除リクエストフォームからお送りください。
報告された IP の所有者の場合: その IP を feed から外したい場合は、該当の IP を 添えて 削除リクエストフォームからお送りください。 feed から削除します。
法的根拠(GDPR 対応)
- Art. 5(1)(b) 目的限定:Community Bans 機能と不正利用の検知のためだけに使用します。
- Art. 5(1)(c) data minimization:raw な IP は hub の DB に保管しません。国コードは
運営者の
publish_country設定によって決まり(既定 ON。上記を参照)、運営者の個人情報は 一切収集しません。 - Art. 5(1)(e) 保管期間制限:公開 feed の entry は、最新の報告から一定期間が 過ぎると外れます。日ごとに salt を変えた IP hash は、報告の記録の保持期間とは独立に 30 日で 消去します。削除リクエストの連絡先は、対応を終えてから 30 日で消去します。
- Art. 5(1)(f) 完全性:server salt は日単位で入れ替え、HN の導出は 公開情報から逆引きできません。
- Art. 6(1)(f) 正当な利益:Recital 49 が、network security と不正利用の 防止を正当な目的として明示しています。
- Art. 15 アクセス権 / Art. 17 消去権:上記の画面内の削除ボタンと、 削除リクエストフォームで対応します。
- Art. 25 privacy by design:IP の hash 化と rotate、国コードの運営者設定 (既定 ON)、報告の既定 OFF、既定では block ではなく challenge。
変更履歴
- v1.3 — 2026-09-30
- 削除リクエストで収集する情報 と、その保管期間を追加しました。依頼元の IP hash は 30 日で、任意の連絡先は対応を終えてから 30 日で消去するようにしました(どちらも、これまでは期限 なく保管していました)。あわせて、削除フォームの任意の連絡先は email アドレスでもありうるのに 「email は収集しない」としていた 収集しないもの の記述を訂正しました。
- v1.2 — 2026-09-30
- 記述の訂正のみです。サイトが送る情報も、hub が保管する情報も変わっていません。訂正した点は
次のとおりです。購読(feed の取得と適用)は既定で ON であること。token を生成するのはサイトでは
なく hub で、登録時には HN・国コード・日ごとに salt を変えた IP hash・時刻も保管すること。
publish_countryを OFF にしたときの扱い。unmask.sh の web ページは Google Tag Manager / Google Analytics を使い、web サーバーはアクセスログを記録すること。任意の AI 判定が 受け取る情報とその provider。手元での score の閾値はなく、既定の action はpow_then_captchaであること。pair 単位の照会は公開 feed の window に限定されない こと。あわせて、報告に保管する項目に BAN の種類を加え、takedown のあとに同じ IP の報告の 優先度を下げるという記述は、hub がそうしていないため削除しました。 - v1.1 — 2026-09-22
- 購読しているサイトから収集する情報 を追加しました。購読サイトは 1 時間ごとの feed 取得に token を付けて送れるようになり、hub はその token について最後に取得した 時刻を保存します。任意で、設定 1 つで OFF にできます。他の節に変更はなく、v1.0 で 収集していた情報の意味も変わっていません。
- v1.0 — 2026-05-27
- 初版。
連絡先
本書は法的助言ではありません。法域ごとの compliance について本ポリシーをよりどころにする前に、 弁護士にご相談ください。訂正のご依頼などは、上記の連絡先までお願いします。