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
- On first launch, you’ll be prompted to set a master password.
- 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!
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
862192e62ee11fc7d5cdceb83269f4b0761f9cce74efcd278c1aeabd3e1d5a07
|
|
| MD5 |
aaf802a5e44d1a358231118bb0ac87d3
|
|
| BLAKE2b-256 |
a1ae691cb8e2821b1dcd076d7f59c5adb67cb973ed25b0b832d013b9d4c75458
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
306c0fc76fc077cd812c6e3641a5fd8b7b4c367d3e169e525e34fd9033ea9831
|
|
| MD5 |
53b8461312b3d2c9c1ded913e0b223d9
|
|
| BLAKE2b-256 |
373f06e274402b6d51ce3d1b82531e7ba93591fa2b97e616ee76cbc6fa8cb75a
|