Inspect, verify and extract files from Seedvault backups.
Quick Start • CLI Examples • Development notes
Various Android distributions like CalyxOS, GrapheneOS, iodéOS, LineageOS and /e/OS integrate Seedvault as their main backup mechanism. There are currently no official tools for inspecting such backups off-device. To help fill that gap:
Seednaut is a desktop command-line and terminal UI utility that lets you
- Verify that backups are intact
- Explore backup contents before relying on them
- Recover specific files without a full device restore
- Unpack app backup data (.tar, .db) into accessible formats
It runs purely offline and supports current Seedvault backup formats (v2 app backup and v0 file backup formats). For older backups you can try some of the other 3rd party tools.
Prerequisites:
Seedvault backups are usually stored in a directory named .SeedVaultAndroidBackup. Depending on your backup configuration you can copy it
- from a phone
- from a USB drive
- from Nextcloud/WebDAV storage
Note: some file managers hide directories beginning with . by default.
You will also need the 12-word mnemonic phrase that was used to create the backup.
Choose one of the following methods:
If you use pkgin:
pkgin install seednautOr via pkg_add:
pkg_add seednautBuild from source using pkgsrc:
cd /usr/pkgsrc/sysutils/seednaut # Adjust pkgsrc path as needed
make installcargo install seednautgit clone https://github.com/Baltram/seednaut && cd seednaut
cargo build --releaseGo to the Releases page and download the file matching your operating system:
| Platform | File match |
|---|---|
| Linux (Intel/AMD) | x86_64-unknown-linux-musl |
| Windows (64-bit) | x86_64-pc-windows-msvc |
| macOS Apple Silicon | aarch64-apple-darwin |
| macOS Intel | x86_64-apple-darwin |
Running Seednaut without arguments starts the interactive TUI mode. It guides you through the steps of locating the backup, entering your mnemonic and performing the inspection/verification/extraction. Depending on your installation method, enter seednaut or ./seednaut in a shell.
On Windows, you can simply double click seednaut.exe or drag&drop your backup onto it.
Seednaut can also be used directly via the following commands.
List snapshots:
seednaut list /path/to/.SeedVaultAndroidBackupInspect snapshot contents:
# All snapshots
seednaut inspect /path/to/.SeedVaultAndroidBackup
# Only specific snapshots (e.g. indices 1 and 3 from the output of the list command)
seednaut inspect /path/to/.SeedVaultAndroidBackup 1 3Verify cryptographic integrity of snapshots:
seednaut verify /path/to/.SeedVaultAndroidBackupExtract files:
# Basic extraction
seednaut extract /path/to/backup --out ./recovered
# Also unpack app backup data or, in case of K/V app backup, convert to JSON
seednaut extract /path/to/backup --export --out ./recovered
# Use regex to selectively extract matching package names and file paths
seednaut extract /path/to/backup --match "IMG_2026.*\.jpg$" --out ./recoveredPipe mnemonic via stdin:
echo "$MY_MNEMONIC" | seednaut verify /path/to/backupRun seednaut help or seednaut help <command> for full CLI documentation.
Generated man pages are available under man/ and can be regenerated with cargo run -p xtask -- man. Similarly, protobuf bindings can be regenerated with cargo run -p xtask -- proto.
AI coding tools were used during development. Generated code, architecture, crate selection were manually reviewed and iterated on extensively before release.
Please note that, while developed with security in mind, Seednaut has not undergone professional security auditing and is provided on a best-effort basis.
Licensed under either of
- Apache License, Version 2.0
- MIT license
at your option.