getbased can sync your profiles, lab data, and AI settings across as many devices as you like. Sync is opt-in and end-to-end encrypted: a relay server carries the data between your devices, but it only ever stores ciphertext. Without your mnemonic, the relay cannot read anything.Documentation Index
Fetch the complete documentation index at: https://docs.getbased.health/llms.txt
Use this file to discover all available pages before exploring further.
How it works
Sync is powered by Evolu, a local-first CRDT (Conflict-free Replicated Data Type) engine. When you enable sync:- A 24-word mnemonic is generated — this is both your sync identity and your encryption key.
- Your data is encrypted with a key derived from that mnemonic and pushed to the relay.
- Any other device that uses the same mnemonic can pull and decrypt your data.
Set up sync on your first device
Open sync settings
Go to Settings → Data, or click the Protect your data pill on the dashboard and select Cross-device Sync.
Save your mnemonic
Your 24-word mnemonic is displayed in cleartext. Write it down and store it somewhere offline — a piece of paper in a safe place, a password manager, or both. Then check I have saved my mnemonic somewhere safe.
Add more devices
What syncs
The following data flows across all paired devices:- All profile data — lab entries, context cards, notes, supplements, cycle data, custom markers, EMF assessments
- Profile metadata — name, sex, date of birth, location, tags
- AI settings — provider, API keys, model selections, Venice E2EE toggle
- Chat threads, messages, and custom personalities
- Display preferences — unit system, range mode, chart overlays
Wearable data
Wearable sync follows a deliberate split:- Wearable summary syncs. The latest values, baselines, weekly trends, and anomaly events for every connected wearable metric flow to your other devices alongside everything else. Strip cards on Device B show the right numbers immediately after sync.
- Raw daily rows stay local. The full 90-day history (every per-day HRV, sleep score, RHR, and manual entry) lives in a per-device IndexedDB and is excluded from the sync payload. Detail-modal charts on Device B will be empty until you connect each wearable vendor separately on that device.
- OAuth tokens never sync. Each device must authorise each wearable independently. This is by design — a stolen mnemonic should not grant continuous access to your live wearable feeds.
Sync status indicator
When sync is enabled, a small colored dot appears in the header next to the settings gear:| Dot | Meaning |
|---|---|
| Green | Synced — relay connected, data confirmed |
| Blue (pulsing) | Syncing — push or pull in progress |
| Amber | Offline — relay unreachable, changes saved locally |
| Red | Error — sync failed |
Conflict resolution
Sync uses last-write-wins per item, based on timestamps. Each save ships small per-item CRDT deltas — one lab entry, one marker note, one sun session — rather than re-sending your entire health record. If two devices edit the same item simultaneously before they sync, the most recent push wins. Edits to different items always merge cleanly.Mnemonic security
Your mnemonic is your encryption key. getbased takes several precautions to protect it:- Masked by default — displayed as bullet characters in Settings, with a Show/Hide toggle.
- Clipboard auto-clear — when you copy the mnemonic, the clipboard is cleared after 60 seconds.
- No server storage — the mnemonic is generated and stored locally by the Evolu engine and is never sent to any server.
Regenerating your mnemonic
Disabling sync resets your identity. Re-enabling sync generates a fresh mnemonic. Your other devices will need to join with the new mnemonic.If you lose your mnemonic, there is no recovery. You can still access your local data on each device, but you will need to set up sync again from scratch with a new mnemonic on all devices.
Profile deletion across devices
When you delete a profile, getbased marks it as deleted on the relay (a tombstone). On the next pull, every other paired device sees the tombstone and wipes its local copy automatically — single-profile deletes propagate without prompting. For batched deletes (two or more profiles deleted at once), the receiving device quarantines the wipe and shows a confirmation UI in Settings → Sync. Each pending delete has Apply delete and Restore buttons. This protects against a leaked mnemonic: an attacker publishing tombstones for all your profiles would otherwise silently wipe every paired device on the next pull. To reject a quarantined delete, click Restore — getbased re-publishes the local profile data, which beats the tombstone on the next sync. To accept, click Apply delete — the local wipe runs and the entry clears.Run your own relay server
The relay is open source (the Evolu relay) and runs as a single Docker container with an embedded SQLite database. You need a Linux VPS with at least 1 CPU and 1 GB RAM, Docker, and a domain with TLS.Add TLS with Caddy
Install Caddy and create The Caddy provisions a TLS certificate automatically via Let’s Encrypt.
/etc/caddy/Caddyfile:versions h1 directive is required — WebSocket upgrades need HTTP/1.1.Relationship to local encryption
Cross-device sync and local encryption are independent systems:- Local encryption (passphrase → AES-256-GCM) protects your localStorage data at rest on each device.
- Sync encryption (mnemonic → Evolu’s key derivation → XChaCha20-Poly1305) protects data in transit and on the relay.