Last updated: 20 September 2026 Extension: Bulk Delete Emails for Gmail™ — Mass Unsubscribe & Cleanup Contact: tphuc.me@gmail.com
Bulk Delete Emails for Gmail™ runs entirely inside your browser.
Every message fetch this extension makes uses Gmail's format=metadata mode with an explicit allowlist of headers:
| Header | Why it is needed |
|---|---|
From | Group your mail by sender — the core of the product |
Subject | Shown as a one-line example so you can recognise a sender |
Date | Power the "oldest / newest" columns and "older than N months" |
List-Unsubscribe | Find the unsubscribe endpoint for a mailing list |
List-Unsubscribe-Post | Detect RFC 8058 one-click support |
Gmail also returns sizeEstimate and internalDate with every message; those drive the "space used" figures.
format=metadata means Google does not send us the message body. No email text, no attachments, no inline images. Not "we choose not to look" — the API response does not contain it.
Read once, from users.getProfile, to display which account is connected in the dashboard header. It is not stored anywhere outside your browser and is not sent to us or anyone else.
The extension adds and removes the TRASH and INBOX labels on messages you select. That is what "move to Trash" and "undo" mean technically.
All of it lives in chrome.storage.local — a private, per-extension area on your own computer. Nothing is written to chrome.storage.sync, so none of this travels through your Google account to your other devices.
| Stored | Contents | Why |
|---|---|---|
| Scan cache | Per-sender name, address, message count, total size, newest/oldest dates, unsubscribe URLs, message ids | So reopening the dashboard is instant instead of re-scanning |
| Run history | The last 10 cleanups: message ids, action, timestamp, counts | This is the Undo feature. Without the ids, nothing could be restored |
| Unsubscribe ledger | Sender address → status and timestamp | So you are not asked to unsubscribe from the same list twice |
| Settings | Your query, scan depth and dry-run preference | Convenience |
You can erase all of it at any time by removing the extension, or from chrome://extensions → Bulk Delete Emails for Gmail™ → Details → Site settings. Uninstalling deletes it permanently and immediately.
This is the complete list. There are no others.
https://www.googleapis.com/gmail/v1/... and .../batch/gmail/v1 Your own mailbox, authorised by a token Chrome issues to you. Requests go directly from your browser to Google.https://oauth2.googleapis.com/revoke Only when you click "Reconnect Google account", to revoke the old token.List-Unsubscribe=One-Click. It is sent with credentials: 'omit', so your cookies for that domain are not included. Permission for that domain is requested at that moment and released afterwards.gmail.send scope, which is why mailto-only unsubscribes are handed to you rather than automated.Bulk Delete Emails for Gmail™'s use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Specifically:
At any time: https://myaccount.google.com/permissions → Bulk Delete Emails for Gmail™ → Remove access. The extension also has a "Reconnect Google account" button that revokes its current token.
Because nothing is transmitted to us, we retain nothing. Data in your browser persists until you clear it or uninstall the extension. The scan cache keeps at most 8 recent scans and the history keeps the last 10 runs; older entries are evicted automatically.
Bulk Delete Emails for Gmail™ is not directed at children under 13 and does not knowingly collect data from them.
Material changes will be reflected here with an updated date and noted in the Chrome Web Store listing's changelog.