Executando verificação de segurança...
1

Amigo, não quero parecer negativo nem jogar um balde de água fria, mas sinto que o que você está propondo é, na prática, inviável. E por se tratar de segurança da informação, esse post pode acabar sendo perigoso por passar uma falsa sensação de segurança. Vamos a alguns pontos importantes:

O link não expira de fato – O que está sendo feito é um controle na sessão do navegador para mostrar uma tela diferente após o primeiro acesso. Mas basta abrir o mesmo link em outro navegador ou numa aba anônima para ter acesso novamente, quantas vezes quiser.

Você afirma não ter backend, mas está usando Next.js na Vercel – Isso já envolve server-side rendering, o que implica na existência de um servidor. Inclusive, ao inspecionar a aba Network no navegador, é possível ver claramente que os dados são trafegados pelo backend (ainda que, aparentemente, não sejam salvos – espero). Seguem prints que comprovam:
https://ibb.co/202D6xbk
https://ibb.co/9kR8fFLz

Toda a lógica de criptografia está exposta no navegador – Isso significa que ela pode ser facilmente extraída. Fiz um teste e levei menos de 10 minutos para replicar o funcionamento localmente. Você estava logando tudo no console, o que facilitou ainda mais a identificação dos trechos relevantes. Prints:
https://ibb.co/BVxwWnbf
https://ibb.co/TDNkfmMJ

Se fosse algo com menor impacto, eu sugeriria melhorias. Mas nesse caso, acredito sinceramente que o produto, da forma como foi idealizado, é tecnicamente inviável de ser seguro.

Carregando publicação patrocinada...