Notifications that fire unconditionally — with no user-facing toggle to silence them — violate the Chrome Web Store User Data FAQ expectation that users control communication from installed extensions. A user who wants daily summaries but not real-time alerts has no recourse except disabling notifications at the OS level, which also silences other apps. This drives uninstalls and triggers Chrome Web Store policy review flags for pushy or invasive behavior, and makes the extension non-compliant with enterprise deployment policies that require per-feature user control.
High because users cannot silence unwanted notifications without OS-level action, driving uninstalls and review penalties.
Add per-category notification toggles to the options page and have the background worker check chrome.storage.local preferences before every chrome.notifications.create call. Wire the checkboxes in options.html and guard dispatch in background.js:
chrome.storage.local.get(['notifPrefs'], ({ notifPrefs = {} }) => {
if (notifPrefs.alerts === false) return;
chrome.notifications.create({ /* ... */ });
});
Include at minimum a master toggle plus one toggle per notification category.
ID: extension-ux-performance.badge-notifications.notification-config
Severity: high
What to look for: Examine the options page for notification preference settings. Check whether users can toggle individual notification categories on or off (e.g., "Daily summary", "Alerts", "Updates"), set quiet hours, or disable all notifications. Verify that the background script reads these preferences before dispatching notifications. Count all instances found and enumerate each.
Pass criteria: The options page includes at minimum a master toggle to disable all notifications. Ideally, each notification type has its own toggle. The background script checks preferences before calling chrome.notifications.create. At least 1 implementation must be confirmed.
Fail criteria: No notification settings found in options page. Notifications fire unconditionally regardless of user preferences. No way to disable specific types or all notifications.
Skip (N/A) when: The extension does not use chrome.notifications API at all.
Detail on fail: Describe the missing control. Example: "Options page has no notification settings — users cannot disable or configure any notification types" or "Only a master toggle exists; individual notification categories cannot be independently disabled."
Remediation: Add notification preferences to your options page:
<!-- options.html -->
<fieldset>
<legend>Notifications</legend>
<label><input type="checkbox" id="notif-alerts" checked /> Alerts</label>
<label><input type="checkbox" id="notif-summary" checked /> Daily summary</label>
<label><input type="checkbox" id="notif-updates" /> Extension updates</label>
</fieldset>
// In background script, check preferences before notifying
chrome.storage.local.get(['notifPrefs'], ({ notifPrefs = {} }) => {
if (notifPrefs.alerts !== false) {
chrome.notifications.create({ /* alert notification */ });
}
});