Uma nova localização de VPN não reinicia a permissão de notificações
A permissão de notificações pertence à origem do site, não ao seu IP. Veja que camada guarda cada permissão e por que a entrega push parece quebrada com uma VPN.
A ideia de que uma troca de VPN pode reiniciar a permissão de notificações de um site está errada de uma forma que custa tempo real às pessoas. Nada no seu endereço de saída faz parte do registo da permissão. A permissão de um site é guardada em relação à sua origem dentro de um perfil de navegador, por isso mudar de um servidor para outro deixa-a exatamente onde estava. O que muda de facto é a sua sessão, e é normalmente isso que as pessoas observam quando decidem que a VPN fez algo às suas notificações.
Três armazenamentos que parecem uma única definição
A permissão é um registo, o interruptor de notificações do sistema operativo é outro e o estado de subscrição do próprio site é um terceiro. Cada um é revogado num local diferente por uma ação diferente.
| Layer | Where it lives | What actually revokes it |
|---|---|---|
| Permission grant | Browser profile, keyed by origin | Site settings, site reset, or clearing site data |
| OS delivery switch | Operating system notification settings | The OS per-app or per-browser toggle |
| Push subscription | Push service, bound to a service worker registration | Unsubscribe, or a subscription the service considers expired |
A que está ligada a permissão
A permissão de notificações web é por origem e por perfil. Segue https://app.example.com em vez do seu endereço público, e é por isso que o mesmo site questionado noutra máquina tem de perguntar outra vez, e por isso um ponto final de VPN diferente não produz um novo pedido. Verifique-o onde é registado: o painel de notificações nas definições do site lista as origens às quais foi concedida, e a própria página pode relatar o seu estado.
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
A consulta relata o estado que a origem já tem sem pedir um novo, e a página de service worker é onde vive ou não consegue viver um registo e a sua subscrição push. Se a permissão existe e a entrega continua a falhar, está a olhar para a terceira camada e não para a primeira.
O caminho push é uma relação própria
O Web Push acrescenta uma subscrição que a página não controla diretamente. O navegador pede uma PushSubscription a um serviço push, entrega à página um URL de ponto final, e a entrega segue depois para esse ponto final e é passada ao service worker registado. A documentação da MDN sobre PushSubscription descreve o ponto final como um URL personalizado num servidor push para o worker subscrito, e é exatamente esse o ponto: é uma capacidade de entrega, não um endereço público que publique.
Daí decorrem duas consequências. Primeira, um URL de ponto final deve ser tratado como sensível, por isso não pertence a um fio de suporte público. Segunda, o serviço push impõe a sua própria autenticação, por isso ter apenas o URL não é prova de que alguém possa enviar uma mensagem autenticada. Quando cancela a subscrição, o navegador diz ao serviço push para invalidar a subscrição, e é essa a ação que termina a entrega. Trocar de servidor VPN não é essa ação.
Por que razão a VPN parece culpada
Mude o seu endereço de saída e muitos sites voltam a autenticá-lo, rodam um cookie de sessão ou redesenham a sua página de definições de raiz. As notificações desse site podem então parar por razões que nada têm a ver com a permissão: a nova sessão não é a subscrita, o site volta a verificar o seu próprio consentimento de marketing, ou uma regra regional esconde a funcionalidade. A entrega também pode falhar porque o anfitrião do ponto final push está inacessível ou lento pelo novo caminho, o que de fora parece idêntico a uma permissão revogada.
Leia as camadas em separado antes de concluir seja o que for. O painel de permissões diz se a permissão existe; a lista de service workers diz se existem registo e subscrição; o interruptor do sistema operativo diz se o navegador pode mostrar alguma coisa.
Mude o que queria mudar
Se quer que as notificações parem, revogue a permissão para essa origem e cancele a subscrição da definição push do site, e depois confirme que o interruptor do sistema operativo não é a única coisa entre o site e o seu ecrã de bloqueio. Bloquear notificações futuras não apaga os dados de conta que o site já tem, e isso é um pedido separado ao site.
Se quer um caminho de rede diferente, mude a VPN. Afeta a identidade da sessão, as regras geográficas e a que servidores consegue chegar, e deixa a permissão de notificações intacta.
Trate o conteúdo de uma notificação com a mesma desconfiança através de uma VPN como sem ela. Um navegador familiar a mostrar uma mensagem não é prova de que o remetente ou a ligação sejam legítimos.