Extension version: 3.0 Last updated: 10 August 2026 Developer: Céline Lenoble — crabe@fastmail.com Source: AGPL-3.0. Everything described below can be checked against the code.
Crabe has no server. It collects nothing, stores nothing about you, and sends nothing anywhere unless you click Analyse — and then only to services you chose and configured yourself, with your own key and your own billing.
There is no account, no identifier, no telemetry, and no analytics. Nothing is sent to the developer, because there is nowhere for it to be sent.
Nothing happens in the background. Every request below is caused by you clicking Analyse this page.
The text of the page you are analysing (up to 50,000 characters), its URL, its title, and the author and date declared in its markup, are sent to the one provider you configured:
| Provider | Endpoint | Governed by |
|---|---|---|
| Google Gemini | generativelanguage.googleapis.com |
Google’s privacy policy and Gemini API terms |
| Anthropic Claude | api.anthropic.com |
Anthropic’s privacy policy |
| A local model via Ollama | localhost:11434 |
nobody — it does not leave your machine |
Choosing a provider and entering its key is the consent for this. Crabe does not ask twice.
Lateral reading asks what independent sources say about the publisher, the author and the page’s central claim. To do that it sends a search query built from those three things through the provider’s own web-search tool.
Off until you turn it on, in Settings. The switch states what is sent and to whom, next to the switch.
Citation checking fetches the page’s own outbound links to see whether they resolve. Those sites receive an ordinary request and learn that someone followed the link. Cookies are not sent, so the request is anonymous to them beyond an IP address and the ordinary metadata any visit carries.
Off until you turn it on. Separate from the switch above, because it contacts different people.
A withheld switch is enforced, not discouraged. The request is refused in code before a network socket is opened, and a missing or corrupt setting reads as withheld rather than as granted.
Your settings, in the browser’s extension storage:
storage.sync, so they follow you to other browsers where you are signed in;storage.local only. They are deliberately excluded
from storage.sync, because that store replicates to Mozilla’s or Google’s
servers with browser sync enabled, which would mean handing a credential to a
third party you were never asked about. The partition is declared in the code
and enforced by a runtime check and an automated test, not left to
convention.Nothing else. The text of an analysed page is never written to disk. It is passed in memory to the panel, used for the analysis, and gone when the panel closes. Results are held in memory only and are forgotten when you close the panel; if you want to keep one, the export button writes a Markdown file where you choose to put it.
Changed in 3.0. Earlier versions wrote the extracted text, URL and title to
local storage, where nothing read them and nothing deleted them. That is
removed. Version 1.x also stored the Gemini API key in storage.sync; if you
used it, opening Settings and saving once removes any key found there.
| Permission | Why |
|---|---|
activeTab, scripting |
To read the text and links of the page you clicked Analyse on, at that moment. Not used anywhere else. |
tabs |
To know which tab a result belongs to, so an analysis is never displayed over a different page. |
storage |
Your settings and keys, as above. |
sidePanel (Chrome) |
To open the panel the analysis runs in. |
Access to <all_urls> |
Optional, never asked for at install, and asked for in two situations. When you click Analyse, for the page in front of you alone. And for all sites, only if you switch on citation checking — checking whether a link works means requesting it, and a page’s links point at other people’s sites, so there is no narrower permission that would reach them. Switching that off gives the broad access back. Leave it off and Crabe only ever holds the pages you have analysed. |
generativelanguage.googleapis.com, api.anthropic.com, localhost:11434 |
The three providers, so a request to the one you chose is possible and a request anywhere else is not. |
Crabe is not directed at children and collects nothing from anyone, including them.
Material changes will be published here with a new date, and the version this policy describes is stated at the top. This document describes version 3.0.
crabe@fastmail.com