Sentry Vault
A security-focused local password manager with optional sharded storage.
🔐 About
Sentry Vault is an open-source, high-security password manager designed with privacy and security as its core principles. It provides a secure way to store and manage your credentials while ensuring that you remain in full control of your data.
🔑 Core Security Features
- Strong Encryption: Uses Argon2id for key derivation and Fernet for authenticated encryption
- Sharded Storage: Uses Shamir's Secret Sharing to split encrypted vault data into threshold-based shares
- Zero-Knowledge Architecture: Your master password never leaves your device
- Passphrase Generation: Create random, memorable, or PIN-style credentials from the CLI
🚀 Features
🔒 Core Functionality
- Secure Credential Storage: Store usernames and passwords in an encrypted local vault
- Sharded Vaults: Optional threshold-based sharding using Shamir's Secret Sharing
- Rich CLI Interface: Beautiful terminal interface with colorized output and progress bars
- Password Generator: Built-in tool for creating strong, random passwords
- Secure File Encryption: Encrypt/decrypt files using the same strong cryptography
🛡️ Security Features
- Argon2 for key derivation (memory-hard and resistant to GPU/ASIC attacks)
- Fernet authenticated encryption for confidentiality and integrity
- HMAC for data integrity verification
- Per-vault salt handling persisted with encrypted vault payloads
🛠 Installation
Prerequisites
- Python 3.10 or higher
Quick Start (Recommended)
Install Sentry Vault directly from PyPI:
pip install sentryvault
Installation from Source
If you prefer to build from source or contribute:
# Clone the repository
git clone https://github.com/agspades/sentry-vault.git
cd sentry-vault
# Install dependencies using Poetry
poetry install
# Run via poetry
poetry run sentryvault --help
📜 Usage
Basic Commands
# Add a new credential
sentryvault add example.com username
# Retrieve a credential
sentryvault get example.com
# List all stored entries
sentryvault list
# Remove a credential
sentryvault delete example.com
# Change your master passphrase
sentryvault change-passphrase
# Generate a secure password
sentryvault generate-password --length 20
File Encryption
# Encrypt a file
sentryvault encrypt sensitive.txt sensitive.enc
# Decrypt a file
sentryvault decrypt sensitive.enc sensitive_decrypted.txt
🔧 Advanced Usage
Password Generation Options
# Generate a random password with specific requirements
sentryvault generate-password --length 20
# Generate a memorable passphrase and copy to clipboard
sentryvault generate-password --type memorable -c
🛡️ Security Best Practices
- Use a Strong Master Password: Choose a long, random passphrase
- Enable Sharding: Distribute shards across multiple secure locations
- Regular Backups: Keep regular backups of your vault in secure locations
- Secure Environment: Only run Sentry Vault on trusted, secure systems
- Keep Software Updated: Regularly update to the latest version for security patches
🧑💻 Contributing
We welcome contributions! Please read our Contribution Guidelines and sign the Contributor License Agreement before submitting pull requests.
Development Setup
# Install development dependencies
poetry install --with dev
# Run tests
poetry run pytest
# Format code
poetry run black .
# Check types
poetry run mypy .
📄 License
Sentry Vault is licensed under the GNU Affero General Public License v3.0. This is a strong copyleft license that ensures any modifications to the software must be released under the same license.
⭐ Support the Project
If you find Sentry Vault useful, please consider:
- Giving us a ⭐ on GitHub
- Reporting bugs or suggesting features
- Contributing code or documentation
- Spreading the word to others who might find it useful
🔒 "In a world of digital threats, your security is our mission."
Metadata
Release files for sentryvault 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sentryvault-0.1.3.tar.gz | 25.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sentryvault-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.8 kB
Release files / sentryvault-0.1.3.tar.gz
| Download URL | sentryvault-0.1.3.tar.gz |
|---|---|
| Size | 25.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bae415071a57ff5b5328e4fd9d74861a993a5a1ed45ff8f3e70e0556f2a40ad0
|
|
BLAKE2b-256 checksum How to use checksums |
b8fb9b4777ff3f29124388cb7b127a7dde8072489d317210a73d71fc13c93777
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.2 CPython/3.13.15 Linux/6.17.0-1022-azure
|
Release files / sentryvault-0.1.3-py3-none-any.whl
| Download URL | sentryvault-0.1.3-py3-none-any.whl |
|---|---|
| Size | 27.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8742e218c05846941f50dcc01eb03ead510604bcb6901ea501173eb9f51b1925
|
|
BLAKE2b-256 checksum How to use checksums |
a5cdf598ac0d7944c30330fe74a41949d031e5091183dd811937407a08de7212
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.2 CPython/3.13.15 Linux/6.17.0-1022-azure
|