Skip to main content

Sentry Vault

A security-focused local password manager with optional sharded storage.

License: AGPL-3.0 Python 3.10+ PyPI version Code style: black

🔐 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

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

  1. Use a Strong Master Password: Choose a long, random passphrase
  2. Enable Sharding: Distribute shards across multiple secure locations
  3. Regular Backups: Keep regular backups of your vault in secure locations
  4. Secure Environment: Only run Sentry Vault on trusted, secure systems
  5. 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)

Source distribution for sentryvault 0.1.3
File Size Uploaded
sentryvault-0.1.3.tar.gz 25.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sentryvault 0.1.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page