Accepted product direction — implementation pending: EraseMe remains an independent privacy product. Browse/Operate becoming optional Brain modules and credential UI moving to Brain must not introduce a mandatory Brain dependency into privacy workflows.
$ npx -y skills add danieljustus/symaira-eraseme --agent claude-code
What's inside
Accepted product direction — implementation pending: EraseMe remains an independent privacy product. Browse/Operate becoming optional Brain modules and credential UI moving to Brain must not introduce a mandatory Brain dependency into privacy workflows. Existing capabilities and installation instructions below remain unchanged. See PB-2026-09-09.

Symaira EraseMe helps you exercise your GDPR/CCPA right to erasure against data brokers. It is a local-first, static Go CLI with a native SwiftUI macOS app and an authenticated MCP JSON-RPC interface.
Status: Beta. Core planning, event tracking, deadline handling, registry validation, inbox triage, reports, and the MCP/CLI contracts are implemented. Some broker-specific web flows still require manual review.
brew tap danieljustus/tap
brew install symeraseme
symeraseme version
Download the matching symeraseme_<version>_<os>_<arch> archive from the
latest GitHub release.
The archives are static Go builds and do not require an external runtime.
The versioned Symaira-EraseMe-<version>-macos.dmg is attached to the same
GitHub release. The release notes state whether Developer ID signing,
notarization, and stapling were completed.
The last pre-cutover implementation is preserved at the annotated Git tag
python-final. Existing installations should migrate their local data before
removing the old runtime:
symeraseme migrate \
--source /path/to/old-state \
--destination /path/to/go-state \
--dry-run
The migration is explicit, creates a backup before writing, never deletes the
source, and can resume from .migration-state.json. See
TROUBLESHOOTING.md for the full rollback procedure.
# Create an encrypted local identity profile
symeraseme init-profile
# Inspect the embedded broker registry
symeraseme registry validate
symeraseme brokers list --law GDPR
# Plan, review, and dry-run a campaign
symeraseme plan create --campaign initial --max 5
symeraseme plan show --campaign initial
symeraseme execute --campaign initial --dry-run
# Track deadlines and view reports
symeraseme tick --dry-run
symeraseme generate-report
Destructive execution requires explicit consent. Review the plan first and use
symeraseme grant execute --ttl 3600 for a short-lived automation token.
Start the local authenticated HTTP server:
symeraseme mcp
# Default: http://127.0.0.1:8000
Use --host and --port to change the loopback endpoint. Non-loopback binds
require --allow-remote. Use --stdio when an MCP client needs
newline-delimited JSON-RPC over standard streams.
The token is generated on startup and written with restrictive permissions to
the configured data directory (mcp_token). Send it on every HTTP request as:
Authorization: Bearer <token>
Never put the token in source control, issue reports, shell history, or logs. The complete transport and tool contract lives in docs/mcp-contract.md.
The event store defaults to ~/.local/share/symeraseme/symeraseme.db; it never
falls back to a temporary directory in production. Configuration precedence is
built-in defaults, ~/.config/symeraseme/config.toml (or
$XDG_CONFIG_HOME/symeraseme/config.toml), the project
.symeraseme.toml, then environment variables. SYMERASEME_DATA_DIR selects
the base data directory, SYMERASEME_DB_DIR overrides only the database
directory, and SYMERASEME_ENCRYPT_DB accepts 1|true|yes|on or
0|false|no|off. Invalid values fail closed. When encryption is enabled, the
SQLite file is written as a standard Fernet envelope and decrypted only into a
private temporary directory during use; switching modes is atomic.
Credentials should be referenced through the canonical symvault:// form or a
platform secure store; resolved values are never logged. Provider-specific
configuration is consumed by the shared Go LLM layer.
Requirements: Go 1.26.5 or newer. A full Xcode installation is required for the macOS GUI.
# Go CLI
make build
make test
make test-race
make lint
make vet
make coverage # exact 75% statement gate
# macOS app
./app/SymairaEraseMe/build.sh
VERSION=0.12.1 ./scripts/package-dmg.sh
The coverage gate reports exact profile counts rather than rounded package percentages. CI runs the same gate on Linux and checks the complete Go matrix.
Add a verified YAML broker entry under registry/brokers/, then run:
make build
./symeraseme registry validate
Do not fabricate endpoints or include personal data. The registry is embedded and read by the Go loader; it is not rewritten by normal CLI operation.
cmd/symeraseme/ CLI entrypoint and command surface
internal/ Go domain packages and MCP handlers
registry/ Embedded broker/law/schema data
skills/ Agent skill bundle and workflow documentation
app/SymairaEraseMe/ SwiftUI macOS client
scripts/ Release and packaging scripts
.goreleaser.yml Static archive build matrix
Tags matching v* trigger .github/workflows/release.yml:
danieljustus/homebrew-tap/Formula/symeraseme.rb.The legacy package publisher is no longer tag-triggered. The archived tag
python-final remains available for historical recovery; new distribution
work is binary-first.
Apache-2.0 — see LICENSE.
Showing a partial view of a very large repo.
FAQ
symaira-eraseme is a Claude Code plugin with 1 hand-picked skill for security work, indexed on Flowy. Install it with the command on its page. It includes contribute-broker. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it