DocumentationBackups (.eutbackup)

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:
ContentIn 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.

OptionWhat it does
Pick a folderOpens the system folder picker
How many backups to keepOlder ones are deleted automatically, 14 by default
Back up nowCreates a backup immediately
Last backupShows 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

PolicyWhat it does
Replace allDeletes the current library and replaces it with the backup
Keep localAdds only what is missing; leaves existing entries alone
Keep bothInserts 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.