Umbra

Privacy

Effective date: October 9, 2026

Umbra Mail redraws Gmail in your browser. It reads what Gmail shows you so it can show it differently, and it keeps its settings and caches on your computer. It has no server of its own, and the developer receives nothing from it. Umbra collects zero data.

In short:

This policy covers the Umbra Mail Chrome extension and the Umbra Mail userscript. Where they differ, it says so.

Who makes Umbra Mail

Umbra Mail is a free project by an individual developer, Mason Chen, under the GNU General Public License v3.0. Its source code is public at github.com/Mason363/UmbraMail, so anyone can check what this policy describes.

For questions or requests about privacy, use masn.studio/support or open an issue at github.com/Mason363/UmbraMail/issues.

What Umbra reads

Umbra runs on Gmail's pages and nowhere else. To draw its own screens, it reads what Gmail has on the page: your lists of conversations, the messages you open, names and email addresses, subjects, message text, attachment names, and Gmail's labels and settings. Every action you take (Done, Delete, Send, and so on) is handed back to Gmail, which carries it out.

Umbra also asks Gmail for a few things directly, as you, with the sign-in you already have:

These requests go only to mail.google.com, just as Gmail's own requests do.

What Umbra stores on your computer

The Chrome extension's storage

The extension keeps its data in Chrome's extension storage (chrome.storage.local), in your Chrome profile on this computer. It does not use Chrome's sync storage, so none of it is copied to your Google account or to other computers. This is what it holds:

Gmail's site storage

Local recall (finding mail as you type in ⌘K) keeps an index in an IndexedDB database named umbra-mail. It lives in the site storage of mail.google.com on your computer. For each conversation Umbra has seen in a list, it keeps the account, the sender and people on it, the subject, the first 140 characters, the date, and whether it has attachments. It holds at most 40,000 conversations, oldest removed first. It never holds whole emails.

Umbra also keeps one note per tab in session storage: whether that tab shows all your accounts at once. It is gone when the tab closes.

The userscript

The userscript stores the same things, but in your userscript manager's storage for the script (Violentmonkey or Tampermonkey) instead of Chrome's extension storage. The recall index is the same IndexedDB database in Gmail's site storage.

What leaves your computer, and when

Umbra sends data to these places, and only these.

Gmail. The requests listed under "What Umbra reads", to mail.google.com, as you.

Logos and photos. A row from a company shows that company's logo. Umbra asks Google's public icon service (t1.gstatic.com) for the icon of the sender's web domain, such as example.com. Only the domain is in the request, never an email address, and no referrer is sent. People's photos load from the Google addresses Gmail itself uses.

Video pictures. When an email links to a YouTube video, Umbra shows the video's picture from YouTube's image server (i.ytimg.com). Only the video's ID is in the request, and no referrer is sent.

The AI provider you choose. Only if you turn AI on and choose a provider in Settings › AI (or in the welcome, where you also agree to that provider's terms). Requests go straight from your browser to that provider, with your ChatGPT sign-in or your own API key, and without your cookies:

Each request carries only what that job needs:

What a provider does with a request is governed by that provider's own terms and privacy policy, under your account and key with them. Settings › AI shows how many requests were made today.

Chrome's built-in model. If you choose "On this device", the model runs inside Chrome on your computer, and nothing you read or write leaves it.

Your Google Sheet. Only if you connect a Gemini sheet in Settings › Gemini. That sheet is written by a Google Workspace Studio flow that you set up in your own Google account. Umbra reads it from docs.google.com with your Google sign-in, about every minute or two while a Gmail tab is in front.

Sign in with ChatGPT. Signing in happens on OpenAI's own pages, in a tab of your browser. OpenAI then sends the browser to an address on your own computer (127.0.0.1, port 47824), as it does for every app that signs in this way; nothing listens there. The Chrome extension catches that address before it loads and hands it to Umbra; with the userscript, you paste it into Umbra. Umbra then finishes the sign-in itself, straight with auth.openai.com. The tokens it receives stay in Umbra's storage on your computer and go only to OpenAI. Settings › AI › Sign out revokes them at OpenAI and removes them.

Umbra's website. umbra.masn.studio serves the userscript and its updates. Your userscript manager checks it for updates now and then, as it does for any script; that request carries nothing from Umbra. The userscript also runs on that site, only to tell the page it's installed. The site has no analytics and no cookies. Vercel, which hosts it, keeps standard request logs (such as your IP address and browser), as any web host does.

Gmail's own Gemini. Where your Google account has Gemini in Gmail, Umbra uses Gmail's own to-dos, suggestions and answers. That stays between you and Google, under Google's terms.

Fonts (userscript only). The userscript loads its fonts, Instrument Sans and Newsreader, from Google Fonts. The Chrome extension carries its fonts inside and loads nothing for them.

Files you save. "Keep copies, delete emails", downloads, and "Export settings" save files to your computer. An exported settings file holds your choices (settings, names and colors you set, dismissed lines). It never holds your mail, caches or API keys.

What never happens

Your API keys and ChatGPT sign-in

If you use your own Gemini, OpenAI or Anthropic key (your ChatGPT sign-in is kept the same way):

Deleting your data

None of these touch your mail in Gmail.

Chrome Web Store user data policy

Umbra Mail's use of the data it handles complies with the Chrome Web Store User Data Policy, including its Limited Use requirements. Data is used only to provide Umbra's features in Gmail, and is moved only as this policy describes.

Children

Umbra Mail is not directed to children under 13. The developer does not collect personal information from anyone, children included.

Changes to this policy

If Umbra Mail starts handling data in a new way, this policy will change first. The new version will be published at umbra.masn.studio/privacy with a new effective date.

Contact

Use masn.studio/support, or open an issue at github.com/Mason363/UmbraMail/issues.