Skip to content

hld19/micrypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Micrypt logo

Micrypt

Made for macos

Available languages:

Micrypt is a desktop vault that protects files with strong encryption using Go and Wails.

Encryption Overview

Micrypt derives master keys with argon2id using user passwords, optional PIM values, and optional keyfiles. File data is encrypted with aes256 gcm by default, with cascade options that layer serpent256 gcm and twofish256 gcm. Each file stores unique nonces and integrity tags so tampering is detected. Vault metadata and the recovery mnemonic are encrypted with aes256 gcm as well.

Requirements

  1. Go 1.24 or newer
  2. Node 18 or newer
  3. npm
  4. wails

Setup

Run the frontend install steps once.

cd frontend
npm install
cd ..
cd micrypt

Development

Start the desktop development session.

make dev

Production build

Create a distributable build.

make build

Data Flow

  1. The React interface triggers actions through the Wails runtime.
  2. The Go backend applies vault logic to encrypt and decrypt data.
  3. Encrypted files and metadata are written to the mvault container on disk.