🦊 FoxKey — Secure TOTP Manager
Minimalist, secure terminal 2FA client with strong defaults and zero footguns.
More about me / other projects: abhrankan.netlify.app
Features
- Encrypted vault (Argon2id + ChaCha20-Poly1305)
- Plaintext label index (list without password)
- otpauth:// URI support
- Clipboard auto-clear + live countdown
- Export / Import encrypted backups
- Change master password
- BusyBox-style single script
Installation
From PyPI
pip install foxkey
Single binary (recommended)
pip install pyinstaller
pyinstaller --onefile --name foxkey foxkey.py
# Move dist/foxkey to ~/bin or /usr/local/bin
Development
git clone https://github.com/foxhackerzdevs/foxkey.git && cd foxkey
pip install -e .
Usage
foxkey add github # prompts for the secret (recommended)
foxkey add github otpauth://totp/... # also accepted, but exposes the secret
# in shell history and `ps` -- scripting only
foxkey list
foxkey get github
foxkey export --file backup.enc
foxkey import backup.enc
foxkey change-password
Security Notes
- Master password never touches CLI args
- The service secret (
add's second argument) is optional and prompted viagetpasswhen omitted — same reasoning as the master password: passing it directly leaks it into shell history andps. The positional form still works for scripted use. importalways re-encrypts the vault under its current live master password, even when restoring a backup that was encrypted under a different (e.g. older) password. Importing an old backup can never silently change your master password to match it.- Vault refuses weak operations
- Clipboard cleared after token lifetime
Metadata
Release files for foxkey 0.2.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 | Provenance | |
|---|---|---|---|---|
| foxkey-0.2.0.tar.gz | 9.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| foxkey-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.2 kB
Release files / foxkey-0.2.0.tar.gz
| Download URL | foxkey-0.2.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac064505ac8eaa19cd9e1bb7d6265c9cdc19e376867672266065d0cb182e0753
|
|
BLAKE2b-256 checksum How to use checksums |
012b2c02e5b1d1e3527daea22879d69f788956cf76d67fd8187444e07a7ca970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / foxkey-0.2.0-py3-none-any.whl
| Download URL | foxkey-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e394ac3435a5894f63ad3bdbe368066bf550c4c34d91ee0049ebb5cae6af164
|
|
BLAKE2b-256 checksum How to use checksums |
dc86f30aa242c3a36fb0f4b35b1f66b55bac1df80544197dcbd32f088fa824c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Security for foxkey 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.