Skip to main content

A secure local password manager with PyQt6

Project description

Fastword

Fastword is a secure, offline password manager with a PyQt6 GUI. It allows users to generate and store strong passwords locally using AES-GCM encryption, with support for a master password and a 12-word mnemonic recovery phrase.


Features

  • Local-only storage (no cloud, no tracking)
  • AES-GCM encryption with Argon2 key derivation
  • 12-word recovery phrase for master password resets
  • Auto sign-out timer
  • Built-in password generator
  • Update master password from settings
  • Easy-to-use GUI built with PyQt6
  • Cross-platform executable support (coming soon)

Installation

From PyPI

pip install fastword

Then run it with:

fastword

Running from Source

Clone the repo:

git clone https://github.com/nolancoe/fastword.git
cd fastword
pip install -r requirements.txt
python -m fastword.main

Usage

  1. On first launch, you’ll be prompted to set a master password.
  2. You'll be shown a 12-word recovery phrase — WRITE IT DOWN! This is your only way back in if you forget your master password. If you lose this, and forget your master password, there is no way to access your password vault!
  3. Add, view, and manage your credentials securely.

Resetting Your Vault

If you forget your master password:

  • Launch the app and click "Forgot Password"
  • Enter your 12-word recovery phrase
  • Set a new master password
  • Your vault will be re-encrypted using the new key

Security Notes

  • All passwords are encrypted with AES-GCM using a key derived from your master password via Argon2id
  • The recovery phrase is used to derive a key that wraps the master key using symmetric encryption
  • No data is ever transmitted over the internet — 100% local
  • Decryption keys never leave memory during execution

Requirements

  • Python 3.10+
  • PyQt6
  • cryptography
  • argon2-cffi

Install dependencies with:

pip install -r requirements.txt

Packaging into Executables

Coming soon! Support for .exe, .app, and .AppImage builds using PyInstaller or fbs.


Contributing

Pull requests welcome!


License

MIT License


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

fastword-0.2.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastword-0.2.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file fastword-0.2.1.tar.gz.

File metadata

  • Download URL: fastword-0.2.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for fastword-0.2.1.tar.gz
Algorithm Hash digest
SHA256 862192e62ee11fc7d5cdceb83269f4b0761f9cce74efcd278c1aeabd3e1d5a07
MD5 aaf802a5e44d1a358231118bb0ac87d3
BLAKE2b-256 a1ae691cb8e2821b1dcd076d7f59c5adb67cb973ed25b0b832d013b9d4c75458

See more details on using hashes here.

File details

Details for the file fastword-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: fastword-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for fastword-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 306c0fc76fc077cd812c6e3641a5fd8b7b4c367d3e169e525e34fd9033ea9831
MD5 53b8461312b3d2c9c1ded913e0b223d9
BLAKE2b-256 373f06e274402b6d51ce3d1b82531e7ba93591fa2b97e616ee76cbc6fa8cb75a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page