PLASS(1)

NAME
plass - manage passwords

SYNOPSIS
plass [-h] command [argument ...]

DESCRIPTION
plass is a password manager. Every password lives inside a gpg(1) encrypted file somewhere inside ~/.password-store which is managed with the got(1) version control system to keep track of changes, recovery accidental overwrites and synchronize it across devices.

The options are as follows:

-h  Display usage information and exit immediately.

The following commands are available:

cat entries ...
    Decrypt and print the content of entries in the given order.

edit entry
    Interactively modify the content of the given entry with an editor.

find [pattern]
    Print the entries of the store one per line, optionally filtered by the case-insensitive extended regular expression pattern.

mv from to
    Rename a password entry, doesn't work with directories. from must exist and to mustn't.

rm entries ...
    Remove the given entries from the store.

tee [-q] entry
    Persist the data read from standard input into the store under the given entry name and then print it again on the standard output unless the -q option is given.

Password entries can be referenced using the path relative to the store directory. The file extension “.gpg” can be omitted.

ENVIRONMENT

PLASS_GPG
    Path to the gpg(1) executable.

PLASS_STORE
    Alternative path to the password store directory tree.

VISUAL, EDITOR
    The editor spawned by plass edit. If not set, the ed(1) text editor will be used to give it the attention it deserves.

FILES

~/.password-store
    Default password store.

~/.password-store/.gpg-id
    File containing the GPG recipient used to encrypt the passwords.

EXIT STATUS

EXAMPLES
A got repository and password store can be initialized as follows:

    $ mkdir ~/.password-store
    $ echo foo@example.com > ~/.password-store/.gpg-id
    $ gotadmin init ~/git/pass.git
    $ got import -r ~/git/pass.git -m 'initial import' ~/.password-store
    $ got checkout -E ~/git/pass.git ~/.password-store

see got(1) for more information.

To migrate from pass(1), delete ~/.password-store and check out it again using got(1).

Generate a random password and save it to the clipboard:

    $ pwg | plass tee entry/name | xsel -b

Generate a TOTP token using the secret stored in the password store:

    $ plass cat 2fa/codeberg/op | totp
    722524

Interactively edit the contents of entry/name with mg(1):

    $ env VISUAL=mg plass edit entry/name

Display the entries matching ‘key’ arranged comfortably for reading in a terminal window:

    $ plass find key | rs

Enable tab-completion of plass command names and entries in ksh(1):

    $ set -A complete_plass_1 -- cat edit find mv rm tee
    $ set -A complete_plass -- $(plass find)

SEE ALSO
got(1), gpg(1), pwg(1), totp(1)

HISTORY
plass was heavily influenced by pass(1) in the design, but it's a different implementation that prioritizes ease of use and composability.

AUTHORS
-nosplit The plass utility was written by Omar Polo <op@omarpolo.com>.

CAVEATS
plass find output format isn't designed to handle files containing newlines. Use find(1) -print0 or similar if it's a concern.

plass mv is not able to move directory trees, only file entries.

There isn't an init sub-command, the store initialization must be performed manually.