Brain Overflow

How to Migrate from Raivo OTP

I'll get straight to the point. Raivo was sold, many people want alternatives. Check out this thread if curious:

All of the below options are open source.

iOS & Android: 2FAS

This one is easy: just export from Raivo, then use the built-in function in 2FAS.

iOS: Tofu

There is no import option, but you can manually move your tokens over by getting the seed from Raivo.

  1. Export from Raivo to JSON
  2. Securely transfer a list of your seeds so that you can easily copy and paste into Tofu. Standard Notes would be an easy, free, and secure (E2EE) way to do this.
    1. Quick way I would get the list: use PowerShell to get the content of the .json with get-content, put that into a variable, and then just Search-String:

$raivo_json_content.Split(',') | where { $_.IndexOf("secret") -ne -1 }

Now you can easily copy-paste seed entries into Tofu.

Android: Aegis

(No, it is not an iOS offering. But I switched from iOS to GrapheneOS recently, and this part took some figuring out; I was not at all familiar with jq. )

Here's how to migrate smoothly:

  1. Export from Raivo to JSON.
  2. Install jq on your computer.
  3. Use the following to translate between the Raivo JSON format and the Aegis format (leave out the UUID field so that Aegis generates it):

cat raivo-otp-export.json | jq '[.[] | { type: .kind | ascii_downcase, name: .account, issuer, note: "", favorite: false, icon: null, info: { secret, algo: .algorithm, digits: .digits | tonumber, period: .timer | tonumber } }]'

  1. There's probably a better way to do this part, but when I transferred I exported from Aegis, then replaced the TOTP objects with what I got from jq above.
  2. Import, and you are good. I suggest downloading Aegis icons ( and enjoying those, too.

(Important -- Clean up any unencrypted .json files with shred.)

#guide #tech