rust-pass is a local CLI password manager written in Rust. It securely stores your encrypted credentials locally on your machine using strong cryptography.
- Init: Initialize your vault with a master password
- Add: Store encrypted credentials for any service (with optional secure password generation)
- Get: Retrieve and decrypt passwords for a service
- List: List all stored services without exposing plaintext passwords
- Delete: Remove credentials from your vault
- Clipboard: Optionally copy passwords to your system clipboard
- Master password is never stored in plaintext
- Key derivation uses Argon2 (memory-hard password hashing)
- Encryption uses AES-256-GCM (authenticated encryption)
- Secure random password generation with symbols, letters, and numbers
- Derived keys are wiped from memory after use
# Clone or navigate to the project directory
cd rust-pass
# Build in release mode
cargo build --release
# The binary will be at target/release/rust-pass# Initialize a new vault at the default path (~/.local/share/rust-pass/vault.enc)
./target/release/rust-pass init your-master-password# Add with a provided password
./target/release/rust-pass add github myuser my-secret-password
# Add with a generated secure password
./target/release/rust-pass add github myuser --generate
# Add to a custom vault path
./target/release/rust-pass add github myuser my-secret-password --vault-path /custom/path/vault.enc# Display password on screen
./target/release/rust-pass get github
# Copy password to clipboard
./target/release/rust-pass get github --copy
# Or use short flag
./target/release/rust-pass get github -c./target/release/rust-pass list./target/release/rust-pass delete githubBy default, the encrypted vault is stored at:
~/.local/share/rust-pass/vault.enc
The vault file is a JSON file containing:
- A salt for Argon2 key derivation
- A list of encrypted credentials (service name, username, AES-256-GCM encrypted password)
rust-pass/
├── Cargo.toml # Manifest with dependencies
├── Cargo.lock
├── README.md # This file
├── .gitignore # Git ignore rules
└── src/
└── main.rs # Main CLI application
GPL-3.0