Authenticator

mattrubin.me/authenticator
Authenticator

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

01 Jul 26

Latest version

build/2529

Primary Language

Swift

Size

60,071 KB

Stars

872

Forks

118

Watchers

872

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Matt Rubin (10 Apr 26)

    Merge pull request #475 from mattrubin/maintenance Bump iOS deployment target to 16.0

  • Matt Rubin (10 Apr 26)

    [ci] Temporarily disable Codecov uploading

  • Matt Rubin (10 Apr 26)

    [ci] Migrate from `xcversion` to `xcodes`

  • Matt Rubin (10 Apr 26)

    [ci] Disable failing script for printing bundled runtimes > Bundled runtimes: > Xcode_16.0.0.app > 2026-04-10 17:19:55.567 defaults[4268:16280] > The domain/default pair of (/Applications/Xcode_16.0.0.app/Contents/Developer/Platforms/*.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/*.simruntime/Contents/Info.plist, CFBundleName) does not exist > Error: Process completed with exit code 1.

  • Matt Rubin (10 Apr 26)

    [ci] Allow other test jobs to complete even if one fails

  • Matt Rubin (10 Apr 26)

    [ci] Modernize GitHub Actions testing workflow - Run jobs on MacOS 15 - Update test matrix to use modern Xcode and iOS versions - Use latest versions of GitHub Actions dependencies

  • Matt Rubin (10 Apr 26)

    Migrate off of deprecated `UTType` constant "'kUTTypeUTF8PlainText' was deprecated in iOS 15.0: Use UTTypeUTF8PlainText or UTType.utf8PlainText (swift) instead."

  • Matt Rubin (10 Apr 26)

    Bump iOS deployment target to 16.0

  • Matt Rubin (10 Apr 26)

    Upgrade fastlane tools

  • 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

Authenticator Website

Website

Authenticator • Two-Factor Authentication Client for iOS

Redirects

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

Security Checks

All 65 security checks passed

Server Details

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

Associated Countries

  • US US

Safety Score

Website marked as safe

100%

Blacklist Check

mattrubin.me was found on 0 blacklists

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

Website Preview

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.68 out of 5 stars by 420 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 162

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

  • App screenshot
  • App screenshot
  • App screenshot

Authenticator Reviews

More 2-Factor Authentication

About the Data: Authenticator

Change History

  • Amended (iosApp)

API

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

https://api.awesome-privacy.xyz/v1/services/authenticator

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

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 (11)