Backups (.eutbackup)
Eutepio has no cloud, so backups are on you.
.eutbackup is how you carry the whole library away in a single file — by hand, or automatically every day.⚠
Lose the device without a backup and you lose the library. Sync is not a backup — it only carries shared fields, and only what somebody asked for.
Why back up
- Moving to a new phone
- A safety net before a bulk import or a restore
- Moving the library between mobile and desktop
- An archive before you clean the library up
You create one in Settings → Data backup → Create backup.
What the backup contains
Unlike sync, this is a complete copy including personal data:
| Content | In the backup |
|---|---|
| Songs — shared fields (title, artist, key, BPM, ChordPro…) | ✔ |
| Songs — personal fields (notes, transposition, font size, auto-scroll speeds) | ✔ |
| Setlists including breaks and notes | ✔ |
| Hand-drawn annotations | ✔ |
| User profile and settings | ✔ |
| A song's MIDI command | ✘ — stays on the device only |
| PDF attachments | ✔ |
| MusicXML attachments | ✔ |
| Images | ✔ |
| Deleted records (soft-deleted) | ✔ |
File structure
.eutbackup is an ordinary ZIP archive. Rename it to .zip and you can open it with anything:text
manifest.json — bundle type, schema version, item counts, date
songs.json — songs, shared and personal fields
setlists.json — setlists, breaks, notes
annotations.json — hand-drawn annotations
user_profile.json — profile and app settings
songs/*.cho — every song, also as a readable ChordPro file
pdfs/ — PDF attachments
musicxml/ — MusicXML attachments
images/ — image attachments
README.txt — description of the bundle contents
Binary attachments are stored by a fingerprint of their content, so the same file used by five songs takes up space in the backup only once.
ℹ
The
songs/ folder with ChordPro files is there on purpose. Even if the app one day ceased to exist, your songs would remain readable in a plain text format.Automatic backup
Settings → Automatic backup. Currently Android only; on desktop the section appears with a note that the feature is not there yet.
Turn it on, pick a folder, and the app writes a backup into it once a day.
| Option | What it does |
|---|---|
| Pick a folder | Opens the system folder picker |
| How many backups to keep | Older ones are deleted automatically, 14 by default |
| Back up now | Creates a backup immediately |
| Last backup | Shows when it last ran |
✦
Pick a folder that Google Drive or a similar service syncs for you and your backup ends up off the phone without the app sending anything anywhere. That service carries the file out, not Eutepio.
⚠
Automatic backup covers the active library. With several libraries the others are not backed up automatically — switch into them and back them up by hand.
Restore
Settings → Data backup → Restore from backup.
Restore happens in two steps. The backup is read first and a preview is shown — what is inside, how much of it, and which version it came from. Only then do you choose what to do with it.
Conflict policies
| Policy | What it does |
|---|---|
| Replace all | Deletes the current library and replaces it with the backup |
| Keep local | Adds only what is missing; leaves existing entries alone |
| Keep both | Inserts conflicting items as new copies alongside the existing ones |
"Keep local" is the safe choice when topping up a library; "Replace all" is the right choice when moving to a new device.
Safeguards
Restore is the most dangerous operation in the app, so it has several safeguards:
- Safety snapshot. Before a destructive "Replace all", a backup of the current state is created automatically. If it turns out to have been a bad idea, you can go back.
- Schema version check. A backup made by a newer version of the app is refused by an older one, rather than being read halfway.
- Zip-slip protection. Paths inside the archive are validated so a crafted file cannot write outside the target directory.
- Backwards compatibility. The app can also read the older backup format from earlier versions.
⚠
The backup is not encrypted. It is a plain ZIP, and anyone with access to it can read your private notes too. Do not send it over channels you do not trust.