CipherAuth is a secure, cross-platform TOTP (Time-based One-Time Password) authenticator applications designed for simplicity and security. Built with Python and a modern UI powered by CustomTkinter, it provides a safe vault for your two-factor authentication tokens.
Repository Status: This Python repository has been migrated to the Flutter version and is now archived. Active development continues at CipherAuth-Flutter.
- Encrypted Storage: All your credentials are encrypted with AES-256.
- Modern UI: Clean, dark-themed interface using CustomTkinter.
- Search: Quickly find your accounts with the built-in search bar.
- QR Code Support: View and scan QR codes for easy setup.
- Export/Import: Easily backup and restore your credentials.
- Password Protected: Secured by a master password to prevent unauthorized access.
- Sync: Sync your credentials securely to another device.
Create Screen - First-time setup screen to create your secure vault.
Login Screen - Start by unlocking CipherAuth using your master password.
Initial Home Screen - Empty-state dashboard after setup, before adding any credentials.
Add Credentials Manually - Add an account by entering details manually.
Add Credentials with QR Image - Import account details quickly by scanning a QR image.
Home Screen - Main dashboard showing your saved authentication entries.
Blurred QR View - Protected QR preview state for safer on-screen visibility.
Unblurred QR View - Reveal the QR code when needed for scanning and setup.
Download / Export - Export your credentials backup file securely.
Sync Screen - Sync encrypted credentials across devices on the same network.
Reset Password - Change your master password while keeping data protected.
Delete Credentials - Remove entries you no longer need from the vault.
CipherAuth can be compiled for Windows, macOS, and Linux without additional code changes. However, this repository has only been tested on Windows.
-
Clone the repository.
-
Install dependencies:
pip install -r requirements.txt
Note for Windows users: PyInstaller packages are commented out in
requirements.txt. If you're on Windows and planning to build an executable, uncomment the Windows-specific packages inrequirements.txtbefore installing:altgraph==0.17.4 pefile==2023.2.7 pyinstaller==6.15.0 pyinstaller-hooks-contrib==2025.8 pywin32-ctypes==0.2.3 -
Run the application:
python app/main.py
The project includes a CipherAuth.spec file, making it easy to create a standalone executable for your current OS.
- Install PyInstaller:
pip install pyinstaller
- Build the executable:
pyinstaller CipherAuth.spec
- The compiled application will be available in the
dist/folder.
Click on the "➕ Add Creds" button in the footer and fill in the account details.
Use the "📥 Download" button to export a decrypted version of your credentials. Keep this file safe!
Yes. Since it is written in Python, you can run it from source or compile it using PyInstaller on macOS and Linux as well. However, this repository is only tested on Windows. For mobile platforms and ongoing development, use CipherAuth-Flutter.
No. CipherAuth is designed to be fully offline for maximum privacy. Your data stays on your device. However, you can sync your credentials across multiple devices on the same network using the built-in Sync feature (🔃). Devices must have the same master password encryption key to synchronize securely.
Disclaimer: CipherAuth uses high-level encryption secured by your Master Password. If you forget your Master Password, we cannot recover your data. There are no "backdoors" or password recovery options for your security. Please ensure you keep your password in a safe place.
Developed with ❤️ using Python and CustomTkinter.











