Most browser extensions that call an LLM route your requests through the developer's server. That means your queries — every term you look up, every concept you're half-embarrassed not to know — pass through infrastructure you don't control, get logged at some layer, and fund somebody's inference costs until the startup pivots or shuts down.
rabbitholes doesn't work that way. When you highlight a word, the request goes from your browser directly to api.anthropic.com. No intermediary. No proxy. No backend I'm running.
This wasn't a late-stage privacy checkbox. It was the first architectural decision, because it's the only design that's actually private. An intermediary server that promises not to log is still a server that can log. Direct-to-API means the topology itself is the guarantee.
The implementation consequences are real. Your Anthropic API key lives in chrome.storage.sync, encrypted by Chrome, never transmitted anywhere except the Anthropic endpoint. Same for the optional Brave Search key — if you hit the globe icon to enrich an answer with live search results, that request goes direct to api.search.brave.com. Zero analytics, zero telemetry, nothing phoning home to me.
The tradeoff: you need your own API keys. Haiku 3.5 is cheap enough that a few hundred lookups per day runs well under a dollar, but it's not zero-config out of the box. I decided that was the right tradeoff. A free tier that routes through my server would be a worse product even if it felt more convenient at install time.
The shadow DOM tooltip is the other structural choice worth noting. Explanations render in an isolated DOM tree next to your cursor, so rabbitholes can't leak styles into the host page or break layouts on pages with aggressive CSS resets. You can click any word in the explanation to explore it further, or drag across a phrase to narrow the query. Every answer ends with two suggested rabbit-hole topics. A counter tracks how many hops deep you've gone.
None of that data leaves your browser.
github.com/robertnowell/rabbitholes
Top comments (0)