encryption-vault


Nameencryption-vault JSON
Version 0.9.0 PyPI version JSON
download
home_pageNone
SummaryTkinter desktop app for managing PGP keys, AES vault, and credential storage.
upload_time2025-10-30 20:09:52
maintainerNone
docs_urlNone
authorPDFSage
requires_python>=3.9
licenseNone
keywords encryption pgp aes keyring tkinter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
```bash
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:
```bash
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:
```bash
pip install -r requirements.txt
python -m encryption_vault.app
```

To build the wheel and source distribution:
```bash
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:

```bash
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>`).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "encryption-vault",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "encryption, pgp, aes, keyring, tkinter",
    "author": "PDFSage",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/78/29/4846a3b2d5da989cca78599c5b17b2dd6f3832a5f6e0804a3d222378301b/encryption_vault-0.9.0.tar.gz",
    "platform": null,
    "description": "# Encryption Vault\n\nEncryption 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.\n\n## Features\n- Generate, import, and store PGP key pairs with optional secure vault persistence.\n- Manage multiple public/private keys and their passphrases from the PGP Vault tab.\n- Set a default key in the PGP Vault to auto-fill the Encrypt and Decrypt panes whenever the app opens.\n- Cloud sync now maintains a Firebase Storage backup so large vaults stay in sync even if Firestore writes fail.\n- Encrypt, decrypt, sign, and verify messages using GnuPG.\n- AES-256 encryption helpers for text and files.\n- Built-in password and payment card vault backed by the system keyring service.\n- Friendly password generator with Apple-style segments, memorable passphrases, and legacy high-entropy mode.\n- Hash calculator for MD5 and SHA-256 integrity checks.\n\n## Installation\n```bash\npip install encryption-vault\n```\n\nEnsure you have a working GnuPG installation (`gpg` available on your PATH) before launching the application.\n\n## Usage\nAfter the package is installed, launch the GUI from any terminal:\n```bash\nencryption\n```\nThis 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.\n\n### Sign-in options\nChoose the sign-in method that fits your workflow:\n\n- **Firebase (cloud sync)** \u2013 authenticate with your Firebase email and password to sync vault data across devices.\n- **Local vault** \u2013 create a device-only account secured locally without touching Firebase. Ideal for fully offline usage.\n- **Offline cache** \u2013 bypass authentication entirely and reuse the most recently cached data (read/write while offline, sync when you later sign in).\n\n### Password generator styles\nThe credentials tab now offers three generation strategies:\n\n* **Apple-style** (default) \u2013 four-character segments separated by hyphens, avoiding look-alike symbols while guaranteeing a mix of upper, lower, and numeric characters.\n* **Memorable** \u2013 short passphrases assembled from a curated English word list with an optional numeric suffix.\n* **Random** \u2013 legacy full-character-set generator for maximum entropy.\n\nEach strategy prompts for style-specific parameters (segments, word count, etc.) before the secret is copied to the clipboard.\n\n## Development\nInstall dependencies and run the app locally without packaging:\n```bash\npip install -r requirements.txt\npython -m encryption_vault.app\n```\n\nTo build the wheel and source distribution:\n```bash\npython -m build\n```\nThe project is configured to publish to PyPI via the `workflow.yml` GitHub Actions workflow once valid credentials are provided.\n\n### Deploying Firebase security rules\nThe repository includes production-ready Firestore rules in `firestore.rules` and matching Storage rules in `storage.rules`. Deploy them with the Firebase CLI:\n\n```bash\nfirebase deploy --only firestore:rules,storage:rules\n```\n\nEnsure you are authenticated (`firebase login`) and targeting the `erosolar-encryption-b2c60` project or an alternative project of your choice (`firebase use <project-id>`).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Tkinter desktop app for managing PGP keys, AES vault, and credential storage.",
    "version": "0.9.0",
    "project_urls": {
        "Homepage": "https://github.com/PDFSage/Encryption-by-PDFFSage",
        "Repository": "https://github.com/PDFSage/Encryption-by-PDFFSage"
    },
    "split_keywords": [
        "encryption",
        " pgp",
        " aes",
        " keyring",
        " tkinter"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8487ec4f65a25296f3ddb777cc0a4e06b662b6417e02a94e61f67c359519ff7f",
                "md5": "56682ffd6ad53f303cd42c21dc71b525",
                "sha256": "a1e218708b1e926ebbed3bb67477757ce7c034a200070517f6c9aef1124c7fc4"
            },
            "downloads": -1,
            "filename": "encryption_vault-0.9.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "56682ffd6ad53f303cd42c21dc71b525",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 32348,
            "upload_time": "2025-10-30T20:09:51",
            "upload_time_iso_8601": "2025-10-30T20:09:51.489739Z",
            "url": "https://files.pythonhosted.org/packages/84/87/ec4f65a25296f3ddb777cc0a4e06b662b6417e02a94e61f67c359519ff7f/encryption_vault-0.9.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "78294846a3b2d5da989cca78599c5b17b2dd6f3832a5f6e0804a3d222378301b",
                "md5": "fc6e085d5dc8b6bfbce36b1efecc827c",
                "sha256": "ea59655a9bdf78962473c968239be778a12981273d1cc81a8370f5122a5a4ffa"
            },
            "downloads": -1,
            "filename": "encryption_vault-0.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fc6e085d5dc8b6bfbce36b1efecc827c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 32451,
            "upload_time": "2025-10-30T20:09:52",
            "upload_time_iso_8601": "2025-10-30T20:09:52.433587Z",
            "url": "https://files.pythonhosted.org/packages/78/29/4846a3b2d5da989cca78599c5b17b2dd6f3832a5f6e0804a3d222378301b/encryption_vault-0.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-30 20:09:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PDFSage",
    "github_project": "Encryption-by-PDFFSage",
    "github_not_found": true,
    "lcname": "encryption-vault"
}
        
Elapsed time: 2.54251s