AFAIK, applications allow their secrets to be backed up or not, and I'm not mad that my 2FA keys are no backed up and shipped overseas. I keep another copy of my 2FA codes in another application, so it's not a very big problem from my PoV, though.
It's not a problem if you took measures to make sure you have a copy. It's a problem if you just take "full backups" for granted until you figure out that some things don't get included in "full".
And yes, for years one had to do the physical cabled backup restores for this, then these same app developers learned how to exclude their data from those as well. However, as of iOS 12, 13 and 14, there seems to be decreasing to zero effective difference in what’s included between tethered (with password), local WiFi (with password), and OTA iCloud backups.
You may be able to forcibly back these up using a third party tool that also lets you back up sandboxed temp files and the like, tools like iExplorer:
https://macroplant.com/iexplorer/mount-iphone-disk-mode-file...
If you’re jailbroken, that can backup anything under root of course.
But back to your point: I used to backup to Google Authenticator and LastPass's Authenticator to prevent me from losing access when I migrated to a new iPhone since they don't backup. They both worked just fine interchangeably.
Arguably too well, as using 1Password to log in puts the 2FA on the clip board for the next step.
Get Keepass2Android, and it'll track TOTPs just fine. Throw Syncthing on their and you can securely get those to any device you own without involving Google.
It's protection for when using untrusted computing devices, or because most people have their passwords in some way visible or shared.
TOTPs can't be reasonably made much longer then they are while still usefully entered, but my password database never leaves my own devices and neither does the password to it.
If someone compromises my phone to the level they can get that database, then they've already got my Google Authenticator or whatever DB as well anyway.
> they've already got my Google Authenticator or whatever DB as well anyway.
is of course good for them, but they still need to get my password from my other device.
2FA as the internet uses it has always been about dealing with accidental disclosure and public PCs.
That's why my phone doesn't have any bank software installed and doesn't have any password saved. It is logged into my google account though to which you probably can restore some passwords, but for all resources I care about (banking, investements, crypto, etc.) it's not possible. I also use separate email for those. If my HN or reddit account will be compromised via my phone - so be it, I don't really care. I can also tolerate compromised 2FA app as it's useless without passwords which are stored on another machine.
They’re not. Backups are built-in but they’re not complete. For example google Authenticator data is not backed up. Microsoft Authenticator can be backed up, but you need to go through a few extra steps (and have a Microsoft account). Other secrets are not included either - my banks PhotoTAN app doesn’t store any credentials etc. There are reasons why this is so, but it’s really important to handle if you use your phone for 2FA.