How it works

Five roles, one SQLite file, and a case file you control.

The current release is a local case-management and dry-planning build. It prepares reviewed search and form steps, request drafts, aliases, deadlines, and an evidence ledger. It does not browse broker sites, submit requests, or verify removals automatically.

The run loop

Current release: dry planning and manual evidence only. UNLISTED_DRIVER=live is rejected before the database or a browser can be opened.

  1. 01

    Scout

    Plans each reviewed broker search and contains the local matching rules for name, age, city, relatives, and phone. The current dry runner does not open those search pages; you can add an exact listing URL manually and confirm it yourself.

    → dry search plan, or a user-confirmed listing
  2. 02

    Operative

    Turns the broker recipe into a redacted, reviewable dry plan. It does not open the broker form or submit personal data. You perform the external step, then record the attempt and its exact evidence in the local case file.

    → local draft and next step; nothing submitted
  3. 03

    Sentinel

    Keeps removal and recurrence as separate evidence-backed outcomes. Automatic page checks are disabled in the current build, so dry verification stays inconclusive. You can record a point-in-time observation with the source and exact evidence.

    → user-reviewed observation + local evidence digest
relisted → human review before a new draft; still listed or inconclusive → keep the case open. Any later observation is recorded manually; no background browser check runs today.
supporting

Mailroom

Mints a per-listing plus alias. Confirmation-link parsing accepts only HTTPS links on the broker's own domain, but no inbox worker reads or clicks them. The job parks and tells you to handle the message manually.

supporting

Counsel

Drafts CCPA § 1798.105 deletion, opt-out of sale under § 1798.120, GDPR Article 17 erasure, authorized-agent requests, and neutral follow-ups. Local timers never manufacture a legal breach; drafts stay local for review.

Scout

A heuristic narrows the queue. You make the decision.

The scout code contains local matching rules for name, age, city, state, relatives, and phone numbers. The score is not a probability, and any candidate would still require your confirmation. In the current dry-only runner, broker search plans are recorded but no search page is opened and no listing is discovered automatically.

You can add an exact listing URL yourself. It must use HTTPS, remain on the selected broker’s allowlisted domain, and be confirmed as yours or one you have permission to handle. Local result parsing and structured-AI extraction exist for a future reviewed executor, but neither receives a live page in this release.

Source: UnlistFast source — packages/agents/src/scout.ts, packages/core/src/matching.ts

Why the floor matters: filing a removal for the wrong person means sending a stranger’s name and city to a data broker in order to delete a record that was never yours. Missing a listing costs you a re-run. Getting it wrong costs somebody else.

Operative

Reviewed recipes, visible before you act.

Each mapped broker has a recipe: go here, paste the listing URL, fill the contact email, submit, capture the result. Every step also carries a plain-English intent — “paste the exact profile listing URL” — sitting right next to its selector.

Today, the dry driver records those intended steps with personal values redacted. It never opens the broker form or clicks Submit. You perform the external action yourself, then record whether it was accepted, uncertain, or failed and upload the exact evidence you reviewed.

Source: UnlistFast source — packages/agents/src/operative.ts, driver.ts, live-driver.ts

One active mode, two dormant adapters

dry records what it would do and touches no network — that powers demo mode and the “explain this removal” preview. Playwright and read-only AI adapter code remain dormant architecture: UNLISTED_DRIVER=live is rejected at startup, and an Anthropic API key does not activate either path.

External gates stay with you

CAPTCHAs, logins, phone checks, ID uploads, and all broker-side submission remain manual. The case can label the next step as Needs you and wait for evidence from the action you perform.

Sentinel

Evidence without pretending a dry run looked.

The data model distinguishes removed, still listed, relisted, and inconclusive. The current dry sentinel does not load a listing URL and therefore records verification as inconclusive instead of manufacturing a success state.

You can personally check the source and upload the exact evidence for a point-in-time removed or relisted observation. The local ledger stores its source, timestamp, and digest; relisting never creates another request automatically.

Source: UnlistFast source — packages/agents/src/sentinel.ts
example-broker.test/profile/example-profilePage not foundHTTP 404 · no listingcaptured by sentinel · 2026-08-05T14:22:07Z
Example · sample dataRemoved
agentsentinel
captured2026-08-05T14:22:07Z
sourceexample-broker.test/profile/example-profile
filed2026-07-25 · 11 days earlier
fileevidence/example-verify-0812.png
sha2563f9c1d…a71b

Mailroom & Counsel

Aliases, conservative parsers, and a filing cabinet.

The mailroom mints a per-broker plus-address alias and contains conservative parsers for confirmation links and codes. The current provider cannot read an inbox, so email confirmation is handed back to you rather than described as though an unseen mailbox worker exists.

Counsel writes the escalation. The templates are deterministic and ship in the box — no API key, no model call, no chance of a model inventing a statute. Drafts remain local until you review and send them.

Source: UnlistFast source — packages/agents/src/mailroom.ts, counsel.ts
Letters counsel can draft
KindBasis
DeletionCal. Civ. Code § 1798.105
Opt out of saleCal. Civ. Code § 1798.120
ErasureGDPR Art. 17, with an Art. 21 objection
Authorized agent11 CCR § 7063 — requires valid signed permission and consumer verification
Request follow-upNeutral status request; it does not infer a missed deadline from a local timer or claim screenshots that were not attached
Source: California DOJ — CCPA guidance

California

DROP is a separate official state request.

The DELETE Act created a state-run request for eligible California residents. Registered brokers must access and process the state’s recurring deletion list every 45 days.

UnlistFast does not integrate with or submit to the portal. The official instructions allow an eligible person to submit for themselves and explain when someone may submit for another person with permission. UnlistFast asks you to declare residency explicitly and hands you the official link.

Source: California Privacy Protection Agency — DROP

What you see

A log, not a quarterly PDF.

Dry-plan events and user-recorded lifecycle actions receive a timestamp and actor. Evidence-backed actions also carry the stored artifact reference and digest. The sample log shows the intended full case history; it is not a claim that today’s runner performed those network actions.

Run logExample · sample data
  1. 2026-08-05 14:22 sentinel example-broker.test/profile/example-profile → 404. removed. evidence/example-verify-0812.png
  2. 2026-08-05 09:04 operative radaris.com is phone-gated → parked before browser launch for manual completion
  3. 2026-08-04 18:40 mailroom beenverified.com confirmation email expected at +ul-beenverified → needs you
  4. 2026-08-03 12:11 sentinel familytreenow.com listing is back after 94 days. relisted.
  5. 2026-08-02 07:15 counsel drafted CCPA §1798.105 letter → privacy@mylife.com. 31 days waiting.
  6. 2026-08-01 11:02 scout truepeoplesearch.com: 2 candidates, top heuristic 0.86 → waiting for review

Sources

  • California Consumer Privacy Act as amended by the CPRA — right to delete (§ 1798.105), response deadlines (§ 1798.130(a)(2)), authorized agents (11 CCR § 7063). https://oag.ca.gov/privacy/ccpa
  • Official GDPR text: Article 12 response rules, Article 17 right to erasure, and Article 21 right to object, each subject to the regulation's scope and exceptions. https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng
  • California's Delete Request and Opt-out Platform launched on 1 Jan 2026. Brokers began processing requests on 1 Aug 2026, with an initial 90-day window and recurring deletion processing every 45 days. https://privacy.ca.gov/drop/
  • The claims about what UnlistFast does are checkable against the code: packages/agents/src/*.ts and packages/brokers/src/*.ts.