A backup application for the Android Open Source Project.
Find a file
Torsten Grote d72bee523b Mock ApplicationInfo
as it now calls the native SystemClock.uptimeMillis() method which is hard to mock
2022-08-23 18:30:55 +05:30
.github/workflows Add newline at the end of all files 2021-08-25 18:25:00 +03:00
.idea Always add a storage option placeholder for DavX5 2022-01-13 06:32:05 +05:30
app Mock ApplicationInfo 2022-08-23 18:30:55 +05:30
contactsbackup gradle: Enable java 11 language features 2022-08-23 14:43:34 +05:30
gradle gradle: Bump kotlin and dependencies version for Android 13 2022-08-23 14:43:33 +05:30
libs First version bumps for Android 12 2021-10-13 16:25:41 +05:30
storage gradle: Enable java 11 language features 2022-08-23 14:43:34 +05:30
.editorconfig Improve .editorconfig setup 2021-08-25 18:24:53 +03:00
.gitignore Add user dictionary to repo for spellchecker 2021-07-05 20:08:29 +05:30
Android.bp {seedvault|storage}: Add explicit dependencies for kotlin coroutines 2022-08-23 14:43:34 +05:30
build.gradle gradle: Bump SDK versions to 33 2022-08-23 14:43:34 +05:30
CHANGELOG.md Android 12 - 12-3.0 2021-10-13 18:06:30 +05:30
gradle.properties Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
gradlew Add experimental support for standalone builds 2018-11-07 22:04:37 -05:00
gradlew.bat Add experimental support for standalone builds 2018-11-07 22:04:37 -05:00
LICENSE Add newline at the end of all files 2021-08-25 18:25:00 +03:00
logcat-verbose.sh Add script to turn on verbose logging for backup related tags 2020-10-23 07:37:16 -03:00
permissions_com.stevesoltys.seedvault.xml Allow secondary user backup to USB 2022-04-29 23:43:09 +05:30
README.md Update README 2022-08-19 09:05:47 -03:00
settings.gradle Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
whitelist_com.stevesoltys.seedvault.xml Allow storage backups to launch foreground service from background 2021-10-13 16:25:41 +05:30

Seedvault

Build

A backup application for the Android Open Source Project.

If you are having an issue/question, please look at our FAQ.

Components

Features

  • Backup application data to a flash drive.
  • Restore application data from a flash drive.
  • User-friendly encryption using a mnemonic phrase (BIP39).
  • Automatic daily backups that run in the background.

Requirements

  • Android 13

For older versions of Android, check out the branches.

Getting Started

  • Check out the wiki for information on building the application with AOSP.

What makes this different?

This application is compiled with the operating system and does not require a rooted device for use. It uses the same internal APIs as adb backup which is deprecated and thus needs a replacement.

Permissions

  • android.permission.BACKUP to back up application data.
  • android.permission.ACCESS_NETWORK_STATE to check if there is internet access when network storage is used.
  • android.permission.MANAGE_USB to access the serial number of USB mass storage devices.
  • android.permission.WRITE_SECURE_SETTINGS to change system backup settings and enable call log backup.
  • android.permission.QUERY_ALL_PACKAGES to get information about all installed apps for backup.
  • android.permission.INSTALL_PACKAGES to re-install apps when restoring from backup.
  • android.permission.MANAGE_EXTERNAL_STORAGE to backup and restore files from device storage.
  • android.permission.ACCESS_MEDIA_LOCATION to backup original media files e.g. without stripped EXIF metadata.
  • android.permission.FOREGROUND_SERVICE to do periodic storage backups without interruption.
  • android.permission.MANAGE_DOCUMENTS to retrieve the available storage roots (optional) for better UX.
  • android.permission.USE_BIOMETRIC to authenticate saving a new recovery code
  • android.permission.INTERACT_ACROSS_USERS_FULL to use storage roots in other users (optional).

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/seedvault-app/seedvault.

This project aims to adhere to the official Kotlin coding style.

Third-party tools

⚠ WARNING: the Seedvault developers make no guarantees about external software projects. Please be aware that disclosing your secret recovery key to other software has security risks.

The Seedvault backup parser allows you to decrypt and inspect your backups. It can also re-encrypt them.

License

This application is available as open source under the terms of the Apache-2.0 License.