seednaut 0.1.1

A command-line utility for inspecting, verifying, and extracting Seedvault Android backups
seednaut-0.1.1 is not a library.

Seednaut

Inspection, verification, and extraction utility for Seedvault backups.


Various Android distributions like CalyxOS, LineageOS, /e/OS and GrapheneOS 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 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.

Animated Seednaut demo


Quick start

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.

1. Get Seednaut

You can either:

A) Install from crates.io (Rust >=1.88)

cargo install seednaut

B) Build from source (Rust >=1.88)

git clone https://github.com/Baltram/seednaut && cd seednaut
cargo build --release

C) Download a prebuilt binary

Go 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

2. Run Seednaut

Running Seednaut without arguments enters an interactive mode. It guides you through the steps of locating the backup, entering your mnemonic and performing the inspection/verification/extraction.

Linux/macOS:

chmod +x ./seednaut
./seednaut

Windows:

.\seednaut.exe

or just double click the .exe or drag&drop your backup onto it.

CLI Examples

Seednaut can also be used directly via the following commands.

List snapshots:

seednaut list /path/to/.SeedVaultAndroidBackup

Inspect 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 3

Verify cryptographic integrity of snapshots:

seednaut verify /path/to/.SeedVaultAndroidBackup

Extract 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 ./recovered

Pipe mnemonic via stdin:

echo "$MY_MNEMONIC" | seednaut verify /path/to/backup

Run seednaut help or seednaut help <command> for full CLI documentation.

Development notes

Seednaut ships with pre-generated protobuf bindings. Maintainers can regenerate bindings with cargo run -p xtask after changing .proto files.

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.