this post was submitted on 26 Oct 2023
32 points (92.1% liked)

Privacy

31997 readers
1010 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

Chat rooms

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS
 

Hello all,

Currently I am debating whether or not to switch to a (preferably private/secure) custom rom on my device, however said device had been in use for a while now.

My question is the following: For those who have been in this situation, how have you dealt with the existing data on the device in terms of migration? After all, switching ROM usually involves a factory reset. Creating backups of everything is a bit tedious and timeconsuming and there is always the possibility of forgetting something.

all 26 comments
sorted by: hot top controversial new old
[–] TwilightKiddy 11 points 1 year ago

As far as I know, there is no way around making a backup. Titanium Backup may help with moving your apps, you'll probably have to deal with other files with your favourite file manager.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (2 children)

I use DivestOS which is based on LineageOS and these have SeedVault integrated in it as a backup solution, but since it doesn’t work well I’ll tell what I do (If your OS has Google’s backup solution, it works well to a certain extent, but there are times when it cannot restore things like call log/sms even though it backs them up).

  • I backup apps, SMS/MMS and call logs with Swift Backup
    • Since I don’t have many applications, I examine each application one by one to see which data can be transferred and in what way.
    • I backup data of the apps like Aegis, NewPipe etc. to their respective Android/media folder, which means I basically export Aegis’ backup file into /storage/emulated/0/Android/media/com.beemdevelopment.aegis/backups, with this way, I can back up and restore the media along with the APK of the application using Swift Backup. If you find this step unnecessary/complicated, you can create a folder called Backups anywhere and put all your backup files there.
  • I backup files and folders with Syncthing, it basically sync’s 2 directories between 2 devices and I sync all my folders into my PC with some ignore rules (for example, to avoid synchronizing the .thumbnails folder unnecessarily). Also if you stashed all your backups/exports into some folder, it will also sync.
  • Technically there is no need for a non-APK backup for applications that have their own cloud based backup mechanism or are cloud-based.

When I take these backups, I can completely restore the phone to its previous state even after factory settings. Of course, for a cleaner start, sometimes I don’t sync some folders back or don’t reinstall some applications. To do this the way I want, I reinstall and restore data of the applications one by one.

[–] [email protected] 1 points 1 year ago (1 children)

that's all great, but Swift Backup requires you to have a rooted device first.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

I'm skimming this thread but, uh

⚠️ Root required for backup & restore

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Yes, I wish you had quoted the entire text.

Data

