Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content

Seedvault not backing up all App userdata

I want to cue this info early so implementers, testers and users are aware of the current limitations of Seedvault (in e-0.18) for cloud-backup, device2device transfer and possible changes to come

Summary

using Seedvault for Backup, not all App userdata is backed up due to Apps choosing to opt out of backup in their manifest. Android makes a difference if cloud-backup or device2device (local) backup targets are used in the future.

The problem

Steps to reproduce

Create local Seedvault backup, then factory reset. Restore backup

What is the current behavior?

Some Apps userdata and settings are not restored

What is the expected correct behavior?

As in a true Backup, all Apps userdata and its settings restored

Technical informations

Apps that decline the allowBackup in their manifest won’t have their userdata backed up currently (though their .apks).

Seedvault discusses this at "Add an option to disregard the allowBackup option for Android 11" #165 and the adjacent "App Doesn't Allow Backup" #81. It became clear that for local backup, the option will ignored from Apps targeting the Android 12 API onward.

Specifying android:allowBackup="false" does disable backups to Google Drive, but doesn’t disable D2D transfers for the app.

There can be valid reasons to disallow (own backup and sync mechanisms, privacy), but user should have the decision. More explanation see the FAQ.

Apps that I use and decline userdata backup are plenty: Telegram, Signal, DeltaChat, Firefox, DAVx5 (/e/'s AccountManager). It can help in a fast restore to not needing resetup accounts and credentials.

This is not a exclusive /e/ issue, but all custom roms using Seedvault.

Solutions

Allow full App userdata backups device2device. If feasible backport change to ignore allowBackup option to lower Android Versions for a migration path changing releases from Pie to Q to R.

/related #1678 (closed)

Edited by tcecyk