BCC Reminder
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Automatically monitors your email composition in webmail interfaces and reminds you when you've added recipients to the To or Cc fields but haven't included any BCC recipients. The script detects recipient addresses as you type and shows a non-intrusive banner reminder when BCC is empty. This helps prevent accidentally sending emails without BCC when privacy or distribution lists require it. You can snooze reminders for a configurable time, suppress them for the current session, or disable them entirely. Optionally, the script can intercept the send button click and prompt you to add BCC before the email is sent.
WHERE IT RUNS
Works on all major webmail platforms including Gmail, Outlook/Office 365, and Yahoo Mail. Also functions on any web-based email interface that uses standard HTML input fields or ARIA labels for recipient fields. Runs on all websites (match pattern *://*/*) using intelligent DOM detection to find email composition interfaces regardless of the provider.
HOW TO USE
Install the script and it starts monitoring automatically. When you compose an email, the script detects recipients in the To and Cc fields. If no BCC recipients are found, a reminder banner appears. Click "Snooze Xm" to dismiss the reminder for the configured number of minutes. Click "Don't remind this session" to suppress reminders until you close the browser tab. Click "Dismiss" to hide the current reminder. Configure settings in the panel: choose reminder mode (Always remind, Once per session, or Never remind), set snooze duration in minutes, and enable/disable send button interception. Click "Check Now" to manually scan the current page.
REAL MECHANISM: CONTEXT-AWARE RECIPIENT FIELD DETECTION
This script employs a multi-strategy detection pipeline that combines DOM traversal with contextual attribute analysis. First, it queries the document for elements with ARIA labels containing "To", "Cc", or "Bcc" using attribute selectors. Second, it identifies recipient chips in Gmail via [data-hovercard-id] attributes and maps them to their parent field using closest() traversal. Third, it detects Yahoo Mail's recipient containers using [data-test-id*="recipient"] and extracts the field type from parent ARIA labels. Fourth, it falls back to scanning input fields with email-related labels. All extracted email addresses are deduplicated using a Set, and the script maintains a state machine that tracks whether recipients exist in each field. The detection runs on a 3-second interval plus a MutationObserver with 500ms debounce for DOM changes. Send button interception uses event listeners attached to buttons with aria-label containing "Send" or "send", with preventDefault() called when BCC is missing and reminders are not suppressed. Session state is persisted via GM_setValue with boolean flags for session reminders and timestamp-based snooze expiration.
THE PANEL
Drag the panel anywhere on screen by clicking and holding the header. It snaps to screen edges when released. Collapse it to a small bubble by clicking the minimize button, and expand it back by clicking the bubble. Resize the panel from any corner. Press Escape to close the configuration panel. Your position and size preferences are saved automatically per site.
PLEASE NOTE
This script requires the free BotGentz browser extension which provides the BGPanel framework and storage APIs. Websites change frequently; if the script stops working on a particular webmail interface, check for updates. All data (configuration, session state, and snooze timestamps) is stored locally in your browser using GM_setValue and never sent anywhere. No analytics, no tracking, no external calls. The script only reads recipient fields visible in the UI and never accesses passwords, hidden inputs, file fields, or the actual content of email messages.