MSK
A lightweight, offline password manager that keeps your credentials encrypted and local.

MSK stores all your passwords locally on your machine, encrypted with a master password. No cloud, no sync, no network requests — your credentials never leave your computer.
How It Works
Each secret is stored as an individual encrypted file in your vault directory. Your master password is derived into an encryption key using Argon2id, and each secret is encrypted with AES-256-GCM. Sensitive data in memory is protected using memguard to prevent leaks. File writes are atomic to avoid corruption. You can unlock the vault for session-based access, where sessions are time-limited and the master key is encrypted on disk for the session duration.
Installation
Download a pre-built binary
Download the latest release for your platform from the Releases page.
| Platform |
File |
| Linux (x64) |
msk-<version>-linux-amd64.tar.gz |
| Linux (ARM64) |
msk-<version>-linux-arm64.tar.gz |
| macOS (Intel) |
msk-<version>-darwin-amd64.tar.gz |
| macOS (Apple Silicon) |
msk-<version>-darwin-arm64.tar.gz |
| Windows (x64) |
msk-<version>-windows-amd64.zip |
Extract the binary and add it to your PATH.
Build from source
Requires Go 1.25+.
git clone https://github.com/amauribechtoldjr/msk.git
cd msk
make install
This installs msk to your $GOPATH/bin directory.
Quick Start
Initialize MSK by setting your master password and vault path:
msk config
You will be prompted to choose a vault path (default: ~/.msk/vault) and set your master password. The configuration is encrypted and stored in your system's config directory.
Add your first password:
msk add github
Retrieve it (prints to stdout by default, or use -c to copy to clipboard):
msk get github
msk get github -c
Generate a random password instead of typing one:
msk add gitlab --generate --length 24
Unlock the vault for session-based access (avoids re-entering master password for 15 minutes):
export MSK_SESSION=$(msk unlock)
For a full list of commands and flags, run msk --help or msk <command> --help.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature)
- Run tests (
make test)
- Commit your changes
- Open a pull request against
main
License
MIT