SkillAgentSearch skills...

TwoFac

2FA Authenticator app that works on mobile, web, desktop, watches and CLI!

Install / Use

/learn @championswimmer/TwoFac

README

| <img src="docs/twofac-logo.png" alt="TwoFac logo" width="128" height="128" /> | <h1 align="left">TwoFac</h1> <br> Open Source, Native, Cross-Platform 2FA App for Watch, Mobile, Desktop, Web and CLI! | |---|---|

Kotlin Compose Multiplatform

Android iOS watchOS Wear OS macOS Windows Ubuntu Web Chrome Extension Firefox Extension CLI macOS CLI Windows CLI Linux

two-fac-demo

ROADMAP

  • [ ] Common functionality
    • [x] Add new accounts
    • [x] Display accounts with 2FA codes
    • [x] Save accounts to a storage
    • [x] Delete account storage
    • [ ] Backup & Restore via a backup transport
    • [ ] Export & Import accounts (encrypted with passkey)
    • [x] QR Account Scanning (Camera + Clipboard)
    • [x] Import from other 2FA apps
      • [x] Authy (JSON format)
      • [x] 2FAS (JSON format)
      • [x] Ente (plaintext otpauth:// URIs)
  • [ ] Mobile Apps (Android & iOS)
    • [x] Biometric Authentication
    • [ ] Home / Accounts / Settings Bottom Tabs
  • [x] Wearable Apps
    • [x] Wear OS companion app with offline sync
    • [x] watchOS companion app with offline sync
  • [ ] Desktop App
    • [ ] System Tray / Menu Bar Application
  • [x] Web & Browser Extensions
    • [x] Progressive Web App (PWA)
    • [x] Chrome Extension
    • [x] Firefox Extension
    • [x] WebAuthn / Device-Credential Unlock
  • [ ] CLI App
    • [x] Add new accounts
    • [x] Display 2FA codes with auto-refresh
    • [x] Delete account storage

Documentation

Development

Prerequisites

  • JDK 17+ (recommended: JDK 21)
  • Android SDK (if building Android targets)
  • Xcode (if building iOS targets on macOS)
  • Native toolchains for your platform (GCC/Clang for Linux, MSVC for Windows)

Project structure

TwoFac/
├── sharedLib/    # Shared 2FA library (TOTP/HOTP, crypto, storage)
├── cliApp/       # CLI application (Clikt-based, native binaries)
├── composeApp/   # Compose Multiplatform UI application
├── watchApp/     # Wear OS app
└── iosApp/       # iOS application wrapper

Common commands

# Baseline checks
./gradlew check

# Module tests
./gradlew :sharedLib:test
./gradlew :cliApp:test
./gradlew :composeApp:test

# Run desktop app
./gradlew :composeApp:run

# Run web app
./gradlew :composeApp:wasmJsBrowserDevelopmentRun

Related Skills

View on GitHub
GitHub Stars70
CategoryDevelopment
Updated1d ago
Forks2

Languages

Kotlin

Security Score

85/100

Audited on Mar 27, 2026

No findings