Skip to main content

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)

Source distribution for encryption-vault 0.9.0
File Size Uploaded
encryption_vault-0.9.0.tar.gz 32.5 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.0

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.3.0

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