Midnight Markers

A dark, polished bookmark library for Brave and Chrome.

View the Project on GitHub OrganicCat/midnight-markers

Privacy Policy — Midnight Markers

Last updated: 20 July 2026

Midnight Markers is a bookmark manager browser extension. This policy explains exactly what data it handles, where that data goes, and what it never does.

Short version

Your bookmarks stay on your own device. The only time anything leaves it is when you turn on the optional AI features, and then only the specific fields listed below, sent directly to your chosen AI provider using your own API key. The developer of Midnight Markers operates no servers and never receives your data.

Who we are

Midnight Markers is a free browser extension. There is no company, no backend service, and no analytics.

Contact: lee.delarm@gmail.com

What is stored on your device

All of the following is stored locally in your browser’s IndexedDB storage and is never transmitted anywhere by this extension:

If you use the “Import browser bookmarks” feature, the extension reads your browser’s existing bookmark tree to copy it into its own local library. That data is read locally and is not transmitted.

What is sent off your device, and when

Nothing is transmitted unless you explicitly enable AI features. They are switched off by default. Enabling them requires you to read an in-product disclosure and take an affirmative action to accept it. You may withdraw that consent at any time in Settings, which immediately disables all AI features.

When AI features are enabled, the following is sent to the AI provider you have selected each time you save a page or run the Resort feature:

You choose the provider in Settings. Exactly one is active at a time, and the in-product disclosure names the active one. The two supported providers are:

Provider Endpoint Privacy policy
OpenRouter https://openrouter.ai https://openrouter.ai/privacy
Anthropic https://api.anthropic.com https://www.anthropic.com/legal/privacy

This is sent directly from your browser to that provider, authenticated with the API key you supplied, and billed to your own account with them. It does not pass through any server operated by the developer. Their handling of this data is governed by their own privacy policy, linked above.

No other destination ever receives your data. The extension declares host permissions for https://openrouter.ai/* and https://api.anthropic.com/* and no other host, so the browser itself blocks requests elsewhere. Data is only ever sent to the provider you have selected — selecting one does not send anything to the other.

How your API key is protected

Each API key you save is encrypted at rest using AES-256-GCM, in its own separate envelope. Keys for both providers may be stored at once so that switching between them does not require re-entering a key; only the active provider’s key is ever transmitted. The encryption key is generated inside your browser as a non-extractable WebCrypto key: the raw key material is held by the browser and cannot be read back out by JavaScript, including by this extension’s own code, by browser developer tools, or by any other extension.

Honest limitation: a browser extension has no access to an operating-system keystore. This protects the key against extraction from extension storage, but it does not protect against an attacker who has full read access to your browser profile directory on disk, or who controls your machine. We state this plainly rather than implying stronger protection than exists.

The API key is additionally:

What we never do

Limited Use disclosure

Midnight Markers’ use of information received from Google APIs and from the Chrome Web Store adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. Data is used solely to provide the single user-facing purpose described in the store listing — saving and organising bookmarks, including optional AI-assisted tagging and filing — and is not used or transferred for any other purpose.

Changes to data practices

If a future version changes what data is collected or where it is sent, the extension will surface a notice in-product and require renewed consent before the new behaviour takes effect.

Your control

A note on direct browser access

Requests to Anthropic are made from the extension itself using the Anthropic SDK’s dangerouslyAllowBrowser option. That option carries a blunt name because the usual reason to send API requests from a browser is a public web page, where the key would be exposed to every visitor. That is not the case here: the key is your own, you entered it yourself, it is sealed in your own browser profile, and it is sent only to Anthropic. A browser extension has no server to proxy through, which is the same reason the OpenRouter path has always called the API directly too.