Privacy Policy

MailBalance is a single web page that runs entirely inside your browser. There is no server, no account, and no database. Nothing you connect to it is ever transmitted to us, because there is nowhere for it to be transmitted to.

Last updated: 23 July 2026

In one sentence

MailBalance asks Google for the sizes and headers of your emails, adds them up in your browser tab, shows you which senders and years are eating your storage, and stores that tally on your own device. It never reads a message body, never deletes anything, and never sends your data anywhere.

Who runs this

MailBalance is an independent tool published at mailbalance.emergence.md. It is not affiliated with, sponsored by, or endorsed by Google LLC.

Contact for privacy questions: privacy@mailbalance.emergence.md

What data MailBalance accesses

When you choose to sign in, MailBalance requests exactly one Google OAuth scope:

ScopeWhat it grantsWhy MailBalance needs it
https://www.googleapis.com/auth/gmail.metadata Read-only access to email metadata — labels, headers and message size. It does not grant access to message bodies or attachments. Message size is the entire product. Ranking your heaviest senders, labels and years is impossible without reading each message's size and headers.

This is the least permissive scope that can do the job. The broader gmail.readonly scope would also work technically, but it would grant access to the full content of every email — access MailBalance neither needs nor wants. No other scope is requested, now or conditionally.

Specifically, from each message MailBalance reads:

It does not request, receive, or store message bodies, attachments, recipient lists, or the Received: routing chain.

Where that data goes

Nowhere. The requests go from your browser directly to Google's API servers over HTTPS, and the responses come straight back to your browser tab. MailBalance has no backend, no API server, no analytics pipeline that touches your mail, and no third-party processor. Your email metadata is never seen by us or by anyone else.

The resulting index is written to your browser's local IndexedDB storage, on your own device, so that reopening the page does not force a full rescan. Your OAuth access token is held in sessionStorage and disappears when you close the tab. A single preference (which label you have marked as "keep") is held in localStorage.

How to delete it

Because we hold nothing, there is no deletion request to send us and nothing for us to delete on your behalf.

Google API Services Limited Use disclosure

MailBalance's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

In particular, MailBalance does not:

Site analytics

The site uses Cloudflare Web Analytics to count page views. It is cookieless, sets no identifiers, and collects no personal data — only aggregate page-level counts. It is entirely separate from the Gmail data path and can see nothing about your mailbox.

MailBalance sets no advertising or tracking cookies.

Children

MailBalance is not directed at children under 13 and does not knowingly collect data from them.

Changes to this policy

If this policy changes materially — in particular if a scope is ever added — the change will be published on this page with a new "last updated" date before it takes effect.