Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 1374 commits ahead, 2780 commits behind 2factorauth:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status License

List of 2FA dongle providers and the platforms they support.

The Goal

The goal is to build a website ( with a comprehensive list of sites that support One Time Passwords (OTP) or Universal 2nd Factor (U2F).

Our hope is to aid consumers who are deciding between alternative services based on the security they offer for their customers. This can also serve as an indicator for the effort a site has put into security in general.

This site is a fork of 2FA Directory. The fork is necessary to further differentiate the 'Hardware' section. The 2FA Directory project wants to give a general overview and do not wants to mark the technical details as well. We respect this decision. In need of a differentiation between OTP and U2F we decided to fork the project. Please see the note on definitions as well.


If you'd like to contribute, read the entire guidelines here in

Running Locally is built upon Jekyll, using the github-pages gem. In order to run the site locally, it is necessary to install bundler, install all dependencies, and then use Jekyll to serve the site. If the gem command is not available to you, it is necessary to install Ruby with RubyGems. Once Ruby and RubyGems are installed and available from the command line, TwoFactorAuth can be setup using the following commands.

gem install bundler
cd ~/dongleauth
bundle install
bundle exec jekyll serve

If you're using Ubuntu or Bash on Windows (WSL) you'll probably need to install these dependencies first:

sudo apt install libffi-dev nodejs python-dev gcc ruby rails make zlib1g-dev ruby-dev libcurl4
gem install bundler

The DongleAuth website should then be accessible from http://localhost:4000.

Another option is to run Jekyll inside a Docker container. Please read the Jekyll Docker Documentation on how to do this.


This code is distributed under the MIT license. For more info, read the LICENSE file distributed with the source code.


List of sites with two factor auth support for OTP and U2F hardware dongles.



Code of conduct





No releases published


No packages published


  • HTML 65.4%
  • SCSS 14.0%
  • Ruby 10.7%
  • JavaScript 9.9%