How it works

Review the request. Keep the record.

The mobile app under development supports a choice for each case: guided steps you complete yourself, or an explicitly approved automated email through a supported channel. Neither a sent email nor a completed form proves that a listing was removed.

Mobile app · in development

Choose how each privacy request gets sent.

UnlistFast’s iPhone app brings your profile, requests, replies, and evidence into one place. Review the recipient and exact draft, then choose guided steps or approved automated email where supported.

Guided requests

Open the recipient’s page or an email draft and complete the step yourself. Record the response and attach evidence. A self-reported submission stays distinct from verified removal.

Approved automated email

For supported, reviewed email channels, approve the exact message before delivery. An interrupted send goes to manual review. Mail acceptance is recorded separately from delivery and removal.

Your account and documents

Email-code sign-in, encrypted document storage, protected account actions, and an in-app account-deletion flow are implemented. Mobile accounts use a backend; this is separate from the local desktop vault.

Clear next steps

Track cases, add listing URLs, record replies, and review disclosure history. Connection failures show recovery actions. Identity checks and broker decisions still require the appropriate person.

The mobile app is not available on the App Store yet. These are implemented development features, not a public removal service. Production setup, device testing, and App Store review remain. No removal rate or delivery outcome is guaranteed.

The separate desktop workbench

The following sections describe the local, dry-only desktop runner. They do not describe the mobile account backend or its approved email delivery.

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.