/gopass

The slightly more awesome standard unix password manager for teams

Primary LanguageGoMIT LicenseMIT

gopass Gopher by Vincent Leinweber, remixed from the Renée French original Gopher

gopass

Build Status Go Report Card MIT License Github All Releases codecov CII Best Practices Gopass Slack

Introduction

gopass is a password manager for the command line written in Go. It supports all major operating systems (Linux, MacOS, BSD) as well as Windows.

For detailed usage and installation instructions please check out our documentation.

Design Principles

Gopass is a versatile command line based password manager that is being developed with the following principles in mind:

  • Easy: For technical users (i.e. those who are used to the command line) it should be easy to get started with gopass.
  • Secure: Security is hard. We aim to make it as easy as possible while still providing a good level of protection against common adversaries. Caution: If your personal threat level is very high, we might not offer a good tool for you.
  • Extensible: While Gopass includes a fair amount of useful features, we can't cover every use-case. To support more special use cases we want to provide a clean and simple API to integration gopass into your own binaries.

Screenshot

screenshot

Features

Please see docs/features.md for an extensive list of all features along with several usage examples. Some examples are available in our example password store.

Feature State Description
Secure secret storage stable Securely storing encrypted secrets
Recipient management beta Easily manage multiple users of each store
Multiple stores stable Mount multiple stores in your root store, like file systems
password quality assistance beta Checks existing or new passwords for common flaws
password leak checker integration Perform offline checks against known leaked passwords
PAGER support stable Automatically invoke a pager on long output
JSON API integration Allow gopass to be used as a native extension for browser plugins
Automatic fuzzy search stable Automatically search for matching store entries if a literal entry was not found
gopass sync stable Easy to use syncing of remote repos and GPG keys
Desktop Notifications stable Display desktop notifications and completing long running operations
REPL beta Integrated Read-Eval-Print-Loop shell with autocompletion.
Extensions Extend gopass with custom commands using our API

Installation

Please see docs/setup.md.

If you have Go 1.16 (or greater) installed:

go get github.com/gopasspw/gopass

WARNING: Please prefer releases, unless you want to contribute to the development of gopass. The master branch might not be very well tested and can contain breaking changes without further notice.

Upgrade

To upgrade with Go installed, run:

go get -u github.com/gopasspw/gopass

Otherwise, use the setup docs mentioned in the installation section to reinstall the latest version.

Development

This project uses GitHub Flow. In other words, create feature branches from master, open an PR against master, and rebase onto master if necessary.

We aim for compatibility with the latest stable Go Release only.

While this project is maintained by volunteers in their free time we aim to triage issues weekly and release a new version at least every quarter.

Credit & License

gopass is licensed under the terms of the MIT license. You can find the complete text in LICENSE.

Please refer to the Git commit log for a complete list of contributors.

Community

gopass is developed in the open. Here are some of the channels we use to communicate and contribute:

Integrations

Mobile apps

Contributing

We welcome any contributions. Please see the CONTRIBUTING.md file for instructions on how to submit changes.

Further Documentation

External Documentation