Secman — The Password Manager of your dreams


Secman works on Windows, Linux, and macOS 💻.


secman needs git

Download and install

secman provides convenience scripts to download and install the binary.

Using Shell (macOS and Linux)

Using PowerShell (Windows)

Using Homebrew (macOS and Linux)

Using Scoop (Windows)

Secman binaries can also be installed manually, by downloading a zip file at

Installing from source

secman requires Go version 1.11+

If go is not installed, follow steps on the Go website.

  1. clone secman repo

2. Build and install it

3. Run secman version to check if it worked.

After installation

To test your installation, run secman version. If this prints the Secman version to the console the installation was successful.

Use secman help to see help text documenting Secman’s flags and usage. Get a detailed guide on the CLI here.


To upgrade a previously installed version of Secman, you can run:

secman upgrade/upg This will fetch the latest release from, unzip it, and replace your current executable with it.

Getting started with secman

Create a vault and specify the directory to store passwords in. You will be prompted for your master password:

Finally, to learn more you can either read about the commands listed in this README or run:

The --help argument can be used on any subcommand to describe it and see documentation or examples 😉.

Configuring secman with .secman

The SECDIR environment variable specifies the directory that your vault is in.

it’s store the vault in the default location ~/.secman. All subcommands will respect this environment variable, including init


Listing Passwords

This basic command is used to print out the contents of your password vault. It doesn’t require you to enter your master password.

Authenticating With Github

if you would to sync your passowords, first you should run secman auth login to login with github

Initializing Vault

Init should only be run one time, before running any other command. It is used for generating your master public private keypair.

By default, secman will create your password vault in the .secman directory within your home directory. You can override this location using the SECDIR environment variable.

Inserting a password

Inserting a password in to your vault is easy. If you wish to group multiple entries together, it can be accomplished by prepending a group name followed by a slash to the pass-name.

Here we are adding ionic to the password store within the accounts group.

Inserting a file

Adding a file works almost the same as insert. Instead it has an extra argument. The file that you want to add to your vault is the final argument.

Retrieving a password

Show is used to display a password in standard out.

Rename a password

If a password is added with the wrong name it can be updated later. Here we rename ionic site after misspelling the group name.

Updating/Editing a password

If you want to securely update a password for an already existing site, the edit command is helpful.

Generating a password

secman can also create randomly generated passwords. The default length of secman generated passwords is 24 characters. This length can be changed by passing an optional length to the generate subcommand.

Searching the vault

find and ls can both be used to search for all sites that contain a particular substring. It's good for printing out groups of sites as well. secman ls is an alias of secman find.

Start Sync Your Passwords

to start syncing your passwords, start-sync will do this mission

run secman start-sync, it's a shortcut to run secman-sync

Deleting a vault entry

remove is used for removing sites from the password vault. secman rm is an alias of secman remove.


clean your secman by delete ~/.secman


if you’re syncing your ~/.secman, you can fetch if there’re a new passowrd(s)

Show secman version

Getting Help

All subcommands support the --help flag.


Founder of secman-team. full-stack dev. enjoys working on cli apps, websites, automation (CI/CD), and databases.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store