Open Desktop Authenticator

Importing maFiles from Steam Desktop Authenticator

Reviewed by MASTERPANEL LLC 4 min read Sources and testing: Version covered: ODA 1.5.1. Steps checked against the release's import screen, import implementation and service tests. This is a source review, not a new live Steam migration test Editorial method

In ODA, open Import maFiles → Choose files, select your SDA files, unlock them if encrypted, and review the accounts before importing. ODA reads the source files without moving or changing them. This copies an existing authenticator; it does not enroll a new one or transfer it off a phone.

Before you start#

Keep an independent backup of the complete SDA folder. Do not delete the original or remove Steam Guard to perform this import. Turn off automatic confirmation in both applications while checking the setup. Retain the backup after migration; matching login codes alone does not verify every credential in a maFile.

1. Prepare the vault and find your maFiles#

Install the ODA package for your device, then create or unlock its vault. Keep the ODA vault passphrase separately from your backup. It may be different from the password you used to encrypt SDA files.

They live in the maFiles folder inside your SDA installation directory, one .maFile per account, named after the SteamID — plus a manifest.json.

2. Select them#

Choose Import maFiles on the accounts screen, then Choose files… and select the account files. If your maFiles are encrypted you also need manifest.json: it holds the salt and initialisation vector, and without it an encrypted maFile cannot be decrypted at all. If you select an encrypted file and forget the manifest, the application looks for one beside the files you picked and adds it for you.

3. Unlock, if they are encrypted#

You will be asked for the passphrase you set in SDA — not your Steam password, and not the passphrase for this application's vault. It is used to decrypt the files in memory and is not stored. Select Decrypt; readable accounts then appear under Found. If no files are encrypted, skip this step.

4. Review what was found#

Nothing has been written yet at this point. The report lists each account it could read and flags anything that matters:

Check the account name and SteamID, tick only the rows you want, then select Import with the displayed account count. Existing vault accounts start unticked: choosing one permits replacing its stored copy. Back up the vault before doing that. If you opted into a proxy, a separate dialog identifies its address before import; decline it if you do not recognise the destination.

Read each Result row: imported and replaced mean the vault entry was written; skipped does not. An imported account can still have a recovery-backup warning that needs attention. Uncommitted staged files are discarded when you leave, lock the vault, or the ten-minute staging window expires.

5. Confirm the codes match#

Put ODA and a working copy of that account's authenticator side by side and compare the five-character codes within the same time window. If they differ, check the account and time synchronisation. Matching codes checks code generation at that moment, not all account functions.

Steam session and confirmations
Open Confirmations for that account and sign in when prompted. Refresh the list. A successfully loaded empty list is different from a sign-in or connection error; neither a matching code nor a file import proves a pending confirmation can be approved. Troubleshoot the session and review workflow. Do not create or approve a trade merely to finish this guide.
Recovery and backups
Keep the original backup and confirm you can read the saved recovery information. Record the recovery code outside the vault where available. Do not deactivate Steam Guard to test a code; review the recovery-code guidance.

If an import does not complete#

What ODA showsNext step
Encrypted, missing manifestChoose the files again with the matching manifest.json from the same SDA backup. A passphrase cannot replace missing encryption parameters.
Decryption failedCheck the SDA encryption passphrase and that the manifest belongs to those files. It is not your Steam password or ODA vault passphrase. Diagnose encrypted files.
Already in the vaultLeave it unticked to preserve the existing entry. Replace only when the selected file is the copy you intend to use.
Not imported or unusable secretRead the reason on that file's row. Use a known-good backup; changing the extension or inventing missing fields cannot reconstruct an authenticator.
Staging expired or vault lockedUnlock the vault and choose the files again. Nothing left only in the preview was imported.

Leaving again#

Use an account's Export button to save a standard .maFile. The file is unencrypted, even when the original import was encrypted. It contains authenticator secrets and any revocation code. Store it in a secure location and never upload it to a website or support report. ODA deliberately omits the Steam refresh token and proxy configuration: sign in again and configure routing in the destination app. Code compatibility does not guarantee that an unmaintained app's Steam login or confirmation features still work.