Merge branch 'master' of https://github.com/seedvault-app/seedvault into android11-11-2.2-merge

* 'master' of https://github.com/seedvault-app/seedvault: (50 commits)
  Bump version to 11-2.2
  Changelog: Update till 11-2.1
  Restrict exported components
  Allow launching restore through a dialer code
  Add expert settings with an option for unlimited quota
  Prevent screenshots of recovery code
  Use clearer more generic strings
  Ask for system authentication before storing a new recovery code
  Split up validating, verifying and storing of recovery code
  Disable Nextcloud restore when not installed and no store available
  Disable spell-checker on recovery code input
  Add warning for third-party tools to README
  document potential information leakage through the long-lived SQL caches
  Provide an overview over key derivations
  Compares kotlin-bip39 library with bitcoinj library
  Link FAQ in Readme to make it more discoverable
  Move LocalContactsBackup to product partition
  Add newline at the end of all files
  Improve .editorconfig setup
  Don't backup on metered networks
  ...

Conflicts:
	app/src/main/res/values-de/strings.xml
	app/src/main/res/values-es/strings.xml
	app/src/main/res/values-pt/strings.xml
	app/src/main/res/values-zh-rCN/strings.xml

Conflicts resolved by simply checking out translations from android11,
since they are not modified in master at all.

Change-Id: I0a83c72dbc78b38985b46f9b75ce92e27acd2e03
tree: eed6ea9e4d0574cc761498aeca84e827e8151a03
  1. .github/
  2. .idea/
  3. app/
  4. contactsbackup/
  5. gradle/
  6. libs/
  7. storage/
  8. .editorconfig
  9. .gitignore
  10. Android.bp
  11. build.gradle
  12. CHANGELOG.md
  13. gradle.properties
  14. gradlew
  15. gradlew.bat
  16. LICENSE
  17. logcat-verbose.sh
  18. permissions_com.stevesoltys.seedvault.xml
  19. README.md
  20. settings.gradle
  21. whitelist_com.stevesoltys.seedvault.xml
README.md

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 11

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

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.