Part 6 · Sharing, printing, backing up

37. iCloud sync#

Etappe has no server of its own, no user account and no sign-in. If you use the app on more than one device, iCloud takes care of the syncing: your data lives in the private area of your Apple ID, and every device with the same account works on the same data. There is nothing to set up for this in the app itself.

37.1 How syncing works#

Etappe stores everything in a database on the device first. When iCloud is available, iOS also mirrors that database into the private iCloud database of your Apple ID. Other devices with the same account pick up the changes from there. The path runs only between your devices and your iCloud — nobody else has access to it, not even the app’s developer (Your data).

The entire data set goes along:

Attachments are the biggest chunk and count towards your iCloud storage quota. Etappe shrinks images before saving them so that no camera original ends up in the database; how much space a trip takes up is shown under Storage and files.

On top of that there is a second, much smaller channel: the iCloud key-value store of your Apple ID. Etappe uses it to sync four settings that aren’t trip data but should be the same on all devices — home country, home location, base currency and the most recently loaded ECB rate table. If two devices hold different values, the most recent change wins; without iCloud the values stay local on the device (Home).

Etappe has no sync indicator and no “Sync now” button. Syncing is the system’s job and runs in the background.

37.2 Requirements and setup#

RequirementWhy
The same Apple ID signed in to iCloud on every deviceThe data lives in the private area of exactly this account
iCloud turned on, storage availablePhotos, scans and tracks take up space in your quota
A network connectionWithout one, everything piles up locally and goes out later
iOS or iPadOS 17 or laterEtappe’s system requirement

There is nothing to set up in the app: no switch, no sign-in dialog, no pairing of devices. If iCloud isn’t available at launch — because you aren’t signed in, say — Etappe doesn’t block; it simply carries on working locally. The data you have entered up to then is kept, and as soon as iCloud is available again, Etappe resumes syncing at the next launch.

37.3 Several devices working together#

There is no main device and no secondary device. Both work on the same data as equals, and both may create, change and delete. That has a few practical consequences:

  1. At the first launch on a second device, the data set is still empty and fills up bit by bit. If the Getting started assistant appears, you can simply close it — it only shows while trips, people and countries are all empty. It shows home country and base currency the way the first device set them, as soon as the key-value store has delivered them.
  2. Duplicate default packing list templates can appear if the second device created them itself before the first sync. Etappe cleans that up automatically at every launch and keeps the same copy on both devices (Packing list templates).
  3. Don’t edit the same entry on two devices at the same time. Anyone writing to the same accommodation on iPhone and iPad simultaneously has to expect that only one version will survive in the end.
  4. Deleting takes effect everywhere. What you remove on one device disappears on the other too. Before a big clean-up, an export is worth it (Backup).
  5. A running journey recording belongs to the device that started it. Launching the app on the other device doesn’t end it — only once no new measurement point has been added for 24 hours will another device close the forgotten recording as well. Once stopped, the finished track travels along like any other entry (Recording a journey).

37.4 What is not synced#

Everything that belongs to operating the individual device deliberately stays there. On a new device you set it up once more:

Stays on the deviceWhere to find it
Appearance, names in checklists, route plannerMore → Settings (All settings)
Country data from the perspective of — the override of the perspectiveMore → Settings, “Home” section (Home)
PIN, Face ID / Touch ID, lock intervalMore → Settings, “Security” section (App lock)
Scheduled notifications for reminderssee below (Reminders)
Start of the trial(Trial and full version)
Caches that Etappe creates to speed things uplocal to the device, invisible to you

Home country, home location, base currency and the rate table are deliberately absent from this table: they travel along via the key-value store (section 37.1) — but need iCloud for that just the same.

Two points deserve an explanation.

Reminders: The reminder itself is an ordinary record and is synced. The notification, however, is scheduled by Etappe on the device where you create, edit or check off the reminder. If it should also ring on the second device, open it there once for editing and save it.

Full version: The purchase has nothing to do with iCloud; it is tied to your Apple ID and therefore applies on all devices with that account. If a device doesn’t recognize the purchase, “Restore Purchases” on the Full version screen helps.

37.5 When something doesn’t arrive#

If only a single trip is missing on the second device, check the filters and the archive of the trip list first before suspecting the sync. If more is missing, go through these steps in order:

  1. Check at the very top of the iOS Settings on both devices whether the same Apple ID is signed in.
  2. Check that iCloud is turned on and there is still storage available. A full quota stops syncing.
  3. Check the network connection — no airplane mode, Wi-Fi or cellular active.
  4. Leave Etappe open in the foreground on both devices for a few minutes.
  5. Quit Etappe completely and relaunch it. The connection to iCloud is established at launch: if iCloud wasn’t available at the last launch, the app has been running locally since then.
  6. If that doesn’t help, restart the device.

If it stays that way, there is the reliable route via a file: on the device with the complete data set, create an export under More → Backup, bring the JSON file to the other device and import it there. Be clear about what that does — the import deletes the entire current data set on the target device and replaces it with the contents of the file. Everything about this is in Backup.

37.6 How your data is protected in iCloud#

On the way between device and iCloud the connection is encrypted, and on Apple’s servers the data is stored encrypted as well. This applies without any action on your part to everything Etappe syncs — trips, records, scans and photos.

The difference lies in who holds the key:

Setting of your Apple IDWho can read the data
Standard data protection (default)Your devices — and Apple, because Apple keeps the keys
Advanced Data Protection for iCloudOnly your devices — end-to-end encrypted, not even Apple can look inside

Advanced Data Protection is a setting of your Apple ID, not of the app: iOS Settings → your name → iCloud → Advanced Data Protection. Apple explicitly includes the iCloud data of apps like Etappe in it. Once it is turned on, your Etappe data in iCloud is end-to-end encrypted; nothing changes in Etappe, syncing runs as before. Apple requires a recovery method for it — a recovery contact or a recovery key — because without the key nobody can get at the data any more, not even Apple.

One limitation should be mentioned: the App lock protects the display on the device, not the copy in iCloud. If you keep passport numbers, ID scans or emergency contacts in Etappe and value end-to-end encryption, turn on Advanced Data Protection. What Etappe itself does and doesn’t do is in Your data.