Talteen
Talteen is your all-in-one backup companion for Sailfish OS. Whether you are switching devices or just playing it safe, Talteen bundles your most important data into a single, secure archive. Easily back up your messages, call history, photos, media, and even your app settings. Everything is locked behind strong encryption, giving you total peace of mind that your personal data stays yours.
Available on OpenRepos.
Donate
The SailfishOS Community Team is on Liberapay:
Features
- Save your messages, call history, app data, app grid layout, and media.
- Easily move your data to a new device by copying the backup file via an SD card or over Wi-FI.
- Lock your archives with standard AES-256 encryption.
- Built on standard Linux formats (tar, openssl) so you can extract backups on any PC.
Under the hood
Talteen acts as a frontend for:
- Archiving:
tar - Compression:
xz - Encryption:
- v2 (default):
opensslEVP (AES-256-GCM+PBKDF2-HMAC-SHA256) - v1 (legacy restore only):
openssl enc(AES-256-CBC+PBKDF2)
- v2 (default):
- A custom
QTcpServer/QTcpSocketimplementation to facilitate device-to-device transfers over the local network.
Archive structure
The app creates a standard tar archive with extension .talteen holding two files:
payload.enc: encrypted, XZ-compressed payload stream containing the actual files and folders.manifest.yaml: human-readable metadata used to determine the backup format and categories before decrypting.
v2 format (current default)
manifest.yaml includes:
version: "2.0.0"encryption: "openssl-aes-256-gcm"kdf: "pbkdf2-hmac-sha256"kdf_iterations,salt_b64,iv_b64,tag_b64,aad
v2 integrity is provided by AES-GCM authentication (tag_b64), so no separate payload checksum is used.
v1 format (legacy)
Legacy backups use:
version: "1.0.0"- OpenSSL AES-256-CBC + PBKDF2
checksumfield inmanifest.yaml
Manual backup extraction
The backup files are saved to:
- Internal storage:
/home/defaultuser/.local/share/harbour-talteen - SD card:
/run/media/sdcard/harbour-talteen
You can extract legacy v1 (AES-256-CBC) backups on any Linux terminal without using the app:
- Unpack the container:
tar -xf backup_name.talteen - Decrypt and unpack the payload:
openssl enc -d -aes-256-cbc -pbkdf2 -in payload.enc | tar -xJv
Manual v2 backup extraction
For v2 backups (encryption: "openssl-aes-256-gcm"), use the helper script in this repo:
scripts/decrypt-v2.sh -i /path/to/backup.talteen -o /path/to/output
If -p is omitted, the script prompts for the password:
scripts/decrypt-v2.sh -i backup.talteen -o restored-data
You can optionally pass a password directly (less secure in shell history):
scripts/decrypt-v2.sh -i backup.talteen -o restored-data -p 'your-password'
The script validates v2 manifest fields (kdf_iterations, salt_b64, iv_b64, tag_b64, aad) and then decrypts with OpenSSL EVP AES-256-GCM before extracting the payload.
Prerequisites
The script compiles a small C++ helper on first run. Having the openssl CLI installed is not enough; you also need a C++ compiler and OpenSSL development headers:
g++(or another compiler via theCXXenvironment variable)- OpenSSL dev headers and libcrypto
Install on common Linux distros:
# Debian / Ubuntu / Linux Mint
sudo apt install g++ libssl-dev
# Fedora / RHEL
sudo dnf install gcc-c++ openssl-devel
# openSUSE
sudo zypper install gcc-c++ libopenssl-devel
Support
If you like my work and want to buy me a beer, feel free to do it!
Translate
Request a new language or contribute to existing languages on the Transifex project page.
Credits
- Thanks to flypigahoy for his ispiring blog post about copying settings and files over a new device.
- Thanks to jgibbon for the icon and the cover graphics.
- Apps backup by topias.
- Thanks to all the testers for being brave and patient.
AI Disclosure
Talteen is based on a previous project of mine My Data Transfer, completely authored, designed and developed with no AI input.
Gemini Pro was used in Talteen to:
- Reimplement the logic in C++.
- Implement the Network transfer.