Highlight any webpage, annotate it, and ask Mark — your reading assistant — questions in context.
This is the official privacy policy for the MarkEd Chrome extension.
Last updated: July 2, 2026
MarkEd is a Chrome extension that lets you highlight any webpage, add comments, and ask an AI assistant (“Mark”) questions about what you’ve highlighted.
By default, your highlights, comments, and AI conversation history are stored only in your browser (IndexedDB). They do not leave your device unless you explicitly export them or enable MarkEd Cloud, the optional sync feature.
To answer your questions, MarkEd forwards them through a Cloudflare Worker we operate, which calls the Anthropic Claude API. You sign in with Google so we can rate-limit usage per account.
The following live in your browser’s IndexedDB and do not sync to a server unless you enable MarkEd Cloud:
Uninstalling the extension removes all locally stored data.
MarkEd Cloud is an optional sync feature. It is off by default. If you sign in and enable it, MarkEd syncs your highlights, comments, AI conversations, page metadata (URL and title), recall practice questions and their review schedule, and a small set of preferences (your chosen AI model/provider, Obsidian vault name, and learning-style profile) to our Cloudflare D1 database, keyed by your Google account sub. While enabled, MarkEd also syncs periodically in the background (about every 10 minutes) so your annotations stay current across devices.
What is never synced: your credentials. API keys, Google OAuth tokens, and your proxy session token always stay on your device and are never uploaded. The extracted article text used as AI context is also not uploaded to the cloud — it is re-extracted locally when needed.
Synced content is stored server-side in a server-readable form (plaintext at rest, encrypted in transit). This means we can read it. We store it this way to provide cross-device sync and to preserve your annotations across uninstall/reinstall. It may also later power features like personalization.
Synced content is kept until you delete it. Disabling MarkEd Cloud pauses syncing but does not delete content already on our server — re-enabling restores it. To remove the server copy, use the in-app “Delete cloud data” button in Settings, which erases your synced records from our server at any time (your local annotations are kept). Deletion tombstones older than 90 days are also pruned automatically.
Conflict resolution is last-write-wins. This depends on client timestamps, so a device with a wrong clock could overwrite newer data from another device.
When you sign in with Google and ask the AI assistant a question, the request goes from your browser through our Cloudflare Worker to Anthropic.
At sign-in, we store on our infrastructure:
sub (a stable opaque user identifier issued by Google)These are used to issue you a session token (JWT) that authenticates subsequent requests. We do not use them for marketing, advertising, or any purpose other than authenticating you to the proxy.
At each AI request, our worker sees in transit:
This content is forwarded to Anthropic to generate the response and is not persisted on our infrastructure as part of the AI request path unless you enable MarkEd Cloud, which stores synced highlights, comments, conversations, page metadata, and recall questions as described above.
At each AI request, we persist on our infrastructure:
sub), the endpoint hit, the model used, and input/output token counts. Used for per-user rate limiting and (eventually) billing.We enforce a per-user rate limit (currently 20 requests/hour) and hard size limits on every request field to prevent abuse.
We record two account-level milestone events to understand the activation funnel: how many people who install MarkEd go on to sign in and use the core highlight feature.
signed_in — recorded server-side the first time you complete Google sign-in.first_highlight — sent by the extension the first time you create a highlight.Each milestone row stores only your Google account sub, the event name, an optional extension version string (client_version), and a timestamp. These records are pseudonymous because they are tied to a stable account identifier. They do not contain page content, URLs, highlight text, question text, or AI responses.
These milestone events are stored in Cloudflare D1 alongside the usage metadata described above. We use them only to improve onboarding.
On pages where you have not turned on automatic running, MarkEd cannot see the page unless you explicitly activate it, and saved highlights reappear only after you re-activate MarkEd there. On sites where you have enabled automatic running, MarkEd loads when you visit and restores your highlights automatically.
sub-keyed metadata and milestone events), open a GitHub issue with your account email — we will purge your sub-keyed records.MarkEd is not directed at children under 13 and we do not knowingly collect data from them.
If this policy changes, the update will be published in this repository before any extension update that depends on it is submitted to the Chrome Web Store.
Questions or concerns: GitHub Issues