Privacy and uninstall
Rebates is built so the privacy story fits in one sentence: the only thing it ever sends is an anonymous device id.What leaves your machine
One request shape, ever:~/.rebate/device. It identifies the device for crediting earnings; it carries no account, machine, or project information.
What never leaves your machine
- Your code, in any form.
- Your prompts, transcripts, or Claude Code output.
- File paths, project names, or git metadata.
rebate binary contains no code that reads source files or transcripts. This is a hard capability boundary enforced by an automated test in the package (src/__tests__/capability.test.ts), not a policy statement. Ad relevance is selected server-side from a small set of closed developer-tool topics; nothing about your session informs it.
Trace collection is a different product with a different CLI. SellTraces reads agent transcripts only after explicit, per-source opt-in, and its docs describe that flow separately.
What changes on your machine
| Path | Change |
|---|---|
~/.claude/settings.json | Three keys patched: statusLine, spinnerVerbs, env.FORCE_HYPERLINK |
~/.claude/settings.json.rebate-backup | Byte-exact backup of the original, taken before the first write |
~/.claude/commands/ad.md | The /ad slash command |
~/.rebate/ | Device id and the local ad cache |
Failure behavior
The status line must never break Claude Code. If the ad fetch times out, errors, or returns no fill, the line falls back to the last cached ad or to an honest default (“Earning while you code”); it never invents earnings claims and never throws into Claude Code’s chrome.Uninstall
~/.claude/settings.json from the byte-exact backup (or, if Rebates created the file, removes only its own keys), deletes the backup, and removes the /ad command. Claude Code is exactly as it was before install. Your device id and any earnings on it remain valid if you later turn Rebates back on.