A backup application for the Android Open Source Project.
Kotlin
1,868
1,381 commits
updated Sep 21, 2026
A backup application for the Android Open Source Project. Needs to be integrated in your Android ROM and can not be installed as a regular app.
If you are having an issue/question, please look at our FAQ or ask a new question.
SeedVault is developed along with AOSP releases.
We update it every time Google releases a new Android version, make any changes required for basic functionality, and any improvements possible through API changes in the OS.
This means that for ROMs using SeedVault it's recommended to use the same branch as your android version
android16 is meant for usage with Android 1616,
and the version code starting with 36 - the Android 16 API versionFor older versions of Android, check out the branches.
Trying to use an older branch on a newer version may lead to issues and is not something we can support.
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.
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.ACCESS_LOCAL_NETWORK to access servers in local network with built-in WebDAV backend.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.QUERY_USERS to get the name of the user profile that gets backed up.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.FOREGROUND_SERVICE_DATA_SYNC 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 codeandroid.permission.INTERACT_ACROSS_USERS_FULL to use storage roots in other users (optional).android.permission.POST_NOTIFICATIONS to inform users about backup status and errors.Bug reports and pull requests are welcome on GitHub at https://github.com/seedvault-app/seedvault.
See DEVELOPMENT.md for information on developing Seedvault locally.
This project aims to adhere to the official Kotlin coding style.
Seedvault can be translated with Weblate, as provided by CalyxOS.
[!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 Seednaut utility allows you to decrypt and inspect your backups (version 2 backup). It also supports file backups.
The Seedvault extractor allows you to decrypt and inspect your backups from older versions of Seedvault (version 1 backup). It is currently work-in-progress.
The Seedvault backup parser allows you to decrypt and inspect your backups from older versions of Seedvault (version 0 backup). It can also re-encrypt them.
This application is available as open source under the terms of the Apache-2.0 License.
This project is primarily developed and maintained by the Calyx Institute for usage in CalyxOS.
This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
(top 24 of 34)
62 followers · starred Jun 2020
4,253 followers · starred May 2026
46 followers · starred Feb 2024
386 followers · starred Apr 2025
A backup application for the Android Open Source Project.
Kotlin
1,868
1,381 commits
updated Sep 21, 2026
A backup application for the Android Open Source Project. Needs to be integrated in your Android ROM and can not be installed as a regular app.
If you are having an issue/question, please look at our FAQ or ask a new question.
SeedVault is developed along with AOSP releases.
We update it every time Google releases a new Android version, make any changes required for basic functionality, and any improvements possible through API changes in the OS.
This means that for ROMs using SeedVault it's recommended to use the same branch as your android version
android16 is meant for usage with Android 1616,
and the version code starting with 36 - the Android 16 API versionFor older versions of Android, check out the branches.
Trying to use an older branch on a newer version may lead to issues and is not something we can support.
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.
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.ACCESS_LOCAL_NETWORK to access servers in local network with built-in WebDAV backend.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.QUERY_USERS to get the name of the user profile that gets backed up.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.FOREGROUND_SERVICE_DATA_SYNC 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 codeandroid.permission.INTERACT_ACROSS_USERS_FULL to use storage roots in other users (optional).android.permission.POST_NOTIFICATIONS to inform users about backup status and errors.Bug reports and pull requests are welcome on GitHub at https://github.com/seedvault-app/seedvault.
See DEVELOPMENT.md for information on developing Seedvault locally.
This project aims to adhere to the official Kotlin coding style.
Seedvault can be translated with Weblate, as provided by CalyxOS.
[!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 Seednaut utility allows you to decrypt and inspect your backups (version 2 backup). It also supports file backups.
The Seedvault extractor allows you to decrypt and inspect your backups from older versions of Seedvault (version 1 backup). It is currently work-in-progress.
The Seedvault backup parser allows you to decrypt and inspect your backups from older versions of Seedvault (version 0 backup). It can also re-encrypt them.
This application is available as open source under the terms of the Apache-2.0 License.
This project is primarily developed and maintained by the Calyx Institute for usage in CalyxOS.
This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
(top 24 of 34)
62 followers · starred Jun 2020
4,253 followers · starred May 2026
46 followers · starred Feb 2024
386 followers · starred Apr 2025