passage 0.2.2

A password manager with age encryption
passage-0.2.2 is not a library.

passage

password manager with age encryption

Build status Crates.io

Use with care

This project is in development, not ready for serious use. A lot of things might change, especially regarding the storage format which right now has one big downside: it leaks entry names.

Installation

Right now this assumes a rust toolchain is present. As soon as the codebase is more stable I will look into providing binaries.

For now:

$ git clone https://github.com/stchris/passage.git

# Dependencies for Debian / Ubuntu
$ apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

$ cargo install --path .

Walkthrough

passage creates a storage folder, whose current default depends on the OS family, for a given username user:

Linux: `/home/user/.local/share/passage/`
mac OS: `/Users/user/Library/Application Support/`
Windows: `C:\Users\user\AppData\Roaming\passage\data`

You can create this folder by running passage init once. Check the path to the storage folder at any time with passage info:

$ passage info
Storage folder: /home/chris/.local/share/passage/entries

Now let's create a new entry with $ passage new:

Entry: email
Password for email:
Passphrase:

So here we are prompted for three things:

  • Entry is the name of the entry we want to create
  • Password for <entry> is the password we want to store
  • passphrase is the secret we want to encrypt the password with

Now passage list should show one entry (email) and we can decrypt this with either:

$ passage show email # the password gets copied to the clipboard

or

$ passage show --on-screen email # the password is printed to the console

Usage

$ passage
passage 0.2.0
Password manager with age encryption

USAGE:
    passage <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    help    Prints this message or the help of the given subcommand(s)
    info    Print status information
    init    Initialize the password store
    list    List all known entries
    new     Add a new entry
    show    Decrypt and show an entry