The private app data in /data/data/ or /data/user/*/ that stores your app preferences, login info, databases, etc. This is the most important part to restore apps potentially with their state preserved.

Requirements:

⚠️ Root required for backup & restore

⚠️ Shizuku mode (ADB access) cannot read/write at these path

Nowhere in my instructions did I say that I used this feature (“backing up app data”) or that it should be used. You do not need root to backup SMS/MMS & call logs & APKs & external data (Android/data) / expansion (Android/obb) / media (Android/media) of the apps installed… I have also stated many times that I use the in-app backup/export method for application data.

[–] [email protected] 1 points 1 year ago (1 children)

Right sure, but everyone else uses backups for the app data. I can install apps in a couple minutes, but the data takes ages, if the app even offers a built-in ability at all. It'd be like saying 'I have backups' but just of your computers operating system and programs, but no personal documents or data. It's technically a backup, and it's useful for someone with some use-case, but it's not the general definition of a 'backup'.

To quote your quote of my quote:

This is the most important part to restore apps

I have also stated that I am "skimming this thread", so getting all defensive is hilarious.

[–] [email protected] 1 points 1 year ago
[–] [email protected] 0 points 1 year ago

I'd add SMS Backup & Restore is a great backup tool for SMS/MMS, and doesn't require root to backup. I've been using it since about 2010, and still have most of my messages from that time (saved as text files that can be exported).

It may require root to restore, but I don't think so anymore.

[–] [email protected] 4 points 1 year ago

If you want to change your ROM, you're going to need to do it back up, there's no way to get around that

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

The only secure phone operating systems are either grapheneOS or stock. All the others usually are behind security updates.

For migration, I would just use a USB C drive and transfer files.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

Uhm, not necessarily. First of all, aosp should get security updates at the same time as graphene (or earlier, which is more likely); then there are non-pixel phones (yuck, I know) that aren't supported by graphene guys, and when those go eol, custom roms often keep pushing [software] security updates for some time at least (source: this message is sent from a 1+5t running DivestOS based on android 13); finally, stock roms may arguably ('cause vendors introduce bloatware, which can potentially be used in ways not intended by its developers) be more secure, but they suck at privacy department in like 99 of 100 cases

[–] [email protected] 1 points 1 year ago (1 children)

AOSP does get security updates first because GrapheneOS is based on unmodified AOSP. They are quick to port over updates though and they have extra features like hardened malloc and better user profile support.

Non pixel phones aren't secure because GrapheneOS doesn't support them. They aren't secure because they either don't have secure elements, broken verified boot, or don't properly support alternative operating systems. This makes phones like OnePlus, Fairphone, etc not secure enough for GrapheneOS.

DivestOS I would say is the least worst option when it comes to supporting EoL phones. They're at least honest about what they do and don't provide unlike what other OSes do. On their website, they tell you they aren't a secure OS and they can only try their best to reduce harm on an EoL device. DivestOS Security.

[–] [email protected] 2 points 1 year ago

Pretty much agreed. Although, onepluses used to be quite good before they decided to stop allowing setting custom vb keys.

What I wanted to say is that security is a spectrum, and stock roms aren't necessarily the best.

P.s. other roms sometimes use stuff like hardened malloc as well (ik that its developed by graphene, tho) yet none (except graphene itself, ofc) I've personally tested have storage (and as of recently cobtact) scopes which is quite sad.

[–] [email protected] 2 points 1 year ago (1 children)

I fear that everything around custom ROMs and data security comes around as tedious;) Creating backups may be one of the less bad ones tho

[–] [email protected] 0 points 1 year ago

Lol, so true.

No two phone setups have had the same process. Similar, but not the same.

I've written Project plans to ensure nothing gets missed. It's nuts.

[–] [email protected] 2 points 1 year ago (1 children)

As installing a custom ROM typically involves using ADB anyways, I would suggest that you back up your device normally (copy files over to a folder on your computer), and then use the built-in backup function in ADB to make a secondary complete backup.

Also, depending on your threat model, you might not want to move any files from your old installation to your new one. Its possible that the old files, applications, and linked accounts could compromise your new installation privacy / security. I also generally enjoy starting with a clean slate after a new OS install.

[–] [email protected] 2 points 1 year ago (1 children)

Huh, why have I never thought of checking that. It seems obvious that you can do that with ADB, but it never came to mind.

Thank you

[–] [email protected] 2 points 1 year ago (2 children)

ADB backup must be supported by an app for it to work, sadly. So not all app devs checked the box saying "support ADB backup". It's a bit hit and miss.

[–] [email protected] 1 points 1 year ago (1 children)

I stand corrected, its been quite a few years since I needed to use the ADB backup so I guess back then it was more complete.

Found a good detailed explanation here.

Shame that it seems to be getting phased out for cloud backup solutions. Makes sense that google would want to control more of your data and make you pay for it.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

As much as the whole "no local data, everything in the cloud" frustrates me, there is a logic to it: if everything is server-based, losing/destroying a phone isn't a problem. (Well, thats the logic we can use, Google's logic is "we want your data").

For me then, the answer becomes build more self-hosting, then getting a new phone is simply reinstalling my self-host clients and logging in.

So my short-term solution is to sync everything to home with Syncthing, using apps local backup if it supports it (some apps will backup/export to a folder on the phone), or just ensuring important data is in folders that get sync'd.

Long term is to switch to self-hosted apps as much as possible.

[–] [email protected] 1 points 1 year ago (1 children)

You could root your OS and get a full backup. Otherwise, ADB (which doesnt backup app apks iirc)

[–] [email protected] 6 points 1 year ago

Unless the bootloader is already unlocked you won't be able to root without a factory reset first. It's a security feature, though an annoying one.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago)

For my non-rooted phones, I use SMS Backup & Restore to backup SMS/MMS. It runs on a schedule.

I also use Syncthing-Fork to keep all my personal data (such as SMS Backup, downloads, whatever) synchronized to a desktop at home, which has its own backup service.

I also use Syncthing to keep all photos synced to my laptop, so I can easily review and manage them (I have it set so changes/moves/deletions sync back to the phone).

https://github.com/Catfriend1/syncthing-android