Skip to content

Persistência Indevida de Dados

A persistência indevida ocorre quando dados sensíveis permanecem armazenados no dispositivo do usuário por mais tempo do que o necessário ou em locais inadequados, aumentando o risco de acesso não autorizado.

O Princípio da Necessidade

Dados de saúde e identificação pessoal só devem residir no navegador enquanto são estritamente necessários para a funcionalidade atual. Assim que o usuário encerra sua tarefa ou faz logout, esses dados devem ser eliminados.


Como fazer vs Como não fazer

✅ Como fazer

  • Utilize o SessionStorage para dados temporários da jornada que devem ser limpos ao fechar a aba.
  • Implemente uma função centralizada de Logout que limpe explicitamente todos os Storages (localStorage.clear(), sessionStorage.clear()) e delete os cookies de aplicação.
  • Prefira manter dados sensíveis apenas na memória RAM da aplicação (ex: estado do Redux ou TanStack Query sem persistência em disco).
  • Configure tempos de expiração curtos para dados cacheados no IndexedDB ou Service Workers.

❌ Como não fazer

  • Não utilize o LocalStorage para armazenar informações de saúde que não precisam persistir após o fechamento do navegador.
  • Não confie que o usuário fechará a aba ou o navegador; utilize timeouts de inatividade para limpar dados sensíveis da memória e forçar o logout.
  • Não esqueça de limpar caches de Service Workers ou instâncias de bancos de dados locais (IndexedDB) que possam conter dados de pacientes ao realizar a troca de usuário ou encerramento de sessão.