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-send for desktop notifications (install libnotify-bin on Ubuntu/Debian)

  • (Linux only, for email opt-outs) sendmail or mailutils package

  • npx playwright install chromium

  • macOS 或 Linux (Ubuntu, Debian, Fedora, Arch 等)

  • Node.js 18+

  • 已安装 Playwright 浏览器(仅限 Linux)

  • 用于桌面通知的 notify-send(在 Ubuntu/Debian 上安装 libnotify-bin

  • (仅限 Linux,用于邮件退订) sendmailmailutils 软件包

  • 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:

StepWhat it does
Personal infoName, city, state, ZIP, email, phone
AliasesPast names or variations (e.g. “Steve Doe”)
CapSolver keyFor CAPTCHA-protected opt-out forms
One-time accountsCreates accounts on sites that require login (stored in config.json, gitignored)
iMessage / DesktopPhone number to iMessage results to (macOS), or desktop notification (Linux)
ScheduleRegisters 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.jsonstate.json 均已加入 .gitignore

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.js asks, or add it to config.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 个)。