Privacy Policy

Nudge (the Chrome extension and its local relay). Last updated 2026-10-31.

Summary

Everything stays on your computer. The extension has no accounts, no analytics, no remote servers, and sends nothing over the internet.

What the extension does

Claude Code hooks send small JSON payloads (the event name, your project folder name, and the text of Claude's question, permission request, or final message) to a relay process running on your machine at 127.0.0.1. The relay forwards them over a local WebSocket to the extension, which draws a mascot and a speech bubble on the tab you are viewing.

Data collected

None. The extension does not collect, transmit, sell, or share any personal data, browsing history, or page content.

Data stored

Page content

The content script renders the mascot inside a closed shadow root. It does not read, modify, or transmit the content of any web page.

Permissions

Network

The only network connection is to 127.0.0.1 on your own machine. The relay rejects connections from web pages and accepts only the extension or local command-line tools.

The local relay listens only on 127.0.0.1. Because any program or user account on the computer can reach that address, Nudge also uses a per-install secret: setup writes 32 random bytes to ~/.claude-nudge/secret, readable only by your account, and shows it as a connection code. The hooks read it from that file; the extension stores the copy you paste in its local storage on this browser profile (not synced) and sends it with every request. Without it the relay refuses everything except a health check, so no other program can read your Claude messages, answer a permission prompt, or switch apps on your behalf. The code never leaves your computer.

If you pair a phone (Nudge Cloud)

Pairing is opt-in. None of this happens unless you click "Pair a phone" in the extension or run npx nudge-mascot pair. The free, browser-only mode is unchanged: nothing leaves your machine.

Once you pair, the local relay also sends each nudge to the Nudge hosted relay, which runs on Cloudflare, and the hosted relay passes it to your phone.

What the hosted relay stores:

Decisions you make on the phone are forwarded to your laptop, where Claude Code applies them.

Push notifications go through Expo's push service, which hands them to Apple (iPhone) or Google (Android). A push carries the notification text: the title, the project folder name, and the start of the message. Expo, Apple, and Google handle that text to deliver it.

Retention: events and decisions are deleted after 7 days, or sooner once 50 newer events have replaced them. An unused pair code is deleted after 10 minutes.

To delete everything: click Unpair in the extension (or run npx nudge-mascot unpair). That revokes every paired phone and deletes their push tokens from the hosted relay. "Clear all recent nudges" in the app deletes the event list right away; otherwise events expire after 7 days.

Third parties

None. The extension does not use third-party services, SDKs, or trackers. Claude Code is a product of Anthropic; this extension is an independent project and is not affiliated with or endorsed by Anthropic.

Changes

Changes to this policy are published at this URL and in the project repository.

Contact

Open an issue at github.com/JayroldSoriano/nudge-mascot.