X1nto / Mauth

A Material You Two-factor Authentication app
GNU General Public License v3.0
399 stars 14 forks source link

[Feature] Backup settings #66

Open pc-magas opened 4 months ago

pc-magas commented 4 months ago

I want to be able to export and backup the data needed for each 2FA authenticator. There are cases where I update my phone's OS (for example when I use LinegeOS and update into newer version) and I need to ensure that upon new OS 2FA will be working using same settings.

Also I want to have the apps data somewhere safe in case my phone is broken so I can easily setup them into a new phone.

pc-magas commented 4 months ago

An easy to use approach that I thought, is to slit the app data into Qr code(s) and scan them sequentially. Compared to BT or usb or even a file it is easy because all people can take a photo with a camera. Also Idk how I could save these data into a secure storage such as Bitwarden, Aws ssm etc etc

Furthermore Idk if I could display data as multiple qr and use my pc's webcam (and the opposite) to back them up is a good idea as well.

X1nto commented 4 months ago

I've implemented an export screen containing QR codes for each account. The only thing left is to protect the export screen via app pin/biometrics. I'll release an update either this month or in August

pc-magas commented 3 months ago

@X1nto What about the recovery procedure. Let us assume that uppon app I did scan the QR codes using my desktop's webcam. How I could ensure that the procedure will work if I need to recover them?

I thought various recovery flows I could use personally.

Take a photo of QR using PC's webcam:

  1. App displays QR code.,
  2. I take the photo of QR using my desktop's/laptop's webcam

I need to ensure that the photo I taken of QR will be recoverable in case of i need to recover it. Like ok I took the backup I want to attempt a dry-run of the recovery procedure.

Take a photo of QR using Another smartphone:

  1. App displays QR code.,
  2. I take the photo of QR using another smartphone

Take QR backup as a screenshot or the screen displaying QR code.

  1. I open the app and let it display QR code
  2. I take a screenshot of the QR
  3. I save the screenshot file into my PC

In this case I could recover using 2 ways:

  1. Move the screenshot file into my smartphone and recover it.
  2. Taking the QR code a photo from my smartphone.

Therefore both in this case I want to ensure that data will be recovered as well.

toddwc commented 2 months ago

I've implemented an export screen containing QR codes for each account. The only thing left is to protect the export screen via app pin/biometrics. I'll release an update either this month or in August

That sounds tedious.

X1nto commented 2 months ago

That sounds tedious.

It's the best I can do as of now. I'm still searching for a safe and reliable way to transfer the full catalog.