Criei um Gerenciador de Senhas para uso pessoal
A partir de uma necessidade pessoal, criei e hospedei um gerenciador de senhas.
Durante o desenvolvimento, decidi usar o projeto como estudo, e por causa disto tem uma arquitetura relativamente robusta para somente 1 usuário usar. Optei por usar uma arquitetura de microserviços (tem só 2 serviços no momento, mas ainda virão mais...).
Com esse projeto aprendi várias coisas valiosas relacionadas à segurança, principalmente o conceito de Zero Knowledge, que é de maneira simplória, um conceito que diz que o servidor não pode ter informação suficiente para saber o "segredo" do usuário, que nesse caso, são as senhas.
Ainda quero adicionar mais coisas, mais por aprendizado do que necessidade. Vou implementar MFA, criar um microservice de notification, configurar o RabbitMQ e implementar verificação por e-mail e TOTP.
Questão interessante é que o usuário pode escolher qual algoritmo ele irá utilizar para criptografar sua senha.
Aqui tem um diagrama da arquitetura:
Stacks utilizadas
- Backend: ASP.NET Core 9.0
- Frontend: Angular 20
- API Gateway: KrakenD
- Banco de dados: Postgres
- Proxy reverso: Nginx
- Conteinerização: Docker
Código open source