Definition
Push API
The Push API lets a service worker subscribe to a browser-run push service and receive encrypted messages from a server at any time, including when no tab or window for the site is open. Subscribing is done with registration.pushManager.subscribe({ userVisibleOnly: true, applicationServerKey }), and incoming messages arrive in the worker's push event.
userVisibleOnly: true is effectively mandatory on Chromium browsers, which enforce a policy that every push message must result in a visible notification to the user — silent, undetectable background pushes are not permitted by the platform.
The applicationServerKey passed to subscribe() is your VAPID public key, converted to a Uint8Array; it cryptographically ties the subscription to your specific server so only you can send messages to it.
Push delivery is handled by browser-vendor infrastructure (e.g. FCM for Chrome, Mozilla's push service for Firefox), not by your own server directly — your server sends an encrypted request to the subscription's endpoint URL, and the vendor's service relays it to the device.
The full API is specified by the W3C Push API spec and documented on MDN: https://developer.mozilla.org/en-US/docs/Web/API/Push_API.