Back to Projects

Easy Key Authenticator

In-progress View Source

A secure desktop TOTP authenticator for Windows with encrypted storage, QR code support, and system tray integration.

Easy Key Authenticator

Technologies Used

Python Tkinter Cryptography OpenCV TOTP

About This Project

Easy Key is a modern TOTP (Time-based One-Time Password) authenticator application for Windows. Features include Fernet encryption with PBKDF2 key derivation, QR code scanning from files or camera, system tray support, auto-start capability, and password-protected profile exports. Built with Python, Tkinter, and follows RFC 6238 for TOTP implementation.

Key Features

Security & Privacy

  • • Fernet encryption with PBKDF2 (SHA256, 200k iterations)
  • • Per-profile secret key passwords
  • • Password-protected exports (.easykey format)
  • • Local-only storage - no cloud sync
  • • Profile view lock with auto-lock timer

QR Code Support

  • • Import from QR code images (PNG, JPG, etc.)
  • • Real-time camera scanning with live preview
  • • Supports otpauth:// URLs and base32 secrets
  • • Dual decoder (OpenCV + pyzbar fallback)

TOTP Management

  • • Add, edit, and delete authentication profiles
  • • One-click copy to clipboard
  • • Auto-refresh every 30 seconds
  • • Visual countdown indicator
  • • Optional PIN support

System Integration

  • • System tray support with quick restore
  • • Auto-start on Windows boot (optional)
  • • Hide on load to system tray
  • • Modern Light/Dark/Auto themes
  • • Configurable window position

Technical Architecture

Framework: Tkinter with ttk widgets
Theme Engine: sv_ttk (Light/Dark/Auto)
Encryption: Cryptography library (Fernet)
TOTP: RFC 6238 compliant implementation
System Tray: pystray for background operation
QR Decoding: OpenCV with pyzbar fallback

Security Note

Authenticators are ideally stored on a separate device for maximum security. If you choose to use Easy Key on the same device you log in with, please be aware of the added risk. Easy Key compensates with strong encryption, secure profiles, and protected exports to ensure that—even if your device is lost—you can still recover your authentication codes safely. The Profiles View is unlocked by default, but you can enable password protection in the Settings for enhanced security.