A cross-platform OTP app, free and open-source.
Download now »
Website
·
App
·
Backend
·
Contribute
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 !
- 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.
Prebuilt packages and store links are available on the official website.
- 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 --versionTo clone the repository and install dependencies, run in a shell :
git clone https://github.com/openauthenticator-app/openauthenticator.git
cd openauthenticator
flutter pub getSome files used by the app are generated or refreshed during setup.
First, compile SVG assets to .si :
dart run open_authenticator:compile_svgThen, generate source files used by code generation :
dart run build_runner build --delete-conflicting-outputs
dart run slangLast but not least, generate lib/app.dart for your local build :
dart run open_authenticator:generateopen_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 --helpThe generated file is intended for local or custom builds, so make sure it matches the environment you want to run against.
To run the app :
flutter runContributions 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.
If you want to support Open Authenticator financially, you can use :
Open Authenticator is licensed under the GNU General Public License v3.0.


