For some time now, I've been unsatisfied with the state of user names and passwords for the numerous services I use in the web. I'm having hard time to remember all the services I have singed up to and a bad habit of using a few common passwords for all of them.
So, I hacked for a while, and yestreday, I pushed the first release of sala to PyPI. It's is a simple, filesystem based, encrypted password storage system that uses GnuPG's symmetrical encryption. As usual, a git repository is available at GitHub.
The main idea of sala is to store passwords (or other tiny, plain-text secrets) in encrypted plain-text files in a directory hierarchy, like this:
/path/to/passwords |-- example-service.com | |-- +webmail | | |-- @myuser | | `-- @otheruser | `-- +adminpanel | `-- @admin `-- my-linux-box |-- @myuser `-- @root
As sala is a command line utility and there's one file per password,
tab completion and other shell goodies are available. The custom of
prefixing user names with
category/group/subservice names with
+ is my own
preference and not enforced by the program. You may come up with
your own scheme, for example if you want to protect user names as
well as the actual passwords. For more information, see
the PyPI page.
pip install sala to install,
or download the
source, unpack, and invoke
python setup.py install.
In addition to Python 2.5 or newer, requires
Currently, Python 3 is not supported because GnuPGInterface doesn't
Update: While writing this blog entry, I found a few packaging bugs, and released version 1.0.1.