Show HN: Auto-identity-remove – Automated data broker opt-out runner for macOS
Show HN: Auto-identity-remove – macOS 和 Linux 的自动化数据经纪人退订工具
auto-identity-remove is an automated data broker opt-out runner for macOS and Linux. It removes your personal information from 500+ people-search sites and data broker databases on a monthly schedule — with CAPTCHA solving, persistent state tracking (so completed opt-outs aren’t resubmitted every run), and a desktop notification when done.
auto-identity-remove 是一款适用于 macOS 和 Linux 的自动化数据经纪人退订工具。它能按月自动从 500 多个个人搜索网站和数据经纪人数据库中删除您的个人信息,并具备验证码自动识别、持久化状态跟踪(避免重复提交已完成的退订)以及任务完成后的桌面通知功能。
What it does / 功能概述
Each month, the script:
- Searches each data broker site for your name + state
- Finds your specific listing (for sites that need a profile URL)
- Fills and submits the opt-out form automatically
- Solves CAPTCHAs via CapSolver (AI-powered, ~$0.001/solve)
- Skips brokers you were already removed from recently (90-day re-check window)
- Notifies you with the results summary (iMessage on macOS, desktop notification on Linux)
- Opens any sites that require manual action in your browser
该脚本每月会自动执行以下操作:
- 在每个数据经纪人网站上搜索您的姓名和所在州
- 查找您的特定列表(针对需要个人资料 URL 的网站)
- 自动填写并提交退订表格
- 通过 CapSolver 解决验证码(AI 驱动,约 $0.001/次)
- 跳过近期已退订的经纪人(90 天重新检查窗口)
- 通过结果摘要通知您(macOS 上使用 iMessage,Linux 上使用桌面通知)
- 自动在浏览器中打开需要手动操作的网站
Requirements / 系统要求
-
macOS or Linux (Ubuntu, Debian, Fedora, Arch, etc.)
-
Node.js 18+
-
Playwright browsers installed (Linux only)
-
notify-sendfor desktop notifications (installlibnotify-binon Ubuntu/Debian) -
(Linux only, for email opt-outs)
sendmailormailutilspackage -
npx playwright install chromium -
macOS 或 Linux (Ubuntu, Debian, Fedora, Arch 等)
-
Node.js 18+
-
已安装 Playwright 浏览器(仅限 Linux)
-
用于桌面通知的
notify-send(在 Ubuntu/Debian 上安装libnotify-bin) -
(仅限 Linux,用于邮件退订)
sendmail或mailutils软件包 -
npx playwright install chromium
Quick Start / 快速开始
# 1. Clone the repo
git clone https://github.com/stephenlthorn/auto-identity-remove.git
cd auto-identity-remove
# 2. Install dependencies
npm install
# 3. (Linux only) Install system dependencies
# Ubuntu/Debian: sudo apt install libnotify-bin sendmail
# Fedora: sudo dnf install libnotify msmtp
# Arch: sudo pacman -S libnotify msmtp
# 4. Run interactive setup (creates config.json and schedules the monthly job)
node setup.js
# 5. Run manually anytime
./run.sh
Setup walkthrough / 设置向导
node setup.js guides you through:
| Step | What it does |
|---|---|
| Personal info | Name, city, state, ZIP, email, phone |
| Aliases | Past names or variations (e.g. “Steve Doe”) |
| CapSolver key | For CAPTCHA-protected opt-out forms |
| One-time accounts | Creates accounts on sites that require login (stored in config.json, gitignored) |
| iMessage / Desktop | Phone number to iMessage results to (macOS), or desktop notification (Linux) |
| Schedule | Registers a monthly job to run on the 1st at 9am (launchd on macOS, systemd timer on Linux) |
node setup.js 将引导您完成以下设置:
| 步骤 | 功能 |
|---|---|
| 个人信息 | 姓名、城市、州、邮编、邮箱、电话 |
| 别名 | 曾用名或姓名变体(例如 “Steve Doe”) |
| CapSolver 密钥 | 用于处理受验证码保护的退订表格 |
| 一次性账户 | 在需要登录的网站上创建账户(存储在 config.json 中,已加入 gitignore) |
| iMessage / 桌面通知 | 用于接收结果的手机号(macOS)或桌面通知(Linux) |
| 定时任务 | 注册每月 1 号上午 9 点运行的任务(macOS 使用 launchd,Linux 使用 systemd timer) |
Your personal info never leaves your machine. config.json and state.json are both gitignored.
您的个人信息绝不会离开您的设备。config.json 和 state.json 均已加入 .gitignore。
CapSolver (optional but recommended) / CapSolver(可选但推荐)
Some opt-out forms have reCAPTCHA. Without CapSolver, those sites go to your manual list instead of being handled automatically.
- Sign up at capsolver.com — free, pay-as-you-go
- Add $1–2 of credits (enough for months of use at ~$0.001/solve)
- Paste your API key when
setup.jsasks, or add it toconfig.json
部分退订表格包含 reCAPTCHA。如果没有 CapSolver,这些网站将被列入手动处理列表,无法自动完成。
- 在 capsolver.com 注册 — 免费,按需付费
- 充值 $1–2 美元(按 ~$0.001/次计算,足够使用数月)
- 在
setup.js询问时粘贴您的 API 密钥,或手动添加到config.json中。
State tracking / 状态跟踪
state.json tracks when each broker was last successfully opted out. The default re-check window is 90 days — brokers typically re-add your data within that window, so the script re-submits when it’s time.
state.json 会跟踪每个经纪人最后一次成功退订的时间。默认重新检查窗口为 90 天——数据经纪人通常会在该窗口期内重新添加您的数据,因此脚本会在到期时重新提交。
Brokers covered / 支持的经纪人
Auto-removed (30+): Spokeo, WhitePages, FastPeopleSearch, TruePeopleSearch, BeenVerified, Radaris, Intelius, PeopleFinders, PeopleSmart, MyLife, Nuwber, FamilyTreeNow, CheckPeople, ThatsThem, USPhonebook, PublicDataUSA, SmartBackgroundChecks, SearchPeopleFree, PeopleSearchNow, InfoTracer, SocialCatfish, NationalPublicData, ClustrMaps, PrivateRecords, Acxiom, LexisNexis, ZoomInfo, Clearbit, Pipl (Email opt-out).
自动退订 (30+ 个): Spokeo, WhitePages, FastPeopleSearch, TruePeopleSearch, BeenVerified, Radaris, Intelius, PeopleFinders, PeopleSmart, MyLife, Nuwber, FamilyTreeNow, CheckPeople, ThatsThem, USPhonebook, PublicDataUSA, SmartBackgroundChecks, SearchPeopleFree, PeopleSearchNow, InfoTracer, SocialCatfish, NationalPublicData, ClustrMaps, PrivateRecords, Acxiom, LexisNexis, ZoomInfo, Clearbit, Pipl (邮件退订)。
Generic — 500+ additional brokers (auto-detected): generic-runner.js handles the remaining ~470 brokers from two public datasets: The Markup’s data broker list (~494 URLs) and BADBOOL community-maintained list (~27 extra).
通用支持 — 500+ 个额外经纪人(自动检测): generic-runner.js 通过两个公共数据集处理剩余的约 470 个经纪人:The Markup 的数据经纪人列表(约 494 个 URL)和 BADBOOL 社区维护的列表(额外约 27 个)。