Authenticator

A TOTP and HOTP two-factor authentication code generator for GNOME, written in Rust with support for QR code scanning and encrypted backups.

Authenticator is a two-factor authentication code generator for the GNOME desktop, built with GTK4, libadwaita, and Rust. It supports both TOTP (time-based) and HOTP (counter-based) one-time passwords, covering the vast majority of 2FA-enabled services. All secrets are stored in an encrypted local database, meaning your credentials never leave your device.

Features

  • TOTP and HOTP support — Generates time-based and counter-based one-time passwords compatible with any RFC 6238 / RFC 4226 service.
  • QR code scanning — Add accounts by scanning a QR code using your camera or by capturing a screenshot area; no manual transcription required.
  • Manual entry — Enter an account name and base32 secret directly for services that only display the raw key.
  • Encrypted database — All 2FA secrets are stored in a locally encrypted database, protected by your system credentials.
  • Backup and restore — Export your accounts to an encrypted backup file and reimport them on any device running Authenticator.
  • Search — Quickly find an account by name as your list of services grows.
  • GNOME HIG compliant — Follows GNOME Human Interface Guidelines with full dark/light mode support and an adaptive layout that works on both desktop and mobile form factors.

Installation

The recommended installation method for all Linux distributions is Flatpak via Flathub:

flatpak install flathub com.belmoussaoui.Authenticator

Arch Linux (AUR)

yay -S gnome-authenticator

Nix

nix-env -iA nixpkgs.gnome-authenticator

Debian / Ubuntu and Fedora

Pre-built packages are not available in the default repositories for Debian, Ubuntu, or Fedora. Install via Flatpak (shown above), which works on all of these distributions.

Usage

Adding an account

  1. Open Authenticator and click the + button.
  2. Choose Scan QR Code to use your camera or capture a screen region, or select Enter Manually to type in the account name and secret key.
  3. The new account appears immediately and begins generating codes.

Generating a code

Each account tile displays the current OTP code alongside a countdown ring showing how many seconds remain before the code rotates. Tap or click the code to copy it to the clipboard.

Backup and restore

Navigate to the hamburger menu and choose Backup to export your accounts. The export is encrypted with a passphrase you set. To restore, choose Restore and provide the backup file and passphrase.

# Flatpak apps store their data under:
~/.var/app/com.belmoussaoui.Authenticator/data/

Running as a Flatpak

# Launch from the terminal
flatpak run com.belmoussaoui.Authenticator

Why a local 2FA app?

Cloud-synced authenticator apps send your 2FA secrets to a third-party server. Authenticator keeps everything on your device in an encrypted database. Combined with its backup/restore feature, you get both security and portability without depending on any external service or account.