Skip to content

openauthenticator-app/openauthenticator

Repository files navigation

Logo

Open Authenticator

A cross-platform OTP app, free and open-source.
Download now »

Website · App · Backend · Contribute

License Top language GitHub stars

Overview

Open Authenticator was created as an alternative to closed OTP applications that lock users into a single ecosystem or make migration difficult.

The project focuses on three core ideas :

  • freedom : your authenticator should stay usable on every major platform ;
  • transparency : the app is open-source and auditable ;
  • interoperability : sync is available, and the backend can be self-hosted.

Open Authenticator currently targets Android, iOS, Windows, macOS and Linux.

Tip

If you like this project, consider starring it on GitHub !

Features

  • Cross-platform Flutter application for mobile and desktop.
  • Free and open-source software under the GPL v3.0 license.
  • Secure local storage for your OTP data.
  • QR code scanning and otpauth:// link handling.
  • Optional synchronization across devices with self-hostable backend support.
  • Backup management and recovery flows.
  • Local authentication support on compatible devices.
  • Multi-language support, with community translations.

Screenshots

Main page

Edit TOTP page

Settings page

Download

Prebuilt packages and store links are available on the official website.

Development Setup

Prerequisites

  • A recent stable version of Flutter.
  • Dart SDK >=3.10.0 <4.0.0.
  • Platform toolchains for the targets you want to run.

It is recommended to stay on Flutter stable :

flutter channel stable
flutter --version

Clone the repository and install dependencies

To clone the repository and install dependencies, run in a shell :

git clone https://github.com/openauthenticator-app/openauthenticator.git
cd openauthenticator
flutter pub get

Generate required files

Some files used by the app are generated or refreshed during setup.

First, compile SVG assets to .si :

dart run open_authenticator:compile_svg

Then, generate source files used by code generation :

dart run build_runner build --delete-conflicting-outputs
dart run slang

Last but not least, generate lib/app.dart for your local build :

dart run open_authenticator:generate

open_authenticator:generate lets you customize values such as:

  • the app name and package identifiers ;
  • the backend URL ;
  • repository and translation links ;
  • Sentry DSN ;
  • RevenueCat public keys and offering ID ;
  • store identifiers and legal links.

You can inspect the available options with:

dart run open_authenticator:generate --help

The generated file is intended for local or custom builds, so make sure it matches the environment you want to run against.

Run the app

To run the app :

flutter run

Contributing

Contributions are more than welcome. For setup details, contribution rules and PR expectations, read the guidelines.

You can also help by :

  • reporting bugs or suggesting features in the issue tracker ;
  • improving translations through the translation page ;
  • submitting fixes for documentation, UI text or code.

Support the project

If you want to support Open Authenticator financially, you can use :

License

Open Authenticator is licensed under the GNU General Public License v3.0.

About

Secure your online accounts with Open Authenticator : a free, open-source and lovely-crafted TOTP manager.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors