Copyright (C) 2001-2023 Brandon C. Irizarry.
See the end of the file for license conditions.
Password Manager is an Elisp library for managing usernames and
passwords. These are recorded as level-one headlines with property
drawers containing the relevant information. The idea is to have a
single encrypted file filled with these level-one headlines. An
example passwords.org
could look something like this:
* Hometown Electric Company :PROPERTIES: :username: Jane Doe :password: gazillionth_3Vug+E?~i.["tY7ApDU1) :END: This is my username and password information for my light bill. * FindOut Credit Card :PROPERTIES: :username: FullName :password: the_lazy_fox_jumped_over_the_MOON_12345 :pin: 1111 :END: My credit card information. * TenderMoneyBuddy :PROPERTIES: :username: TheOneAndOnly :blacklist: abcdefghijklmnopqrstuvwxyz :password: SM<A~E+BRK{7;6.[I\N! :END:
Note how notes can be added underneath each Org entry as desired.
Passwords are normally encrypted. However, this library doesn’t handle the encryption; it only makes searching for and setting data easier, as it’s built on top of existing Org Mode facilities.
There are currently three interactive entry-points, meant to be called by the user:
- password-manager-set-username
- Set the username property.
- password-manager-set-password
- Set the password property.
There is an option to set a 20 character random password.
- Set the password property.
- password-manager-add-full-entry
- A shortcut to add a new entry to the user’s password file.
These are currently not bound to any keys.
When setting a password, the user is offered a choice between setting a custom password, which the user must fill out. If the user leaves the corresponding field blank, a random, secure password is generated and supplied as the user’s choice for the new password.
Once in a while, a service won’t let you use all possible printable ASCII when generating a random password. For this purpose, a user can add a ‘blacklist’ property to list characters that shouldn’t be included in the generated password.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.