MarkEd

Highlight any webpage, annotate it, and ask Mark — your reading assistant — questions in context.

View the Project on GitHub nayanbandaru/marked-site

MarkEd Privacy Policy

This is the official privacy policy for the MarkEd Chrome extension.

Last updated: July 2, 2026

Summary

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.

Data stored locally (always)

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 (optional sync)

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.

Data we process when you ask Mark a question

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:

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:

We enforce a per-user rate limit (currently 20 requests/hour) and hard size limits on every request field to prevent abuse.

Product analytics (activation milestones)

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.

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.

Data we do not collect

Sub-processors

Permissions

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.

Data deletion

Children

MarkEd is not directed at children under 13 and we do not knowingly collect data from them.

Changes

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.

Contact

Questions or concerns: GitHub Issues