alfred-pass

Alfred Client for the pass-cli

MIT License

Stars
10

Alfred Client for the Pass-CLI

Alfred-based UI for pass.

Features

  • Copy password to the clipboard.
  • Create a new entry.
  • Delete an entry.
  • Update the password of an entry.
  • Inspect and copy non-password properties of an entry.
  • Inherits settings from your .zshenv.
  • Optionally trigger pass git push automatically after any change.
  • As opposed to regular usage of pass, the copied password is treated as
    transient, meaning it does not appear in Alfred's clipboard history.

Requirements & Installation

  1. ➡️ Download the latest release

  2. Install the requirements

    brew install pass pinentry-mac
    
  3. Setup pass with a GPG key. See the pass website for further information.

  4. Setup pinentry-mac as your pinentry-program:

    [[ -d "$HOME/.gnupg" ]] || mkdir "$HOME/.gnupg"
    echo "pinentry-program $(brew --prefix)/bin/pinentry-mac" > $HOME/.gnupg/gpg-agent.conf
    gpgconf --kill gpg-agent # restart the agent
    

Configuration

This workflow reads all PASSWORD_STORE_* environment variables that have been added to your ~/.zshenv, so most configuration is done by exporting respective variables in ~/.zshenv. Example: export PASSWORD_STORE_GENERATED_LENGTH=32.

For information about the available environment variables, see the pass man page.

[!NOTE] If you are using a custom password-store directory, you must export your PASSWORD_STORE_DIR in your ~/.zshenv for this workflow to work.

Usage

  • Search your passwords via the keyword pw.
    • : Copy password to the clipboard.
    • : Edit entry in your Terminal, using the Terminal
      configured in your Alfred
      settings
      and your
      $EDITOR.
    • : Reveal .gpg file of the entry in Finder.
    • : Delete the entry. (⚠️ This is irreversible if you
      are not using git.)
    • : Show details of the entry. Select one of them
      to copy the value to your clipboard.
    • Fn: Generate a new password and overwrite this
      entry's password with it. Afterward, copy the new password. (⚠️ This removes
      the old password and is not reversible if you are not using git.)
  • Use the keyword pw new to create a new entry. You are then prompted for a
    folder to place the new entry in. The password of the new entry is
    auto-generated based on your pass settings, or can be inserted from your
    clipboard.
  • Use pw gen to generate a new password without creating a new entry.

Notes on security

  • All contents copied by this clipboard are marked as "transient," meaning most
    clipboard history apps will ignore them, including Alfred's clipboard history.
  • This workflow is just a convenient UI for pass. As such, no password is ever
    stored by this workflow in any way. The workflow is completely open source.

Credits

In my day job, I am a sociologist studying the social mechanisms underlying the digital economy. For my PhD project, I investigate the governance of the app economy and how software ecosystems manage the tension between innovation and compatibility. If you are interested in this subject, feel free to get in touch.