Local-first data-broker removal.
Scan exposure · pick what to remove · automate email & browser workflows · keep evidence on-device.
Commercial removal tools work — but your identity data and evidence leave your machine. Privasea is the open-source alternative: scan yourself, pick what to remove, automate the rest, with broker plugins and everything stored locally (SQLite + encrypted vault).
| Surface | What you see |
|---|---|
| Exposure | Scan brokers, confirm matches, Remove / Guided / Not me |
| Pipeline | Queued removals — preview, send, verify |
| Needs you | CAPTCHA, confirm links, playbook review before sensitive email |
| Onboarding | Local datasheet — identity stays on your machine |
Pick your host. Full steps, service install, and LAN notes live in the guides:
| Host | Guide | Best for |
|---|---|---|
| Any OS | Setup index | Quick path + what lives where |
| Linux | linux.md | systemd, NAS, VPS, reverse proxy |
| Raspberry Pi | raspberry-pi.md | ARM64 home server, low-RAM tips |
| macOS | macos.md | Homebrew + LaunchAgent |
| Windows | windows.md | Native PowerShell or WSL2 |
| Docker | docker.md | One-command stack + Playwright |
Installers (after clone):
# Linux / Pi — user systemd service
./scripts/install-linux.sh # or ./scripts/install-pi.sh
# Windows PowerShell
.\scripts\install-windows.ps1# Docker
docker compose -f deploy/docker-compose.yml up --buildRequirements: Go 1.22+, Node.js 20+, Git.
git clone https://github.com/heza-ru/Privasea.git
cd Privasea
# Terminal 1 — API (run from repo root so plugins/ resolves)
go run ./cmd/privasea
# Terminal 2 — UI
cd web && npm install && npm run devOpen http://127.0.0.1:5173. Token: data/auth.token.
- Complete onboarding.
- Exposure → Scan (needs packs under
plugins/). - Choose Remove, Guided, or Not me per finding.
Single binary (UI embedded)
cd web && npm install && npm run build && cd ..
go build -o privasea ./cmd/privasea
./privasea -web web/distThen open the address printed by the server (default http://127.0.0.1:8787).
Optional: Playwright live browser
cd worker/playwright
npm install
npx playwright install chromiumIn the app: Settings → Live browser scans. Full host notes: docs/setup.
flowchart LR
UI["React / Vite SPA"] --> API["Go API :8787"]
API --> DB[(SQLite)]
API --> Plugins["plugins/"]
API --> Email["SMTP / IMAP"]
API --> Worker["Playwright worker"]
Worker --> Brokers["Data brokers"]
Email --> Brokers
Modular monolith: removal engine, browser automation, legal packs, risk scoring, evidence, and scheduler — all in-process. Details in docs/architecture.md.
- Scan-first Exposure — Remove / Guided / Not me; monitoring & rescan
- Broker plugins —
plugins/+ community install bundles - Email + browser — SMTP/mailto, IMAP, Playwright verify/remove
- Local evidence — screenshots, digests, redacted reports; no phone-home
- Privacy toolkit — aliases, DROP tracker, HIBP, legal packs
| Local setup guides | Linux, Pi, macOS, Windows, Docker |
| Contributing | How to help |
| Architecture | Stack, modules, status enums |
| Design system | Brand, palettes, motion |
| UX parity | Commercial feature baseline |
| Feature matrix | Capability checklist |
| Plugin SDK | Build a broker plugin |
| OpenAPI | HTTP API |
PRs welcome — especially broker plugins, docs, and UI polish.
See CONTRIBUTING.md for setup, tests, plugin guidelines, and the PR checklist.
go test ./...
cd web && npm install && npm run lint && npm run build



