A pergunta diz tudo realmente. Quero fornecer um serviço, mas não quero armazenar nenhum dos dados em um banco de dados. Com todas as notícias recentes de hackers, etc, parece-me que é melhor que os clientes tenham controle total sobre seus dados.
O problema é que os dados armazenados são potencialmente sensíveis. O que eu ia fazer era ... quando um cliente visitar o site, haveria uma pergunta perguntando 'você está em um computador pessoal ou em um computador público'? Se eles estiverem em um computador público, o site recusará o acesso.
Se eles estivessem em um computador pessoal, ele os solicitaria para definir uma senha. Todos os seus dados seriam criptografados com essa senha. Agora, obviamente, isso não é muito seguro. O método de criptografia seria em JavaScript e sua senha em texto sem formatação, portanto, presumo que seria possível para um usuário mais experiente localizar a senha no localStorage e acessar os dados.
Eu sinto que isso não é um problema muito grande. Se você estiver usando um computador pessoal, as chances disso acontecer são remotas, pois ... alguém precisaria acessar sua conta de usuário específica no computador, alguém precisaria saber sobre o site ... alguém precisaria entender localStorage e como acessá-lo. Os dados confidenciais não são aqueles que comprometam sua identidade ou muito mais. Ele apenas registra algo que a maioria das pessoas não gostaria que fosse publicado publicamente.
Então, realmente a questão é: o localStorage é seguro o suficiente?
Pergunta adicional .. quão difícil é limpar o seu localStorage? Eu não gostaria que os usuários apagassem acidentalmente seus dados.
Finalmente - vale a pena criptografar / descriptografar os dados como se você tivesse a senha, pode acessar o site.