pa a simple password manager features - encryption implemented using age[1] - automatic key generation - multiple identity/recipient support - written in portable posix shell - simple to extend - only ~130 lines of code - pronounced "pah" - as in "papa" dependencies - age - age-keygen usage pa a simple password manager based on age commands: [a]dd [name] - Add a password entry. [d]el [name] - Delete a password entry. [e]dit [name] - Edit a password entry with nvim. [l]ist - List all entries. [s]how [name] - Show password for an entry. env vars: Password length: export PA_LENGTH=50 Password pattern: export PA_PATTERN=_A-Z-a-z-0-9 Password/key dir: export PA_DIR=~/.local/share/pa/passwords command examples $ pa add test Generate a password? [y/n]: y Saved 'test' to the store. $ pa list test $ pa show test vJwKuEBtxBVvdR-xppTdfofIei0oLlkoSK4OCSP2bMEBsP6ahM $ pa edit test <opens $EDITOR> $ pa del test Delete pass file 'test'? [y/n]: y faq > how does this differ from pass, passage, etc? pa is smaller. simpler. cleaner. plainer. harder. better. faster. stronger. more than ever, hour after hour work is never over > is pa secure? if you would like to understand the security characteristics of pa, please read my blog post[2], and my explanation[3]. > why u make this? see [2]. > where are my keys? probably the default locations: ~/.local/share/pa/identities ~/.local/share/pa/recipients > where are my passwords? probably the default location: ~/.local/share/pa/passwords > how do i rename a password? cd ~/.local/share/pa/passwords mv foo.age bar.age credits - pa was originally forked from pash[4] by dylanaraps[5] - age[1] is a project by Filippo Valsorda[6] refs [1]: https://github.com/FiloSottile/age [2]: https://j3s.sh/thought/storing-passwords-with-age.html [3]: biox#10 (comment) [4]: https://github.com/dylanaraps/pash [5]: https://github.com/dylanaraps [6]: https://filippo.io