Skip to content

How Syncing Works ​

A plain-English tour of how Scope's data moves between your phone, tablet, and any other device you've logged into.

Sync

Local First, Cloud Second ​

Scope is local-first: your device is the primary store, not the server. This means:

  • Everything you do is written to local storage first, immediately. No network needed.
  • A background sync service notices new changes and uploads them to the server when there's connectivity.
  • The server distributes changes to your other devices, which then write them to their own local storage.

The practical upshot: the app never feels slow or blocked on network. You log a habit, you see the confirmation instantly - the server gets the update seconds (or minutes, offline) later.

Handling Conflicts Between Devices ​

What if two devices make changes to the same thing at roughly the same time?

Scope uses last-write-wins based on a timestamp: the more recent change overwrites the older one.

  • Concurrent completions on the same habit - the newer log wins, the older one is overwritten. In practice, this rarely happens because both would typically be accepted (two completion logs are fine; they're separate events).
  • Edits to the same item from two devices - the more recent edit wins. If you renamed a goal on your phone and also renamed it differently on your tablet within a few seconds, the one whose device clock is more recent wins.

The exception: deletes always win. If one device marked something deleted, the other device's "not-deleted" version of the same record loses. This prevents resurrection - once something is deleted, it stays deleted across all devices.

When Things Get Deleted ​

When you delete something in Scope, it's a soft delete at first:

  • The record is marked deleted locally.
  • The delete propagates through sync to other devices and the server.
  • Other devices mark their copies deleted.
  • Eventually, the records are hard-deleted (purged) after enough time has passed that every device should have gotten the message.

This multi-stage delete is what makes "deletes always win" work reliably even across slow-syncing devices.

Ephemeral Content ​

A few categories of content are cleaned up aggressively because they regenerate daily:

This prevents ephemeral data from accumulating forever. Your permanent content (habits, journals, goals, tasks, projects) is not subject to this cleanup - those stay until you explicitly delete them.

If You're Offline ​

While offline:

  • Everything works locally. You can create, edit, complete, delete as normal.
  • Changes queue in a local sync buffer.
  • Nothing syncs to the server or to other devices until connectivity returns.

When connectivity comes back:

  • Queued uploads fire - your local changes go to the server.
  • Server state downloads - changes from other devices come in.
  • Conflicts resolve as usual (last-write-wins, delete-wins).

You don't have to trigger sync manually. Opening the app, unlocking the screen, or reconnecting to WiFi all nudge the sync service to catch up.

Multiple Devices, Same Account ​

You can have Scope installed on as many devices as you want, all signed into the same account:

  • Each device needs the same encryption key (via a recovery code or QR transfer) to decrypt encrypted content.
  • Once keys are shared, every device sees the same data after sync.
  • Writing on any device propagates to all others.

A typical setup is "phone + tablet" or "phone + laptop browser." Both work identically.

What the Server Sees ​

To be concrete about the trust model:

  • The server sees - ciphertext of your encrypted content, structural metadata (timestamps, counts, IDs), public data (username, level, etc.).
  • The server does not see - the plaintext of your habits, tasks, goals, journals, projects, wishlist items.
  • The server cannot decrypt anything - your key never leaves your device in readable form.

See End-to-End Encryption for the full privacy model.