Push Notification Prompt Blocker
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
This script automatically detects and blocks push notification permission prompts—both the browser's native dialog and custom overlay requests. It intercepts the Notification.requestPermission API, clicks the "Block" or "Deny" button on native prompts, and dismisses custom overlays by finding and clicking close or block buttons. A counter badge shows how many prompts were blocked, and per-site memory prevents repeated blocking attempts on the same page. Browse without interruption—notification prompts are silently dismissed before you even see them.
WHERE IT RUNS
The script works on any page that requests push notification permissions—news sites, blogs, e-commerce stores, and any website with a "Allow notifications" prompt. It handles both the browser's built-in permission dialog and custom JavaScript-based overlays. The script works on any website regardless of framework.
HOW TO USE
After installation, the script automatically blocks notification prompts based on your settings. A badge appears showing the count of blocked prompts. Click the badge to open the panel. Customize: enable or disable blocking, choose block delay (ms), set max attempts, enable blocking on page load or on scroll (with configurable threshold), enable per-site memory, show/hide the count badge, choose badge position, toggle debug mode, and select which prompt types to block (native browser prompts, custom overlays). Click "Scan & Block Now" to manually trigger a scan. The script intercepts Notification.requestPermission at the API level and blocks all notification requests.
TECHNICAL MECHANISM
The script uses a dual approach to block notification prompts. First, it intercepts the native browser permission API by overriding `Notification.requestPermission()` to immediately return "denied" without showing the prompt, and overriding `navigator.permissions.query()` to report notifications as "denied". It also overrides `PushManager.prototype.subscribe` to reject push subscription requests. Second, it scans the DOM for custom notification overlays using comprehensive selectors (.notification-prompt, .push-prompt, .allow-notifications) and keyword detection in modal elements. For each custom overlay, it finds and clicks the "Block", "Deny", "Cancel", or close button, or hides the element if no button is found. Third, it stores blocked URLs in per-site storage using GM_setValue. The script uses a MutationObserver for dynamically added prompts and intercepts the permission API as early as possible.
THE PANEL
The settings panel is fully draggable and can be positioned anywhere on your screen. It automatically snaps to the nearest edge when released, keeping your workspace organized. The panel can be collapsed to a small bubble showing only a gear icon, and restored with a single click. Its position is remembered across page reloads using GM_setValue. The panel also responds to the Escape key, which instantly hides it until you click the bubble again. All settings are saved immediately when changed and persist across browser sessions.
PLEASE NOTE
This script requires the free BotGentz extension to run. The script intercepts browser permission APIs and may affect legitimate notification requests if you actually want to allow them—disable the script on sites where you want to receive notifications. The script does not access, store, or transmit any personal data or browsing history. All processing happens locally in your browser and never leaves your device.