explaingit

stephenlthorn/auto-identity-remove

Analysis updated 2026-06-24

576JavaScriptAudience · generalComplexity · 3/5Setup · moderate

TLDR

Node script that uses Playwright to submit monthly opt-out requests against 500+ data broker sites, with CapSolver for CAPTCHAs, notifications by iMessage or webhook, and a verify mode.

Mindmap

mindmap
  root((auto-identity-remove))
    Inputs
      Personal config
      CapSolver API key
      Broker list
    Outputs
      Submitted opt-outs
      Run summaries
      Verify reports
    Use Cases
      Hide from people search
      Monthly privacy scrub
      Recurring opt-outs
    Tech Stack
      Node.js
      Playwright
      Docker
      systemd
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a monthly opt-out job that submits removal forms across 500+ data broker sites

USE CASE 2

Verify whether a name still appears on broker sites after opt-out submission

USE CASE 3

Send opt-out run summaries to ntfy.sh or Slack via webhook

USE CASE 4

Run the opt-out cycle headless in Docker on a home server with mounted state

What is it built with?

Node.jsJavaScriptPlaywrightDockerCapSolver

How does it compare?

stephenlthorn/auto-identity-removedoorman11991/smallcodesveltejs/esrap
Stars5761,009136
LanguageJavaScriptJavaScriptJavaScript
Last pushed2026-06-27
MaintenanceActive
Setup difficultymoderatemoderateeasy
Complexity3/53/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Needs Node 18+, Playwright browsers, a CapSolver paid API key for CAPTCHAs, and a one-time setup wizard that registers a launchd, systemd, cron, or schtasks job.

In plain English

Auto-identity-remove is a script that tries to scrub personal information from data broker websites on a regular schedule. Data brokers are companies that collect names, phone numbers, addresses, and other details about people and then sell or display that information on people-search sites such as Spokeo, WhitePages, or BeenVerified. Most of those sites have an opt-out form, but filling them out by hand for hundreds of sites is tedious, and brokers tend to re-add the same data after a few months. This tool aims to automate the whole cycle. The README says it covers more than five hundred broker sites across two tiers. About forty-two of them are hand-mapped with specific instructions in a STATUS file, and the rest are handled by a generic runner that tries four common strategies, such as clicking a Do Not Sell link or filling a generic privacy form. Each month, the script searches each broker for the user's name and state, finds the matching listing, submits the opt-out form, solves any CAPTCHAs through a paid service called CapSolver, and skips brokers that were already cleaned recently within a ninety-day window. After every run it sends a summary by iMessage, by a webhook to services like ntfy.sh or Slack, or both. Running it needs Node.js 18 or newer and the Playwright browser automation library, which the README explains how to install with a single command. After cloning the repository and running npm install, a setup script asks for the user's name and aliases, address, email, phone, an optional CapSolver API key, accounts on sites that require login, a phone number for text notifications, and then registers a monthly job using launchd on macOS, systemd or cron on Linux, or schtasks on Windows. The README stresses that the personal information stays in local config and state files that are listed in .gitignore. A Dockerfile is included so the tool can run headless on any machine, with config.json and state.json mounted in as volumes so opt-out history is remembered between runs. A dry-run mode submits no forms and makes no network calls. The README is careful about what success means. A submitted form is not the same as a confirmed deletion. A separate verify mode re-searches each broker and reports whether the name still appears, and runs are tagged with statuses like submitted, awaiting email confirm, skipped, not listed, manual needed, error, and dead URL.

Copy-paste prompts

Prompt 1
Walk me through configuring auto-identity-remove for a US resident with two aliases
Prompt 2
Add a new broker site to the hand-mapped list with its own opt-out selectors
Prompt 3
Set up the systemd timer that auto-identity-remove generates and explain its schedule
Prompt 4
Run the verify mode against my current state and explain what manual-needed means
Prompt 5
Containerize the project with the included Dockerfile and mount config.json and state.json

Frequently asked questions

What is auto-identity-remove?

Node script that uses Playwright to submit monthly opt-out requests against 500+ data broker sites, with CapSolver for CAPTCHAs, notifications by iMessage or webhook, and a verify mode.

What language is auto-identity-remove written in?

Mainly JavaScript. The stack also includes Node.js, JavaScript, Playwright.

How hard is auto-identity-remove to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is auto-identity-remove for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.