Confidant

Table of Contents

  1. Introduction
  2. Installation a. Linux b. Windows c. MacOS
  3. Usage
  4. Build from source

Introduction

Confidant is a CLI tool used to create a triple-layer protected vault, written in TypeScript. It makes use of a combination of ECDH, AES256 and HMAC-SHA256 to create the vault, which can be acessible only if 3 particular files, namely data.con, key.fid and vault.ant (and a config.toml), are present. It also requires a password to start the decryption process. In case the password is lost, the vault can be recovered using the recovery phrase, which is a 12-word phrase that is generated during the vault creation process.

Installation

Linux

  1. Download the latest release from the releases page.
  2. Give it executable permissions by running chmod +x confidant.
  3. Move it to a directory in your PATH, like /usr/local/bin.
  4. Run confidant --help to verify the installation.

Windows

  1. Download the latest release from the releases page.
  2. Move it to a directory in your PATH.
  3. Run confidant --help to verify the installation.

MacOS

  1. Download the latest release from the releases page.
  2. Give it executable permissions by running chmod +x confidant.
  3. Move it to a directory in your PATH, like /usr/local/bin.
  4. Run confidant --help to verify the installation.

Usage

Create a new vault

To create a new vault, run the following command:

confidant init

This will show a list of directories in your current directory. Select the directory where you want to create the vault. Also specify a password to encrypt the vault. The recovery phrase will be shown after the vault is created. Save it in a safe place. The following files will be created:

  • data.con: Primary key
  • key.fid: Secondary key
  • vault.ant: Encrypted vault
  • config.toml: Configuration file
  • .gitignore: To ignore the vault files After this, you can push the vault files to a remote repository. The .gitignore file will make sure the key files are not pushed to the repository. Make sure to never store the key files in the same place as the vault files.

Decrypt a vault

To decrypt a vault, run the following command:

confidant decrypt

Make sure all the files data.con, key.fid and vault.ant are present in the current directory. Also make sure you have the password and the recovery phrase. The vault will be decrypted and the contents will be shown.

Encrypt a vault

To encrypt a vault, run the following command:

confidant encrypt

Make sure the files data.con, key.fid and vault.ant are present in the current directory. The vault will be encrypted and the files will be updated, after which you can move them to a safe place.

Description
A CLI tool to create secure vaults, written in TypeScript
Readme MIT 66 KiB
Languages
TypeScript 78.9%
JavaScript 21.1%