Scan, encrypt, and manage secrets in your project with key file or passphrase-based encryption.
Project description
Envveil
Envveil is a Python library and CLI tool for scanning, encrypting, and managing sensitive secrets (like API keys, tokens, and passwords) in your project. It helps you keep secrets out of your codebase, supports both key file and passphrase-based encryption, and provides audit logging and .gitignore management for maximum security.
Author
- Satarupa Deb
Features
- Scan for sensitive keys in
.env,settings.py, JSON, and other files - Encrypt secrets using either a key file or a user-supplied passphrase (no key file needed)
- Decrypt secrets easily for local use
- Rotate encryption keys or passphrases and re-encrypt secrets
- Retrofit protection for already-pushed repositories
- Audit logging for all secret access and key rotation events
- Automatic .gitignore management and warnings for unsafe key handling
- Language-specific .gitignore template fetcher
Installation
From PyPI
pip install envveil
Usage Summary Table
| Step | Command Example | What Happens |
|---|---|---|
| Scan | scan --env .env |
Finds secrets in file |
| Encrypt | encrypt --env .env --passphrase "your_passphrase" |
Encrypts secrets with passphrase, stores salt+data |
| Decrypt | decrypt --passphrase "your_passphrase" |
Decrypts and prints secrets |
| Rotate Key | rotate-key --old-passphrase "old" --new-passphrase "new" |
Changes passphrase, re-encrypts secrets |
| Audit Log | (automatic) | Logs all decrypt/rotate events |
| .gitignore | (automatic) | Ensures secret files are ignored by git |
Security Notes
- Passphrase mode: No key file is stored. The passphrase is never saved; if you forget it, secrets are unrecoverable.
- Key file mode: Always ensure
.envveil.keyis in your.gitignore. envveil will warn you if not. - Audit log: All decryption and key rotation events are logged in
envveil_audit.log. - .env.encrypted and key files are always added to
.gitignoreautomatically.
License
MIT License
Disclaimer
envveil is a developer tool for secret management and does not guarantee absolute security. Always follow best practices for secret storage and access control in production environments.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file envveil-0.3.1.tar.gz.
File metadata
- Download URL: envveil-0.3.1.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12ba8d726e6a60d2929f1212191a0d50380109f650344fa9c8037a7b7c5a40e3
|
|
| MD5 |
875d0ed6ced64b5620244276928a15a6
|
|
| BLAKE2b-256 |
992b596a842b1f9a408abe1b2c319d506067e687b9e2afd699719911ce75eee5
|
File details
Details for the file envveil-0.3.1-py3-none-any.whl.
File metadata
- Download URL: envveil-0.3.1-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16d411265225aeb8d812a2d8e5750d09500c37178305e9d05326622212047753
|
|
| MD5 |
b219a255ba4bb846adf1e17ea46e4e87
|
|
| BLAKE2b-256 |
5790b30a68f2145d4dc524f46bbd215b76a1fd1b23d08fe849e73a1c7f1a2cb5
|