# dpw the dynamic password manager Inspired by [`pass`](https://www.passwordstore.org/) and designed to be compatible out of the box. The main point of this is to provide a somewhat familiar interface for pluggable backends. Secondary benefits that people may be interested in is the ISC license, so you can modify the `dpw` script without giving me your changes even if you use it in a commercial product. ( Though, it might be appreciated to get code back! ) For instance, one could write a plugin that talks to Lastpass, Bitwarden Hasicorp's Vault, or similar. There are some mild changes in the interface from `pass`, a full list of commands and options are available with the `-h` command line flag. The environment variable `DPW_BACKEND` defaults to `dpw-gpg` which provides the `pass` compatible backend. Since it's just a call to another executable the backends can be written in any language. ## Backends The `dpw-gpg` shell script should be short enough to read to give you an idea for implementing your own. That being said the interface is blindingly simple, accept the following four commands: * list * dump a list of the available keys, supporting arguments for sub keys may be preferred by users but isn't necessary, `find` will still work for them. * insert `` * Read from stdin * show `` * Dump to stdout * rm `` `dpw` will take care of all the additional commands by wrapping the four above as needed. ## dmenu script There's also a small dmenu script included that makes copying or typing out passwords and OTP tokens very quick and easy