まず前提として、データブローカーは、私たちの名前・住所・電話番号・年齢・家族構成みたいな個人情報を集めて、検索しやすい形で売ったり公開したりする事業者のことです。
いわゆる people-search site は、「名前を入れると住所候補や家族情報が出てくる」あの手のサイトですね。
便利そうに見えて、実際にはかなり気持ち悪い面があります。
しかも、いったん情報が載ると勝手に再収集されることも多いので、1回消して終わりではない。ここが本当に厄介です。
このリポジトリは、その「また載る」「消すのが面倒」「サイトごとに手順が違う」という面倒さを、できるだけ自動化しようというプロジェクトです。
GitHub の stephenlthorn/auto-identity-remove は、
複数のデータブローカーサイトに対して、オプトアウト(掲載停止・削除)申請を自動で行うツールです。
README によると、以下のような特徴があります。
要するに、
「人間が1個ずつフォームを埋める」仕事を、かなりの部分まで Playwright などの自動操作でやる仕組みです。
README に書かれている流れを、ざっくり人間向けに言い換えるとこうです。
この「手動だけにしない」のがポイントだと思います。
個人情報の削除って、全部自動にはなかなかできない。でも、毎回ゼロから人間がやるのもしんどい。
その中間をちゃんと狙っているのが、このツールの賢いところです。
README では、使い方がかなり丁寧に説明されています。
npx playwright install chromiumgit clone https://github.com/stephenlthorn/auto-identity-remove.git
cd auto-identity-remove
npm install
node setup.js
./run.sh
setup.js を実行すると、対話形式で以下を設定します。
ここで印象的なのは、設定項目がわりと現実的なことです。
つまり、この手のサイトは「名前だけ」では済まず、電話番号や過去の住所、別名まで必要になることがある。
プライバシー保護のために、むしろかなり多めの個人情報を入力しなきゃいけないのが、なんとも皮肉です。
CAPTCHA は、画像選択や「私はロボットではありません」でおなじみの、自動操作を防ぐ仕組みです。
普通の自動化ツールはここで止まりがちですが、このリポジトリは CapSolver を使って突破できます。
README では、CapSolver は
と案内されています。
ただし、CapSolver を使わない場合でも完全に詰むわけではなく、
CAPTCHA付きサイトは手動用リストに回してブラウザで開くようです。
この「完全自動にこだわりすぎず、現実的に逃がす」設計はかなり好印象です。
個人的に一番いいなと思ったのは、state.json を使った状態管理です。
このツールは、前回うまく削除できたサイトを覚えておき、
90日間は再チェックを控える仕組みを持っています。
これがないと、
という、かなりストレスのある状態になります。
自動化ツールは「動く」だけでは不十分で、賢くサボることも大事なんですよね。ここは実に実用的です。
README には大事な注意書きがあります。
Submitted ≠ confirmed deleted
つまり、フォームが送れたことと、実際に削除されたことは別です。
これはかなり重要です。
よくある流れとしては、
というケースがあります。
そのため、このツールは結果を次のように分類しています。
この分類は、単なるログ以上の意味があります。
「何が自動化できて、何が人間の確認を必要とするのか」が見えるからです。
プライバシー削除作業って、なんとなく全部同じに見えて、実はサイトごとに全然違う。そこを可視化しているのが良いですね。
README では、500+ の data broker に対応するとあります。
ただし、ここは少し読み解きが必要です。
大きく分けると、
という構成です。
ここでいう ヒューリスティック は、ざっくり言えば
「厳密ではないけど、うまくいきやすい経験則ベースのやり方」です。
つまり、
ということです。
個人的には、これはすごく現実的だと思います。
500サイト全部を完全に手作業で保守するのは無理ですし、逆に「全部完全自動です」と言い切るのも怪しい。
なので、このツールはかなり正直です。万能ではないが、かなり戦える、という立ち位置ですね。
README では Docker での実行方法も案内されています。
これは地味にありがたいです。
Docker は、アプリを小さな箱に入れて、環境差を減らす仕組みです。
ローカル環境を汚しにくいし、サーバーや別OSでも動かしやすい。
特にこのツールはブラウザ自動操作を伴うので、
「自分のPCに依存しすぎない形で回したい」という人には Docker が向いています。
結果は iMessage に送れるほか、README では webhook 通知にも対応しています。
Webhook は、外部サービスに「終わったよ」とHTTPで知らせる仕組みです。
Slack、Discord、ntfy.sh などに投げられるようです。
この手の自動化は、結局「動いたかどうか」を見失うと意味がないので、
通知まで一体化しているのはかなり実用的です。
自動で回して、終わったら知らせてもらう。これがあると「気が向いたらやる」から「仕組みで回る」に変わります。
率直に言うと、これはかなり面白いです。
理由は、ただのスクレイピングツールでも、自動化おもちゃでもなく、個人のプライバシーを守るための運用ツールになっているからです。
特に面白いのは次の3点です。
プライバシー削除は1回で終わらない。
このツールはそこを理解していて、月次ジョブとして回す設計になっています。
何でもかんでも自動とは言わず、
無理なものは manual needed に回す。
この潔さは信頼感があります。
config.json や state.json は gitignore されていて、個人情報をリポジトリに残さない設計です。
当たり前に見えて、こういうところをちゃんとやるのは大事です。
もちろん、良いことばかりではありません。
つまり、これは「入れたら全自動で安心」という魔法の箱ではありません。
どちらかというと、面倒な確認作業をかなり減らしてくれる強力な補助輪です。
個人的には、この距離感がちょうどいいと思います。
過信しない。でも使えばかなり楽になる。こういうツールは長く使いやすいです。
この GitHub リポジトリ auto-identity-remove は、
データブローカーや people-search site から自分の情報を定期的に削除するための自動化ツールです。
まで揃っていて、かなり完成度が高い印象です。
「個人情報は一度載ると、消すのがこんなに大変なのか」と感じさせる一方で、
「だからこそ自動化が必要なんだ」とも思わされます。
プライバシー保護が“努力”だけでは回らない時代に、こういうツールはかなり意義があるのではないでしょうか。