Hey!

I basically want to replace the Google Authenticator app in style and functionality:

  1. List all TOTP tokens and their validity time (with a name and order I decide).
  2. Allow me to periodically or on change back up the whole thing to some off-site storage, keeping the last N backups.
  3. Have a native app for Android or an actually good PWA.
  4. Don’t do magic bullshit like fetching icons, hide tokens, etc.
  5. Be actually secure (i.e. don’t roll your own auth)
  6. Just be a TOTP manager, and nothing more! No, I’m not interested in a password manager, thank you. I also don’t want any other OTP methods I don’t use.
  7. Don’t be a one-man projects where the availability is not clear in >1 year.

Any experience is welcomed. Thank you!

Edit: Thanks for all the great ideas, I just set up 2FAuth which seems to be the most minimalist and single-feature thing to self-host. I’ll evaluate how it performs but keep a backup in Google Authenticator. It does not match #7 but it seems to be actively used by the author and gets constant updates and fixes, so it’s most likely fine, I guess.

There is a 3rd-party app for it, but this app seems to be pretty much dead (last release in July 2025 and not in any app store) – or at least not released anymore but still worked on but only in the repository.

all 33 comments

sorted by: hot top controversial new old
[–] 28 points 8 months ago (6 children)

If you want to have them locally stored with export and import capability: Aegis.

If you want them in the cloud: Bitwarden. Just make sure to backup the 2FA tokens every now and then.

  • source
  • hideshow 6 child comments
  • [–] [S] 1 point 8 months ago (5 children)

    Aegis seems to be just an app. The thing is, that I see an app as second option for accessing the data. I’d like to have a selfhosted service that is accessible independent from a device and – for convenience – has an app, too.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 4 points 8 months ago* (2 children)

    Ah, ok. Sounds like it's 2FAuth you're after. There's an app for it, too: auff. Or Bitwarden (Vaultwarden if you want everything that Bitwarden have with no paywalls.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 36 points 8 months ago (5 children)

    Aegis + syncthing for remote backups

  • source
  • hideshow 5 child comments
  • [–] 9 points 8 months ago

    This. Aegis does all of the points except offsite backups. And for good reason.
    The Aegis app has no network permissions at all, which is obviously a massive boost for security and privacy. And besides, off-device backuping is a nightmare.

    Syncing the Aegis backups made on change to some other server is better handled by a great dedicated app. Syncthing is the best such program (by far), though for the few files involved here nextcloud would work just as well.

  • source
  • parent
  • [–] 5 points 8 months ago*

    I second Aegis. You can drag icons and rename tokens. You can also sort by a to z, last used, usage count, etc. Aegis supports automatic backups and can export plaintext or encrypted backup files, after which you can transfer them to other devices however you transfer other files from your phone.

    The backup files work with Aegis and with several independent desktop apps depending on your OS of choice. While I haven't looked into it, that suggests that the encryption method isn't something homebrew.

    As far as #6 goes Aegis doesn't try to save my passwords, encourage me to use passkeys, or suggest AI solutions. Magic bullshit is a vague qualifier, but I think Aegis is thaumaturgically inert. The 'icons' are just the first letter of the name of the token issuer by default.

    The more-than-one-year lifetime is a problem with anything, including plenty of Google projects. There are over 60 contributors on github, so that's something.

  • source
  • parent
  • [–] 1 point 8 months ago (2 children)

    Print out all the QR codes on a sheet of paper and keep them secure in a fire safe. That's really the best way to keep them backed up and secure.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 8 months ago (1 child)

    until you need to update them, or when you need recovery when travelling

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 8 months ago

    If you need to update them, you just reprint and replace.

    If you need to recover on the road, well that depends on your risk tolerance. I'm never away from home so long that it's a problem, and pretty much every service has a way to bypass 2FA in case of emergency.

  • source
  • parent
  • [–] 11 points 8 months ago* (6 children)

    No, I’m not interested in a password manager, thank you

    Ok. But since you already use a password manager (right?), why not use its built-in TOTP management. Why do you need yet-another-separate app?

    If I really had to, I'd recommend Aegis.

    But I'll still recommend using a password manager (I use KeepassXC on desktop and KeepassDX on Android).

  • source
  • hideshow 6 child comments
  • [–] 13 points 8 months ago (5 children)

    Why do you need yet-another-separate app?

    To keep your two factor codes and passwords separate in the event that your password manager is breached.

    Also if you need a 2FA code to log into your password manager, how are you going to get it if its in the password manager that you can't log into without the 2FA code inside it?

  • source
  • parent
  • hideshow 5 child comments
  • [–] 7 points 8 months ago (2 children)

    This question comes up all the time with KeepassXC... like its not a 2nd factor if the TOTP is in the same app as the password.

    Factor 1 is knowing the master password, and

    Factor 2 is having the password file.

    Im not trying to suggest the KeepassXC is the best for all uses, but its sufficient for me in this context.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 8 months ago

    Fair enough.

    I decided against web/network-based password managers for my personal needs since the additional attack surface is a concern. A Keepass database file synced across machines strikes a good balance for me (requires password + keyfile to open). It's also simple to backup and protect.

    So yeah, for you use case, I'd recommend Aegis Authenticator.

  • source
  • parent
  • [–] 9 points 8 months ago*

    Aegis Authenticator hits every one of your points. I know because I have the same requirements for a TOTP application.

    I also use KeePass for all of my passwords. KeePass can do TOTP, but I prefer that to remain separate.

  • source
  • [–] 6 points 8 months ago

    I’m happy with vaultwarden doing this for me.

  • source
  • [–] 3 points 8 months ago

    Store the secrets on a Yubikey. They are unstealable then.

    Yubico has their own GUI app or you can wrappers for their CLI tool to use something like dmenu, rofi or Fuzzel to pick one.

  • source
  • [–] 3 points 8 months ago (1 child)
  • [–] 4 points 8 months ago* (5 children)

    I'm using FreeOTP from F-droid and imho it suffices if you're going to use a phone app at all. The ability to back up OTP keys in principle defeats the concept of 2FA but it's hard to live without, once you have enough keys. The thing about retain last N backups is hard to enforce without special arrangements in your backup scheme.

  • source
  • hideshow 5 child comments
  • [–] 1 point 8 months ago (4 children)

    +1 for FreeOTP+ - been using it for a while and it does everything I need.

  • source
  • parent
  • hideshow 4 child comments
  • [+] 1 point 8 months ago (3 children)
  • [–] 2 points 8 months ago* (2 children)

    Hmmm.

    I've just noticed that FDroid FreeOTP (no "+") is newer (updated 3 weeks ago) than FreeOTP+ (updated 2 years ago)... which I thought it was a fork of...

    Ok, thanks, I might have to reassess...

    @solrize@lemmy.ml - I presume you're using the non-plus version??

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 8 months ago

    I'm using freeotp+ I don't know if it's any fancy, bit never had issues with it (I'm using it rather rarely)

  • source
  • [–] 1 point 8 months ago

    You can use deltachat with a totp app: it's simple, it's synchronized, there's no need to selfhost anything, ...

    https://codeberg.org/rtn/totp

    You can get it directly from deltachat

  • source