Skip to content

Sync & Backup

ETOS stores everything in a local SQLite database. That means:

  • Great for privacy — nothing leaves the device by default
  • Risk — phone lost / wiped / app uninstalled = all data gone

This page covers how to prevent that: two-way sync, multiple backup paths, cross-app import.

What This Page Covers

TopicSolves
iPhone ↔ Watch SyncReal-time two-way device data
iCloud SyncMulti-iPhone roaming, second-iPhone takeover
Snapshot BackupDB corruption rollback; device migration
S3 / R2 UploadLong-term object storage of backups
Third-party ImportMigrate from other LLM clients

Read This First

Where

Settings → Display & Experience → Sync & Backup

Key sections inside:

  • Database Protection (manual snapshots)
  • Apple Watch Sync
  • iCloud Sync
  • iCloud Status

Apple Watch Sync

Turn It On

Enable "Enable Apple Watch Sync". The footer explains:

When on, the iPhone and Apple Watch fully roam supported data; when off, near-field sync inbound data is rejected.

It uses LAN direct connection — as long as iPhone and Watch are on the same Wi-Fi (or within Bluetooth range), they sync directly, with no external server.

What Syncs

Data typeSynced?
Sessions and messages
Provider configs (incl. API keys)
Enabled models
Memories
Worldbooks
MCP server configs
Daily Pulse history
Wallpapers / custom fonts⚪ Depends on device capability
Tool call traces❌ Not synced (data volume too high)

Manual Sync

Normally both ends stay in lockstep. If something didn't propagate, the "Apple Watch Sync" section has a Sync button to trigger one manually.

Sync Status

The Apple Watch Status section shows:

  • Sync Success with last sync time
  • Sync Failed with error
  • No Sync Yet

iCloud Sync

Different from Apple Watch sync — they're two independent mechanisms:

DimensionApple Watch SynciCloud Sync
PurposeiPhone ↔ Watch data flowMulti-iPhone roaming / disaster recovery
TransportLAN directApple iCloud Drive
FrequencyReal-time on every changeBackground periodic
Best forSame person, multiple devicesSwitching iPhones / second iPhone

Turn It On

"Enable iCloud Sync" lets you manually "Sync to iCloud".

Used for roaming data across multiple devices under the same Apple ID. Leave off if only one device uses the app; turning it on uploads a snapshot of this device and merges with snapshots from other devices, including provider API keys synced across your devices.

API Keys Roam Too

Turning on iCloud sync means your LLM API keys also encrypt and upload to your iCloud. Apple can't see them, but make sure your Apple ID has two-factor authentication.

Snapshot Backups (Most Important)

The Database Snapshot button (cloud-up arrow) opens the full snapshot backup / restore page.

Two Snapshot Types

TypeIncludesSize
Database SnapshotChat, config, memory DBsSmall (a few MB)
Full SnapshotDBs + wallpapers + audio + image + file attachments + custom fonts + memory vector indexLarge (depends on attachments)

Default to Full Snapshot. Database Snapshot if storage is tight.

Encryption

"Set Password" encrypts the snapshot. Adding "Strong Derivation" uses PBKDF2-HMAC-SHA512 with 256,000 iterations — slower (a few seconds extra) but more secure.

Lost Password = Lost Backup

ETOS doesn't store your password. Forgetting it means the backup is permanently unrecoverable. Use a password manager.

"Create iCloud Drive Snapshot"

Writes the snapshot to iCloud Drive's ETOS LLM Studio Backups folder:

The snapshot is written to iCloud Drive's "ETOS LLM Studio Backups" folder; if iCloud Documents capability isn't enabled, the system writes to the local Documents/ folder with the same name.

Files have the .elsbackup extension.

Restore

Bottom of the page, "Restore from Snapshot" → pick a .elsbackup file → enter password (if any).

Restore replaces the current chat, config, and memory databases; a full snapshot also restores wallpapers, attachments, fonts, and the memory vector index file. Choose a trusted .elsbackup file.

After restore: "Snapshot restored. If the current screen still shows old data, return to the session list and re-enter."

Launch Backup Point

"Create Database Backup on Launch" dumps a recoverable backup to disk on every app launch.

Manual snapshots are for cross-device disaster recovery; launch backups protect against SQLite database corruption.

Cheap insurance — lets you roll back to the last launch state if something breaks.

Import from Another Client

Settings → Display & Experience → Sync & Backup → Third-Party Import (or the entry inside the snapshot page).

Pick a Source:

SourceFormat
Cherry StudioFull backup.zip
RikkaHubExported JSON
KelivoExported JSON
ChatGPT Officialconversations.json
ETOS.elsbackup or ETOS bundle

After choosing, tap "Select File and Parse" to pick the file in Files.

After parsing you'll see an import summary: how many providers, sessions, memories, MCPs, Skills, worldbooks will be added.

Confirm to write to the database.

Back Up First Before Bulk Imports

If you've been using ETOS already and want to import a large batch, take a full snapshot first. If the import pollutes the database, you can restore with one tap.

Advanced

Upload to S3 / R2 / Any Compatible Object Store

The snapshot page's bottom "S3-Compatible Object Storage" section uploads snapshots to external object storage:

FieldValue
Endpointhttps://<account>.r2.cloudflarestorage.com (R2) or AWS S3 endpoint
Regionauto (R2) or us-east-1 (AWS) etc.
BucketBucket name
Backup Key Prefix (optional)Prefix, e.g. etos/iphone-15-pro/
Access Key IDGenerated from your S3/R2 console
Secret Access KeySame
Session Token (optional)Only for temporary credentials

"Upload to S3/R2" uses AWS Signature V4 to PUT the .elsbackup to bucket/prefix/filename.

Best for:

  • Weekly full snapshots stored in the cloud long-term
  • Multi-device shared backup repo
  • Using cheap R2 / B2 / Wasabi instead of iCloud Drive

Database vs Full Snapshot — Which to Pick

SituationPick
Regular backupDatabase (small, fast)
Switching phonesFull (with attachments, fonts)
Debugging / sharing with developerDatabase (redact and share)
Storage-tight (iCloud 200GB full)Database + manage attachments separately

Cross-Phone Watch Takeover

Watch data depends on the iPhone for sync. To move the Watch to a new iPhone:

  1. Install ETOS LLM Studio on the new iPhone
  2. Full snapshot on old phone → AirDrop or iCloud to new phone
  3. Restore snapshot on new phone
  4. Pair Watch to new phone (system pairing, not ETOS)
  5. Enable Apple Watch sync in ETOS settings → data auto-flows over

Sync Troubleshooting

SymptomLikely causeFix
Watch shows "Not Synced"Bluetooth off / different Wi-FiCheck connection; manual Sync
Sync failedData format incompatibilityCheck error log; file feedback
iCloud stuck spinningiCloud Drive network issueSystem Settings → check iCloud status
Cross-device data conflictBoth ends edited simultaneouslyLast write wins. Configure on iPhone only, use Watch to read

Launch Backup Physical Location

Launch backups live in the app sandbox. They do not auto-sync to iCloud or cloud.

For long-term retention you must periodically take full snapshots to iCloud Drive or S3.

Next