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

🔐 Como criei meu próprio gerenciador de senhas self-hosted???


Alguns meses atrás fiz uma viagem para a Argentina e como não tenho um notebook, fiquei uma semana sem acessar meu pc. Até aí estava tudo certo!

O problema é que durante a viagem precisei acessar algumas das minhas contas (github, google, etc) e como vocês já devem esperar, todas as minhas senhas estavam salvas localmente na minha máquina kkkkk.

Sim, eu sei que não é uma boa prática! Mas no dia a dia acaba virando costume. Você começa escrevendo uma senha em bloco de notas para lembrar de salvar em outro lugar mais seguro, depois salva outra, depois mais uma, quando percebe já tem um bloco de notas com 293674125 linhas.

Bom, voltando para o problema...depois de gastar um bom tempo resentando a senha de todas as contas que eu precisei usar, percebi que precisava de alguma coisa para gerenciar isso melhor.

Mas como todo bom dev, ao invés de usar um google drive da vida ou um gerenciador já existente como lastpass, 1password, etc... Eu preferi gastar todo meu fim de semana codando o meu próprio do zero.

No fim das contas acabou, na minha opinião, sendo a melhor opção! Entre os diversos benefícios que envolve ter uma applicação desse tipo self-hosted, para mim a mais interessante é ser MAIS SEGURO

Por mais que muita gente pense que nunca vou conseguir construir sozinho, algo mais seguro que um time inteiro (plot twist, eles estão certos), a empresa (lastpass, 1password, etc) que tem um time grande e especializado, também tem muitas "portas" para manter seguras. O fato delas terem que lidar com múltiplos usuários, escalabilidade, etc, aumenta as possibilidades de alguma falha humana e consequentemente um vazamento. Isso são coisas que no meu simples gerenciador de senhas, com um único usuário e uma única "porta" de entrada e saída, eu não vou precisar enfrentar.

Vou deixar em baixo o link de acesso da versão de preview e uma imagem de como ficou o resultado final.

Deixei o frontend e o backend o mais seguro que consegui, mas caso vocês encontrem alguma coisa que pode ser melhorada, é só me dá um toque.

Até pensei em deixar o código open-source, mas ainda não tenho certeza disso.

ScreeShot

URL de acesso: https://unokey-preview.vercel.app
Senha de acesso: preview123

Tecnologias & ferramentas

  • NextJS App Router: Frontend + API Route para requisições pontuais (como pesquisar por senhas);
  • Firebase: Autenticação, banco de dados e storage de arquivos;
  • Algolia Search: Pesquisa super rápida e otimizada por documentos, no nosso caso, senhas;
  • OpenAI: Geração automática das categorias para cada senha;
  • FramerMotion: Animações que são muito gostosas de se ver;

Conclusão

No fim do dia tenho meu próprio gerenciador de senhas, self-hosted, que resolveu meu problema e ainda de quebra tive vários pontos positivos.

✅ Só preciso decorar uma única senha, para ter acesso a todas as outras;
✅ Tudo que preciso é de um dispositivo com internet e um browser para acessar as minhas senhas de qualquer lugar do mundo;
✅ Segurança a nível do google para autenticação + meus dados criptografados no banco de dados;
Proteção contra vazamentos não é zero, mas é bastante reduzido;
✅ Por não precisar confiar em nenhuma empresa, acabo tendo muito mais privacidade;
Custo zero (100% gratuito) pois os serviços que usei (hospedagem, banco de dados, api, storage de imagens, etc) tem um free-tier mais que o suficiente para eu usar para sempre;

Carregando publicação patrocinada...
4
1

É bem simplão, mas eu gosto de fazer anotações gerais no Google Keep. Também uso para marcar partes que gostei em livros.

1

Achava que só eu usava tanto o Google Bookmarks, resolvi colocar meus links num repositorio privado do github mesmo, editando um markdown e divisão em pastas, mas sempre sentoi falta das tags e procura mais fácil que eu tinha.

1
3
2
1

Caraca, não conhecia esse Passbolt! Para ser sincero, nem cheguei a pesquisar se tinha alguma opção melhor além das convencionais que mencionei no post. Eu tinha 16 horas livres, me perguntei "por que não?" e comecei a codar

2
1

Não pq no fim das contas é um site normal como qualquer outro e você consegue acessar até da sua tv. Acho que esse foi um ponto motivador para usar nesse formato web e não uma aplicação nativa para mobile ou desktop.

2
2

O custo da OpenAI para a geração das categorias é tão baixo que chega a ser insignificante. O custo é de mais ou menos R$ 0.0012461538461538463* por senha salva.

Ou seja, eu gasto UM CENTAVO por mais ou menos OITO senhas salvas

1

Gostei da ideia, mas quando li "self-hosted" eu achei que tu realmente tinha um servidor, ou uma NAAS, ou algo do tipo em casa, mas tu tá hospedando as coisas no firebase, e isso não é self-hosted (acredito eu).

0
1

Ficou muito bom!
Das Tecnologias & ferramentas usadas só não sei NextJS App Router ainda, mas pretendo estudar em breve e vou fazer o meu gerenciador de senhas self-hosted.