Authenticator

mattrubin.me/authenticator
Authenticator Icon

Simple, native, open source 2-FA Client for iOS, which never connects to the internet - built by @mattrubin.me

Open Source

Authenticator Source Code

Author

mattrubin

Description

Two-Factor Authentication Client for iOS

#2fa#authenticator#ios#one-time-passwords#swift#two-factor-authentication

Homepage

https://mattrubin.me/authenticator

License

NOASSERTION

Created

28 Aug 13

Last Updated

31 Jan 26

Latest version

build/2516

Primary Language

Swift

Size

60,044 KB

Stars

867

Forks

119

Watchers

867

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Matt Rubin (07 Jan 26)

    Merge pull request #466 from mattrubin/2026 Modernize tooling and project configuration

  • Matt Rubin (06 Jan 26)

    Revert versioning scheme change

  • Matt Rubin (06 Jan 26)

    Update Swiftlint config to be opt-out rather than opt-in

  • Matt Rubin (06 Jan 26)

    Delete unused imports flagged by `swiftlint analyze`

  • Matt Rubin (06 Jan 26)

    Prefer `XCTAssertEqual` and `XCTAssertNotEqual` over `XCTAssert` When tests fail, the more specific matchers provide better error messages.

  • Matt Rubin (06 Jan 26)

    Update screenshots for new screen sizes: - Update fastlane snapshot config with new devices - Remove SimulatorStatusMagic, which doesn't work as easily on newer simulators - Configure fastlane snapshot to make the status bar pretty - Annotate screenshot test case with `@MainActor` as required by the snapshot helper function A few issues I ran into: - The iOS simulator inherits the 12/24-hour time format preference from the macOS host *at the time the simulator is created* and does not expose a way to change this setting via either the Settings app or an `xcrun simctl` command. The fix was to manually run `plutil -remove AppleICUForce24HourTime ~/Library/Developer/CoreSimulator/Devices/[Simulator UUID]/data/Library/Preferences/.GlobalPreferences.plist` for each simulator before running fastlane snapshot. - There are imperceptible differences between screenshots rendered when my MBP is running on battery power vs running off a power adapter. I opted to capture screenshots when connected to power. - The (in)visibility of the home indicator at the bottom of each screenshot is flaky. Most screenshots don't include it, but I had to re-generate several of them to get them all without home indicators.

  • Matt Rubin (03 Jan 26)

    Upgrade project format to Xcode 16.3+

  • Matt Rubin (03 Jan 26)

    Use non-optional `Data(_:)` initializer to convert `String` to `Data`

  • Matt Rubin (03 Jan 26)

    Temporarily disable `xct_specific_matcher` SwiftLint rule

  • Matt Rubin (03 Jan 26)

    Fix SwiftLint build script configuration

  • Matt Rubin (03 Jan 26)

    Disable Liquid Glass with `UIDesignRequiresCompatibility`

  • Matt Rubin (03 Jan 26)

    Update to recommended Xcode project settings

  • Matt Rubin (03 Jan 26)

    Update fastlane snapshot helper

  • Matt Rubin (03 Jan 26)

    Upgrade Carthage dependencies

  • Matt Rubin (03 Jan 26)

    Pin Ruby version and upgrade fastlane

  • Matt Rubin (12 Feb 23)

    Merge pull request #407 from mattrubin/modernize Update project for modern Xcode, Swift, and iOS

  • Matt Rubin (12 Feb 23)

    Update copyright notice dates

  • Matt Rubin (12 Feb 23)

    Remove direct initialization of empty NSErrors in tests

  • Matt Rubin (12 Feb 23)

    Fix `UITableViewAlertForLayoutOutsideViewHierarchy` warnings in tests

  • Matt Rubin (12 Feb 23)

    Fix a comment typo

  • Matt Rubin (12 Feb 23)

    [CI] Fix collection of code coverage info

  • Matt Rubin (12 Feb 23)

    Merge github-actions into modernize

  • Matt Rubin (12 Feb 23)

    Delete Travis CI configuration

  • Matt Rubin (12 Feb 23)

    Configure GitHub Actions to test on more OS and device combinations

  • Matt Rubin (12 Feb 23)

    Configure GitHub Actions CI

  • Matt Rubin (12 Feb 23)

    Merge pull request #392 from mattrubin/dependabot/bundler/jmespath-1.6.1 Bump jmespath from 1.4.0 to 1.6.1

  • Matt Rubin (11 Feb 23)

    Update the version number (and change how build numbers are set)

  • Matt Rubin (11 Feb 23)

    Update screenshots Disable battery detail, since it looks busy on the modern iPhone screens

  • Matt Rubin (11 Feb 23)

    Update inkscape command line options, then regenerate app icons

  • Matt Rubin (11 Feb 23)

    Upgrade fastlane tools

Authenticator Website

Website

Redirects

Redirects to https://mattrubin.me/authenticator/

Security Checks

1 security checks failed (65 passed)

  • Empty Page Content

Server Details

  • IP Address 172.66.44.213
  • Location San Francisco, California, United States of America, NA
  • ISP CloudFlare Inc.
  • ASN AS13335

Associated Countries

  • US

Safety Score

Website marked as safe

100%

Blacklist Check

mattrubin.me was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Authenticator iOS App

App Info

Authenticator

Authenticator is a simple, free, and open source two-factor authentication app. It helps keep your online accounts secure by generating unique one-time passwords, which you use in combination with your other passwords to log into supporting websites. The simple combination of the password in your head and the rotating passwords generated by the app make it much harder for anyone but you to access your accounts. • Easy: Simple setup via QR code, "otpauth://" URL, or manual entry • Secure: All data is stored in encrypted form on the iOS keychain • Compatible: Full support for time-based and counter-based one-time passwords as standardized in RFC 4226 and 6238 • Off the Grid: The app never connects to the internet, and your secret keys never leave your device.

Rating

Rated 3.69 out of 5 stars by 389 users

Version Info

  • Current Version 2.1.2
  • Last Updated 01 Jun 19
  • First Released 03 Dec 13
  • Minimum iOS Version 9.0
  • Device Models Supported 121

App Details

  • IPA Size 16.13 Mb
  • Price Free (USD)
  • Age Advisory 4+
  • Supported Languages 1
  • Developer Matt Rubin
  • Bundle ID me.mattrubin.authenticator

Screenshots

Authenticator Reviews

More 2-Factor Authentication

About the Data: Authenticator

API

You can access Authenticator's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/essentials/2-factor-authentication/authenticator

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Authenticator

Help your friends compare 2-Factor Authentication, and pick privacy-respecting software and services.
Share Authenticator and Awesome Privacy with your network!

View 2-Factor Authentication (10)