2020-12-03 15:41:45 +01:00
<!--
2020-12-21 14:08:50 +01:00
SPDX-FileCopyrightText: 2020, Torsten Grote
2020-12-03 15:41:45 +01:00
SPDX-License-Identifier: Apache-2.0
-->
2019-10-28 21:57:47 -04:00
# Seedvault
2020-11-10 16:34:40 -05:00
[](https://github.com/seedvault-app/seedvault/actions?query=branch%3Amaster+workflow%3ABuild)
2018-11-13 18:12:05 -05:00
2017-09-20 22:42:15 -04:00
A backup application for the [Android Open Source Project ](https://source.android.com/ ).
2017-10-12 22:56:47 -04:00
## Features
2019-11-30 14:32:39 -05:00
- 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.
2017-10-12 22:56:47 -04:00
2020-07-27 10:48:15 +02:00
## Requirements
2020-09-17 09:06:48 -03:00
- Android 11
For older versions of Android, check out [the branches ](https://github.com/stevesoltys/seedvault/branches ).
2020-07-27 10:48:15 +02:00
2017-10-12 22:56:47 -04:00
## Getting Started
2019-10-28 21:57:47 -04:00
- Check out [the wiki ](https://github.com/stevesoltys/seedvault/wiki ) for information on building the application with
2017-10-12 22:56:47 -04:00
AOSP.
2017-11-09 00:08:29 -05:00
## What makes this different?
2019-12-20 13:55:38 -03:00
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.
2017-10-12 23:54:55 -04:00
2019-06-12 09:19:38 -03:00
## Permissions
2019-11-30 14:32:39 -05:00
* `android.permission.BACKUP` to back up application data.
2020-10-19 15:44:36 -03:00
* `android.permission.ACCESS_NETWORK_STATE` to check if there is internet access when network storage is used.
2019-11-30 14:32:39 -05:00
* `android.permission.MANAGE_USB` to access the serial number of USB mass storage devices.
2020-09-02 14:37:02 -03:00
* `android.permission.WRITE_SECURE_SETTINGS` to change system backup settings and enable call log backup.
2020-09-10 09:26:55 -03:00
* `android.permission.QUERY_ALL_PACKAGES` to get information about all installed apps for backup.
2019-12-20 13:55:38 -03:00
* `android.permission.INSTALL_PACKAGES` to re-install apps when restoring from backup.
2020-10-21 17:19:30 -03:00
* `android.permission.MANAGE_DOCUMENTS` to retrieve the available storage roots (optional) for better UX.
2019-06-12 09:19:38 -03:00
2019-11-30 14:32:39 -05:00
## Contributing
2020-09-24 15:45:59 -03:00
Bug reports and pull requests are welcome on GitHub at https://github.com/stevesoltys/seedvault.
This project aims to adhere to the [official Kotlin coding style ](https://developer.android.com/kotlin/style-guide ).
2019-06-12 09:19:38 -03:00
2020-10-05 10:41:07 -03:00
## Third-party tools
The [Seedvault backup parser ](https://github.com/tlambertz/seedvault_backup_parser )
allows you to decrypt and inspect your backups.
It can also re-encrypt them.
2017-09-20 22:42:15 -04:00
## License
2020-12-14 14:11:19 +01:00
This application is available as open source under the terms of the [Apache-2.0 License ](https://opensource.org/licenses/Apache-2.0 ). However, some elements are being licensed under CC0-1.0. For accurate information, please check individual files.
## Trademark Policy
Seedvault allows Android users to store their phone data without relying on proprietary cloud storage, with options ranging from a USB flash drive to a remote self-hosted cloud storage alternative such as Nextcloud. The use of Nextcloud logo by Seedvault is meant to refer to Nextcloud servers users can connect to and perform their backups. Seedvault is not a Nextcloud partner and is not affiliated with Nextcloud GmbH.