Encryption Vault
Encryption Vault packages the PDFSage desktop utility for managing PGP key material, AES passwords, and credential storage into a redistributable Python module. Installing the project from PyPI exposes a console entry point named encryption that launches the Tkinter user interface.
Features
- Generate, import, and store PGP key pairs with optional secure vault persistence.
- Manage multiple public/private keys and their passphrases from the PGP Vault tab.
- Set a default key in the PGP Vault to auto-fill the Encrypt and Decrypt panes whenever the app opens.
- Cloud sync now maintains a Firebase Storage backup so large vaults stay in sync even if Firestore writes fail.
- Encrypt, decrypt, sign, and verify messages using GnuPG.
- AES-256 encryption helpers for text and files.
- Built-in password and payment card vault backed by the system keyring service.
- Friendly password generator with Apple-style segments, memorable passphrases, and legacy high-entropy mode.
- Hash calculator for MD5 and SHA-256 integrity checks.
Installation
pip install encryption-vault
Ensure you have a working GnuPG installation (gpg available on your PATH) before launching the application.
Usage
After the package is installed, launch the GUI from any terminal:
encryption
This command invokes the packaged Tkinter application. The first launch will prompt you to create or select a master account vaulted in the local keyring. Private-key passphrases entered during decryption or signing are saved automatically alongside the key material so they can be recalled from the vault tab when needed.
Sign-in options
Choose the sign-in method that fits your workflow:
- Firebase (cloud sync) – authenticate with your Firebase email and password to sync vault data across devices.
- Local vault – create a device-only account secured locally without touching Firebase. Ideal for fully offline usage.
- Offline cache – bypass authentication entirely and reuse the most recently cached data (read/write while offline, sync when you later sign in).
Password generator styles
The credentials tab now offers three generation strategies:
- Apple-style (default) – four-character segments separated by hyphens, avoiding look-alike symbols while guaranteeing a mix of upper, lower, and numeric characters.
- Memorable – short passphrases assembled from a curated English word list with an optional numeric suffix.
- Random – legacy full-character-set generator for maximum entropy.
Each strategy prompts for style-specific parameters (segments, word count, etc.) before the secret is copied to the clipboard.
Development
Install dependencies and run the app locally without packaging:
pip install -r requirements.txt
python -m encryption_vault.app
To build the wheel and source distribution:
python -m build
The project is configured to publish to PyPI via the workflow.yml GitHub Actions workflow once valid credentials are provided.
Deploying Firebase security rules
The repository includes production-ready Firestore rules in firestore.rules and matching Storage rules in storage.rules. Deploy them with the Firebase CLI:
firebase deploy --only firestore:rules,storage:rules
Ensure you are authenticated (firebase login) and targeting the erosolar-encryption-b2c60 project or an alternative project of your choice (firebase use <project-id>).
Metadata
Release files for encryption-vault 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| encryption_vault-0.9.0.tar.gz | 32.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| encryption_vault-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.8 kB
Release files / encryption_vault-0.9.0.tar.gz
| Download URL | encryption_vault-0.9.0.tar.gz |
|---|---|
| Size | 32.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea59655a9bdf78962473c968239be778a12981273d1cc81a8370f5122a5a4ffa
|
|
BLAKE2b-256 checksum How to use checksums |
78294846a3b2d5da989cca78599c5b17b2dd6f3832a5f6e0804a3d222378301b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / encryption_vault-0.9.0-py3-none-any.whl
| Download URL | encryption_vault-0.9.0-py3-none-any.whl |
|---|---|
| Size | 32.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1e218708b1e926ebbed3bb67477757ce7c034a200070517f6c9aef1124c7fc4
|
|
BLAKE2b-256 checksum How to use checksums |
8487ec4f65a25296f3ddb777cc0a4e06b662b6417e02a94e61f67c359519ff7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|