Skip to main content
Anchor is built offline-first, meaning all features work without an internet connection. Your notes are stored locally on each device and automatically synchronized when you’re online.

Offline-First Architecture

Anchor stores everything locally for instant access:

Local Storage

All notes, tags, and settings are stored on your device

Instant Access

Open and edit notes without waiting for network requests

Full Features

Every feature works offline - create, edit, organize, and search

Automatic Sync

Changes sync across devices when you reconnect

Working Offline

All Anchor features function without connectivity:

What Works Offline

1

Create notes

Write new notes with full rich text formatting capabilities
2

Edit existing notes

Modify any note you own or have editor permissions for
3

Organize notes

Pin, archive, or move notes to trash
4

Manage tags

Create, edit, delete, and apply tags to notes
5

Search

Search notes by title and content using local search
6

View shared notes

Access notes others have shared with you (after initial sync)
Offline changes are stored locally and queued for synchronization. When you reconnect, all changes automatically sync to the server and other devices.

What Requires Connection

A few operations need internet connectivity:
  • Sharing notes - Requires connection to notify recipients
  • Initial access - New shared notes appear after syncing
  • Account changes - Profile updates and password changes
  • Registration - Creating new accounts requires server connection
You can edit notes shared with you while offline. Changes sync when you reconnect, and collaborators see your edits on their next sync.

Automatic Synchronization

Anchor syncs your data across all devices automatically:

How Sync Works

1

Track changes locally

Every change you make is saved to your device’s local database immediately
2

Detect connectivity

When online, Anchor automatically initiates sync
3

Exchange updates

Your device sends local changes and receives changes from other devices
4

Update local data

New changes from other devices are applied to your local database
5

Continue working

Sync happens in the background without interrupting your work

Sync Triggers

Synchronization happens automatically:
  • App launch - Syncs when you open Anchor
  • Periodic intervals - Regular background sync while the app is open
  • After edits - Syncs shortly after you make changes
  • Reconnection - Syncs when network connectivity returns
  • Manual refresh - Pull to refresh or click sync button

Background Sync

Sync continues automatically while you work

No User Action

No need to manually save or sync - it’s automatic

Conflict Resolution

When the same note is edited on multiple devices while offline, Anchor resolves conflicts automatically:

How Conflicts Are Resolved

1

Track timestamps

Every change includes a timestamp of when it was made
2

Compare versions

When syncing, the server compares timestamps of conflicting changes
3

Keep latest

The most recent change wins and is kept as the canonical version
4

Distribute winner

The winning version syncs to all devices
Conflict resolution is based on timestamps, not content merging. If you edit the same note on two devices while offline, the device that syncs last will overwrite the earlier changes.

Minimizing Conflicts

Reduce the chance of conflicts:
  • Sync frequently - Connect to the internet regularly to sync changes
  • Work on one device - For active editing, use one device at a time
  • Coordinate with collaborators - Communicate about who’s editing shared notes
  • Check sync status - Ensure changes sync before switching devices
For critical content, consider copying your text before making extensive offline edits on multiple devices.

Sync Indicators

Monitor sync status in the app:

Status Messages

  • Synced - All changes are up to date across devices
  • Syncing - Currently exchanging data with the server
  • Offline - No internet connection, changes stored locally
  • Pending - Changes waiting to sync when connection returns

Understanding Sync States

Green/Synced

Your device is connected and all changes are synchronized

Yellow/Pending

You have local changes that haven’t synced yet

Gray/Offline

No connection - changes are queued for sync

Blue/Syncing

Actively exchanging data with the server

What Gets Synced

Anchor synchronizes all your data:
Data TypeSynced Across Devices
NotesTitle, content, formatting, properties
TagsName, color, associations
Note statePinned, archived, trashed status
SharesShared notes, permissions, access
OrganizationTag assignments, backgrounds
DeletionsTrash, permanent deletes, tag removals
Account settings and profile information also sync, ensuring consistent configuration across all devices.

Sync Performance

Anchor optimizes sync for efficiency:

Incremental Sync

  • Only changed data syncs, not entire database
  • Timestamp-based: only items modified since last sync
  • Efficient for large note collections
  • Fast sync even with hundreds of notes

Smart Batching

  • Multiple changes combined into single sync operation
  • Reduces server requests and battery usage
  • Minimizes bandwidth consumption
  • Smooth experience even on slow connections
Sync happens efficiently in the background. You won’t notice any performance impact during normal use.

Data Retention

Understand how long data is kept:

Tombstones

Deleted items are kept temporarily for sync:
  • Deleted notes - Marked as deleted for 30 days
  • Deleted tags - Marked as deleted for 30 days
  • Revoked shares - Marked as deleted for 30 days
  • Automatic purge - Permanently removed after retention period
Tombstones ensure that deletions sync properly across all devices. Even if a device is offline for weeks, it will receive deletion notices when it syncs.

Permanent Deletion

  • Notes deleted permanently are marked for removal
  • Retained for 30 days to sync deletion across devices
  • After 30 days, permanently purged from servers
  • Cannot be recovered after purge
The 30-day retention period is for synchronization purposes. Once the retention period expires, permanently deleted data cannot be recovered.

Multi-Device Best Practices

Optimize your multi-device workflow:

Sync Regularly

  • Open Anchor on all your devices periodically
  • Ensure changes sync before switching devices
  • Check sync status before closing the app

Network Awareness

  • Sync happens automatically on WiFi
  • Mobile data is used efficiently
  • Manual sync available when needed
  • Offline mode saves bandwidth

Device Management

  • Use the same account on all devices
  • All devices see the same notes and tags
  • Changes made anywhere appear everywhere
  • No need to choose a “primary” device
For best results, let Anchor sync completely before logging out or switching to another device.

Troubleshooting Sync Issues

Resolve common sync problems:

Sync Not Starting

1

Check connection

Verify you have internet connectivity
2

Restart app

Close and reopen Anchor to trigger sync
3

Check server status

Ensure your Anchor instance is online

Changes Not Appearing

  • Wait for sync to complete on both devices
  • Check sync status indicator
  • Manually trigger sync with pull-to-refresh
  • Verify you’re logged into the same account

Sync Taking Long

  • Large changes may take time on slow connections
  • First sync after installation includes all data
  • Wait for completion - interrupting can cause issues
If sync issues persist, try logging out and back in. This forces a fresh sync of all data.

Technical Details

For those interested in how sync works:

Sync Protocol

  • Timestamp-based - Uses updatedAt timestamps for conflict resolution
  • Bidirectional - Sends local changes and receives remote changes
  • Incremental - Only syncs items modified since last sync
  • Efficient - Minimal data transfer and battery usage

Local Storage

  • Web - IndexedDB for browser-based storage
  • Mobile - SQLite database on Android/iOS
  • Encrypted - Local data protected by device security
  • Persistent - Survives app restarts and updates

Build docs developers (and LLMs) love