Why I don't save passwords on browsers anymore
· 5 min
Since a while ago I saw a lot of problems with the browsers’ system of saving passwords for you; undeniably, it’s a no-brainer action for a lot of people to save their passwords directly on the browsers because it is easy to access and it’s taking away much more time and effort of managing and remembering which password is used for what. However, it comes with a lot of problems because passwords on browsers can be easily misused if anyone could access your sessions or physically have access to your laptop.
That’s why I made this article to talk about a tool that I have made using Go and Redis for managing passwords for you locally, easily and most importantly, in a very secure way. (it’s not marketing for my product; it’s really good actually.)
The Idea Behind safe-pass
I have read some articles about cryptography and encryption schemes and I got interested in the idea of implementing something to use these algorithms, and that’s how the idea safe-pass emerged.
safe-pass is a CLI tool that does all the basic CRUD operations for storing the passwords (adding, deleting, editing, and copying), all with secure tunnels of encryption using AES symmetric encryption for doing this task (The algorithm of AES is fascinating if you want to take a shot; listen to a video as a starter). Examples and cases are all well-documented in the README.md file.
Master Key
All the system is locked using a Master Key which is the only password you have to remember (hopefully you are not saving this in the browser). However, if you forget the password for any reason, you only have to run the command in the root mode for a reset and you will be fine.
Backup & Restore
safe-pass has a command for backing the system to take snapshots, as simple as this:
$ safe-pass backup
Backup is created at: /home/abanoub-aziz/.config/safe-pass/safe-pass-2025-08-21:16:52:12.bin
All the passwords/tokens/keys are backed up in a JSON format, encrypted in a snapshot file, and then compressed using Gzip. This gives you a solid file you can store anywhere without worrying about data exposure.
Restoring a snapshot is also simple:
$ safe-pass restore
Enter your Master passkey:
Search: █
? Select a backup file to restore: :
.env
▸ safe-pass-2025-08-21:16:19:01.bin.gz
safe-pass-2025-08-21:16:52:12.bin.gz
For each duplicate entry, the system asks you whether to overwrite or not.
Compared to Browsers
Some people might find this not useful because it takes time to back things up and get your data back, compared to browser saving in one click.
Undeniably browser saving is faster, but I find this more convenient and actually pretty fast too — because when you need a password, you only have to do simple steps and get the data directly copied to your clipboard without exposing it directly in the terminal:
$ safe-pass show
Enter your Master passkey:
✔ passwords
✔ passwords-default:default
Data is copied to your clipboard
It’s just a couple of lists and you choose what you want — no sensitive data is printed to the terminal.
Security Considerations
If you got really unlucky and someone got your PC or laptop, they couldn’t access the data in this system without the Master Key. Even if they accessed the Redis database directly, they would only see encrypted values:
$ redis-cli
127.0.0.1:6379> KEYS *
1) "passwords-default:default"
2) "passwords-google:personal"
3) "tokens-default:default"
127.0.0.1:6379> GET passwords-default:default
"204b146702d33dd4e53cdc384ff11bc2e30de555ec3312a384106c4ca1c9afa849a8e73068eb505f484ebdd42836"
Of course, if they are aware enough, they might search for the .env file that contains the key and attempt to decrypt it — but it would take too long, and you’d probably notice before they succeed.
Conclusion
The point is: it’s local, safe, and easy to access.
I’ve worked a lot to make it convenient and easy to use by providing a very detailed README.md file.
It’s a simple, but genuinely great, project I have worked on and I hope you enjoy it (especially Linux nerds and terminal lovers). Thanks and Enjoy! 😉