Skip to content

iiAku/Yhtua

Repository files navigation

Yhtua

Yhtua

Two factors. Zero trust required.
Open-source, encrypted 2FA token manager for desktop.

Release License Platform

Website · Download · Security · Development


Features

  • TOTP tokens — 6, 7, or 8-digit codes with real-time circular countdown
  • AES-256-GCM encryption — Secrets encrypted at rest, keys in your OS keychain
  • Cross-device sync — Encrypted backups via any cloud folder (Dropbox, Drive, OneDrive)
  • Auto-sync — Background sync when tokens change, with password mismatch recovery
  • Import & export — Password-protected backup files, legacy format support
  • Native & lightweight — ~5MB, built with Tauri 2 and Rust
  • Fully offline — No accounts, no telemetry, no network calls

Download

Get the latest release for your platform from Releases.

Platform Formats
Linux .deb .AppImage .rpm
macOS .dmg
Windows .msi .exe

Security

All cryptographic operations run in Rust via the audited ring library.

Local storage                          Export / Sync
─────────────                          ─────────────
Tokens → AES-256-GCM → localStorage   Backup → PBKDF2 (600k) + AES-256-GCM → file
              │                                        │
        OS Keychain                              User password
  (macOS / Windows / Linux)
  • Encryption key stored in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) with encrypted file fallback
  • Sync backups protected with PBKDF2-SHA256 at 600,000 iterations + AES-256-GCM
  • Zero network calls — sync works via local filesystem only
  • Minimum 8-character passwords enforced for sync and export
  • Secret cache TTL — decrypted secrets expire from memory after 5 minutes

Development

Prerequisites

Tech stack

Layer Tech
Frontend Nuxt 4, Vue 3, Tailwind CSS 4
Backend Tauri 2, Rust
Crypto ring (AES-256-GCM, PBKDF2)
Keychain keyring-rs
Landing Astro, Tailwind CSS 4

Commands

# Install dependencies
bun install

# Development (desktop app with hot reload)
bun run tauri dev

# Production build
bun run tauri build

# Landing page dev
cd landing && bun install && bun run dev

# Lint & format
bun run lint
bun run format

# Rust tests
cargo test --manifest-path src-tauri/Cargo.toml

Project structure

Yhtua/
├── app/                    # Nuxt frontend
│   ├── components/         # Vue components
│   ├── composables/        # Crypto, store, sync, OTP
│   └── pages/              # App pages
├── src-tauri/              # Tauri backend (Rust)
│   └── src/
│       ├── crypto.rs       # AES-256-GCM, PBKDF2, keychain
│       └── lib.rs          # Tauri commands
├── landing/                # Astro landing page
└── .github/workflows/      # CI: release builds + GitHub Pages

Contributing

PRs welcome. Fork, branch, commit, push, open a PR.

License

MIT — see LICENSE.


Made in France by Yoann Gendrey 🇫🇷

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors