Privacy and uninstall

Rebates starts from a narrow default data scope: the account/device data needed to authenticate, serve, and credit a sponsored footer.

What leaves your machine

Onboarding starts with the same device-code login flow as the main SellTraces CLI:
After login, ad fetches use the saved bearer token plus the local device id:
The device id is a random UUID generated locally on first run and stored at ~/.rebate/device. It is claimed to your signed-in account so impressions can credit your dashboard wallet. Sponsor clicks open first-party /go/... URLs that resolve through the Gravity click proxy and then redirect to the advertiser.

Ad relevance and optional sharing

The default sponsored-footer flow does not require trace uploads. Ad relevance is selected server-side from a small set of developer-tool topics, account/device state, and ad event history. Any additional data sharing for ad relevance must be presented as an explicit opt-in before that data is used. Contextual matching (redacted prompt text improving sponsor relevance) is that opt-in. Onboarding recommends it but requires an explicit yes, and consent is recorded together with the disclosure version you were shown. If the disclosure wording ever changes, recorded consent expires and the CLI stops sending context until you run rebate context on again. Silent installs (rebate onboard --yes) never enable contextual ads unless --contextual is passed explicitly, and REBATE_CONTEXTUAL_ADS only overrides the saved choice while it is present in the environment.
Trace collection is a different product with a different CLI. SellTraces handles agent transcripts only after explicit, per-source opt-in, and its docs describe that flow separately.

What changes on your machine

If your Claude settings or Codex hooks file cannot be parsed, the CLI refuses to touch it rather than clobber it.

Failure behavior

Sponsor rendering must never break your coding tool. Claude Code sponsor fetches run from UserPromptSubmit, and rendering happens through statusLine. Codex launch and prompt refreshes update Rebate’s sponsor snapshot, and the launcher draws the current sponsor in the footer row. If a fetch times out, errors, or returns no fill, Rebate emits no placeholder sponsor and never invents earnings claims.

Uninstall

This removes Rebate-owned Claude Code settings, restores previous values for keys Rebate touched, restores Rebate-owned Codex hooks and launcher changes, preserves unrelated edits made after install, deletes backups, and removes the /ad command. Your device id and any earnings on it remain valid if you later turn Rebates back on. To also remove local credentials, device id, ad cache, and Rebate-owned update state while preserving the installed binary, run: