Our app repository client demonstrates that we're capable of building a great app fulfilling a ton of our requirements well. To do this for a backup app, it will take us dedicating around 2 experienced developers to it for a couple months to get it written and then continuing to put work into it for around a year for it to reach the point that it's a great app. Our app repository client was quite usable from early on but it wasn't really a great app until the recent rewrite and major improvements. There are no longer any pressing issues for it. It's in a great state and just works. People don't really think about it much because it does the job that it's meant to do well and there's no need to fiddle with it. The same thing should apply to the backup app.
SeedVault video?
GrapheneOS It doesn't need to support SAF or cloud storage since people can simply grant use a cloud storage app and tell it to sync the backup directory.
This means people wanting to do cloud backups need to store app data twice.
Seed vault is fussy , see my post is the attached thread if you still have trouble backing up seedvault.
https://discuss.grapheneos.org/d/6025-megathread-first-hand-experiences-with-seedvault
- Edited
All I got is...finally! I got all proof I needed Seedvault is a dumpster fire kept around to confuse and destroy users trust.
I've been advocating it's complete removal for months now as Seedvault is about on par with downloading the apps 1 by 1 manually. Nothing more. Well..it'll happily gobble up 30+ gb or more of storage space given your selected settings, then restore less than 1% of it if that
Skyway as a matter of fact I've tried all three solutions.
I've had it directly on a USB from start to finish
I've had it on device and then moved to USB when storage gets full
I've also kept it entirely on device from start to finish
In all three scenarios nothing will restore properly, if it does, it's just the app
The question is, why not start by removing all entries of Seedvault from GrapheneOS. It gives a false sense of security that we have backups which doesn't work. We will spend many hours trying to restore when it doesn't work. (those hours can instead be spent by taking proper manual backups meanwhile).
We might as well be without Seedvault completely and only then users are forced to take full backups of their own without trusting or cutting corners by using Seedvault and it's false sense.
I just experienced it myself now with a second phone, and I found out I could test one by one by removing app (reinstall) and Seedvault will ask for backup folder to restore its app data. Out of 20 apps it installed 3 only, and of course the 3 I didn't care about.
Seedvault is just increasing attack surface as it is now with no real use of it. Better remove it completely.
Since this is also a highly requested topic we would love to see donation towards specific tasks.
Like @GrapheneOS mentioned earlier it would take 2 proper devs about 3 months of work to create a good replacement. Breaking that salary down into a dollar number you could then raise a GoFundMe page where once the goal is reached it could be used to hire devs or outsource it towards this specific use only.
With an ever increasing userbase and how users would appreciate having complete backups of their phones I think such funding round would be a very easy target to reach.
Also migrating to a new phone should not be a manual copy / paste per application / settings experience.
(grapheneOS -> grapheneOS, nothing special just from pixel 4-> pixel 8).
- Edited
As I also just switched phone to a Pixel 8 Pro, Seedvault didnt work for me - it would only backup around a quarter of my apps. In the end I installed everything that didnt gave a dedicated backup functionality manually, which took around 6 hours.
I would love to see some OS functionality that makes it easier, and would also contribute to that financially.
Another option for me would be to have some sort if descriptive configuration where it would be easy to deploy a defined state to new hardware (pet vs. cattle). E.g. ssomething of the likes of NixOS, CoreOS or Ansible.
Keep in mind, that i do not know i this would be technically possible on GOS.
This is ok for me, but i would like to install grapheneos on my parents pixel phones, but backup and restore is atm much simpler and faster with stock google sadly.
I think intrinsically privacy focused users find a way to make it work, but it would help to broaden the appeal for GOS to less tech savvy users to have an easy backup and restore functionality.
kruton I think intrinsically privacy focused users find a way to make it work, but it would help to broaden the appeal for GOS to less tech savvy users to have an easy backup and restore functionality.
I heartily agree.
And I believe the project leaders see that ( GrapheneOS GrapheneOS ).
But I suspect the glitches from Google's A14 QPR1 and QPR2 drops, plus the DRAM-zeroing issue, might be slowing this particular thing down.
- Edited
For everyone here... I have actually had great success with Seedvault on both my previous Pixel 7 Pro and my current Pixel 8 Pro.
That include storage backups that totalled over 130GB! Lately it has had some issued taking D2D backups, which it has just recently implimentd. It's a switch in "expert settings" if you click on the three dots in the upper right hand corner after going to the Backup screen in System in Settings. There is also an "Ignore App Quota" toggle I recommend toggling on. For me I was unable to take a backup of F-Droid because it was on since it's app data was almost a GB. Now I have multiple apps that are that large, and it backs up some of them (like Google Photos) but others it doesn't (Termux). D2D backups are very new and are marked as an ecperimental feature, so that is fair enough I guess!
I have done root backups a lot in the past 6 months. Only after talking with @GrapheneOS has he opened my eyes and convinced me that even how I was doing my root, with a locked bootloader and full verified boot working (totally not how all other root solutions work!) it is still a massive security risk, and I've moved away from rooting persistently. Now I sideload a temporary root onto my phone, since I switched to building 2 kernels for each GrapheneOS update, one with root integrated into the kernel (not Magisk) and one with a standard shusky kernel, and when I need to update backups or restore, or block trackers in apps I sideload the root OTA update, do my tasks, and then sideload the other OTA to remove root, all without data loss.
The current backup and restore of Seedvault is indistinguishable in function to a good root-based backup solution, except it is a but unstable. You may need to run it a few times in D2D backup mode if it says "backup failed." It will finish, and if you have trouble making it finish, exclude some apps! You should exclude apps that won't restore properly anyways, that would be apps that make use of Android's keystore. They will likely crash upon opening after being restored by Seedvault, or any root backup solution that restores the data to them on the /data/data/ partition. Seedvault is just as effective, or shows the same lack as other well regarded backup apps, and I really like using it!
Oh yeah, you need to look at your notification shade to se the progress and the status of the running backup. It will also usually say backup finished or backup failed there. If it was running and then it is gone, then look at the backup status which is just clicking on backup status under Backup in System in Settings. If Contacts were not backed up, and their are still a lot of apps that show "waiting for backup" it likely failed. Run it again. If Seedvault was running and then it says it crashed, then the backup running notification will just stay there forever, until you restart the phone.
If you do and it crashes again, you need to just re-initialize the backup USB or external drive. It says older backups will be deleted, but they never have been in my experience. It will just start a new backup line, by that I mean it wont's append to the last backup, it will start a new backup (when you go to restore it will be a separate backup you can restore from). I use a SanDisk external USB drive, the faster and higher quality the USB stick or drive, the better it works with Seedvault! A Samsung BAR USB drive works great, so do the SanDisk series of USB C drives. The Rage Lite series of USB drives aren't that great, but the more expensive Rage series are a bit better, not as good as the Samsung BAR drives though. I ordered a few of those because they work very well, and it's worth it to initialize a few of them at times, then re-initialize your main backup volume to continue the updates. That way you have multiple Seedvault backups in case something happens to one of them!
In my guide for new users of GraphneneOS there is a section on Backup and Restore that probably is worth a read. It has large headings so you can find it easily! I would recommend the app App Manager from GitHub to backup just the APKs of the apps that you exclude because they won't restore correctly because of Android Keystore. (Proton apps, financial apps) Then after reset you can restore form Seedvault in the setup wizard, get back all your system settings, contacts, SMS and call logs.
Be aware, contacts are only saved if they are "device contacts", not Google contacts! To check, open the Contacts app the comes with GrapheneOS and on the right hand side you should see Device and Google. If they are Google contacts, just export all of them, and then import the same file as device contacts. From then off they will be backup up and restored by Seedvault as device contacts!
Oh yeah, two more things... Test out your restore on an empty profile after you made the backup. Once you see a bunch of apps restore correctly you can probably shut your phone down by holding power for >30 seconds, and you know that there isn't data corruption. I got it once and never after that time, might have just been lucky, or it's not that common, who knows. I've had good luck with Seedvault and I like it. I think you just need to have patience and it is a good app! Last thing, when you look at the backups to restore, it only looks like "backup from (your phone) (made X hours/days ago)" Might be hard to distinguish different profiles if you need to back up many.
Hope this helps, if I missed anything please ask!