Python password manager
Permalink
Failed to load latest commit information.
docs 2.0 (#36) Jun 9, 2018
img Lib fix (#10) Jul 8, 2017
sample 2.0 (#36) Jun 9, 2018
src Catch exception if no result (#45) Sep 5, 2018
.coveragerc Partial unit tests coverage May 26, 2018
.gitignore 2.0 (#36) Jun 9, 2018
.travis.yml 2.0 (#36) Jun 9, 2018
LICENSE Initial commit Jun 23, 2017
MANIFEST.in Manifest (#17) Jul 12, 2017
README.md 2.0 (#36) Jun 9, 2018
setup.cfg PyPI packaging (#8) Jul 5, 2017
setup.py Catch exception if no result (#45) Sep 5, 2018

README.md

Vault

Pypi Build Status codecov MIT licensed

Vault is a simple Python password manager. It allows you to securely save secrets with a simple CLI interface.

Features

  • Secrets are stored in an encrypted SQLite database with SQLCipher
  • Within the database, each password and notes are encrypted with a unique salt using AES-256 encryption with pycryptodome
  • Master key is hashed with a unique salt
  • Possibility to create an unlimited number of vaults
  • Clipboard cleared automatically
  • Automatic vault locking after inactivity
  • Password suggestions with password-generator-py
  • Import / Export in Json

Basic usage

Demo

Installation and setup

Install sqlcipher

Vault 2.x requires sqlcipher to be installed on your machine.

On MacOS, you can install it with brew:

brew install sqlcipher

On Ubuntu/Debian, you can install it with apt-get:

sudo apt-get update
sudo apt-get install --yes gcc python3-dev libsqlcipher-dev

Using PyPI

pip3 install pyvault

# Run setup
vault

Cloning the project

# Clone project
git clone https://github.com/gabfl/vault && cd vault

# Installation
python3 setup.py install

# Run setup
vault

Advanced settings:

usage: vault [-h] [-t [CLIPBOARD_TTL]] [-p [HIDE_SECRET_TTL]]
             [-a [AUTO_LOCK_TTL]] [-v VAULT_LOCATION] [-c CONFIG_LOCATION]
             [-k] [-i IMPORT_ITEMS] [-x EXPORT] [-f [{json}]] [-e]

optional arguments:
  -h, --help            show this help message and exit
  -t [CLIPBOARD_TTL], --clipboard_TTL [CLIPBOARD_TTL]
                        Set clipboard TTL (in seconds, default: 15)
  -p [HIDE_SECRET_TTL], --hide_secret_TTL [HIDE_SECRET_TTL]
                        Set delay before hiding a printed password (in
                        seconds, default: 15)
  -a [AUTO_LOCK_TTL], --auto_lock_TTL [AUTO_LOCK_TTL]
                        Set auto lock TTL (in seconds, default: 900)
  -v VAULT_LOCATION, --vault_location VAULT_LOCATION
                        Set vault path
  -c CONFIG_LOCATION, --config_location CONFIG_LOCATION
                        Set config path
  -k, --change_key      Change master key
  -i IMPORT_ITEMS, --import_items IMPORT_ITEMS
                        File to import credentials from
  -x EXPORT, --export EXPORT
                        File to export credentials to
  -f [{json}], --file_format [{json}]
                        Import/export file format (default: 'json')
  -e, --erase_vault     Erase the vault and config file