Privacy Policy — Popup Alarm
Last updated: May 2026
What this extension collects by default
Nothing. Popup Alarm runs entirely on your device. It does not transmit browsing history, page content, URLs, or any personal data to any server in its default configuration. There is no analytics SDK, no telemetry endpoint, and no third-party tracking.
Where data is stored
chrome.storage.sync— your settings (alarm sound, volume, snooze duration, quiet hours, per-site rules, watcher definitions). Synced by your browser across your own signed-in devices only.chrome.storage.local— per-device counters (firing statistics, learned popup patterns, daily-fire gates). Never leaves the device.
You can clear all stored data at any time from the extension's options page (Backup & data → Reset) or by uninstalling the extension.
Permissions explained
| Permission | Why it's needed |
|---|---|
storage | Save your settings, watchers, and local statistics. |
alarms | Schedule periodic re-scans for element watchers and drive snooze / quiet-hours timers across service-worker restarts. |
notifications | Show the system notification that accompanies the audible alarm, with Stop / Snooze action buttons. |
offscreen | Play the alarm sound and optional text-to-speech in a dedicated offscreen document (required by Chrome MV3 — service workers cannot play audio). |
contextMenus | Add right-click menu items so you can create text or element watchers from the page without opening the options page. |
idle | Detect when the OS is idle/locked so the alarm keeps ringing for away-from-keyboard users and quiet-hours logic works correctly. |
tabs | Attach a tab id to each notification (so the Stop button stops the right tab), focus the originating tab on click, and enumerate tabs for the "stop all alarms" shortcut. Reads tab id, URL, and title only — never page content. |
activeTab | Used when you click toolbar buttons such as "Test on this tab" or "Snooze this site" — one-shot, user-initiated. |
scripting | Inject the lightweight detector script into newly opened tabs and dynamic same-origin iframes that match your watch rules. |
<all_urls> host | Detect popups, banners, and modals on whichever site you visit. Pages are read in-process; nothing is transmitted off the device. You can disable detection per-site under Sites & privacy → site rules. |
Remote code
The extension does not load or execute any remote code. All JavaScript is bundled with the extension at build time. Optional user-imported "rule packs" contain only JSON data (CSS selectors and text strings), which is parsed — not executed.
Third parties
None. Popup Alarm does not share, sell, or transfer any data to third parties.
Children's privacy
Popup Alarm does not knowingly collect data from anyone, including children under 13. Because no data is transmitted off the device, no such collection occurs.
Changes to this policy
If the policy changes, the Last updated date above will be revised and the new
version will be published at the same URL. Material changes will also be noted in the
extension's CHANGELOG.md.
Contact
Questions or concerns: open an issue at https://github.com/erikim-dev/pop-up-Alarm/issues.