Skip to main content

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.key is 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 .gitignore automatically.

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.

Metadata

Release files for envveil 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for envveil 0.3.1
File Size Uploaded
envveil-0.3.1.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for envveil 0.3.1
File Interpreter ABI Platform
envveil-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.4 kB

Release files / envveil-0.3.1.tar.gz

Download URL envveil-0.3.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
12ba8d726e6a60d2929f1212191a0d50380109f650344fa9c8037a7b7c5a40e3
BLAKE2b-256 checksum
How to use checksums
992b596a842b1f9a408abe1b2c319d506067e687b9e2afd699719911ce75eee5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release files / envveil-0.3.1-py3-none-any.whl

Download URL envveil-0.3.1-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16d411265225aeb8d812a2d8e5750d09500c37178305e9d05326622212047753
BLAKE2b-256 checksum
How to use checksums
5790b30a68f2145d4dc524f46bbd215b76a1fd1b23d08fe849e73a1c7f1a2cb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

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