Web Push
API del navegador para enviar notificaciones push desde una web app al usuario — incluso con la pestaña cerrada. Requiere un Service Worker, permiso del usuario y un servicio de push (Firebase Cloud Messaging en Chrome, Apple Push Notification Service en Safari).
VAPID (Voluntary Application Server Identification) firma los mensajes push para que el servicio pueda identificar al remitente sin necesidad de claves de API. El flujo de suscripción: el usuario acepta → el navegador genera una URL de endpoint → el servidor envía el payload cifrado a ese endpoint. Safari (macOS 13+, iOS 16.4+) soporta Web Push — antes solo existían las notificaciones de apps nativas de Apple. PWA + Web Push fue precisamente lo que Apple retuvo para frenar la adopción de las PWA hasta iOS 16.4. Antipatrón: pedir permiso de notificaciones nada más entrar — Chrome 80+ bloquea el aviso de permiso si no hay un gesto previo del usuario.