Web Push
API do navegador para enviar notificações push de um aplicativo web ao usuário, mesmo com a aba fechada. Exige Service Worker, permissão do usuário e um serviço de push (Firebase Cloud Messaging no Chrome, Apple Push Notification Service no Safari).
O VAPID (Voluntary Application Server Identification) assina as mensagens para que o serviço de push identifique o remetente sem chaves de API. O fluxo de assinatura é simples: o usuário aceita, o navegador gera uma URL de endpoint e o servidor envia a carga criptografada para ela. O Safari (macOS 13+, iOS 16.4+) suporta Web Push; antes disso, só havia push para apps nativos da Apple, e essa era a trava que segurava a adoção de PWAs no iOS. Antipadrão: pedir permissão de push logo na primeira visita. O Chrome 80+ bloqueia o pedido quando não há gesto do usuário.