By default, getbased stores your data in plaintext in your browser’s localStorage and IndexedDB — only your browser can access it, and nothing leaves your device unless you explicitly enable sync or send data to an AI provider. For an additional layer of protection, you can lock your data behind a passphrase using AES-256-GCM encryption at rest.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.
What local encryption does
When you set a passphrase, getbased derives a cryptographic key from it using PBKDF2 and then encrypts your data before writing it to localStorage. Every time you open getbased, you are prompted for your passphrase to decrypt and load your data. The encryption covers:- All imported lab data — entries, notes, supplements, cycle data, context cards
- Chat conversation history and custom personalities
- Wearable IndexedDB rows — per-profile daily values including HRV, sleep score, resting heart rate, and manual entries
Enable encryption
Open security settings
Go to Settings → Data → Security, or click the Protect your data pill on the dashboard and select Encrypt data.
Set a passphrase
Enter a passphrase that meets all four requirements:
- At least 8 characters
- At least one lowercase letter
- At least one uppercase letter
- At least one special character (
!@#$%^&*and similar)
After your first PDF import, getbased shows a one-time prompt suggesting you enable encryption. You can dismiss it and enable encryption later from Settings — it is a reminder, not a requirement.
Passphrase requirements
| Rule | Requirement |
|---|---|
| Length | Minimum 8 characters |
| Lowercase | At least 1 lowercase letter |
| Uppercase | At least 1 uppercase letter |
| Special character | At least 1 of !@#$%^&* or similar |
No recovery path
There is intentionally no reset or recovery mechanism. The passphrase is never stored — only the key derived from it is used at runtime. If you lose your passphrase:- Your encrypted localStorage data cannot be decrypted.
- Your other devices (if using sync) still hold their own copies, encrypted with the same key.
- You can start fresh by clearing your browser data, but this permanently deletes all encrypted data.
Cross-tab decryption
getbased uses the browser’sBroadcastChannel API to share the decrypted key across tabs in the same browser session. When you unlock getbased in one tab, other tabs in the same window automatically unlock without prompting you again. When you close all tabs, the in-memory key is cleared.
Relationship to sync encryption
Local encryption and cross-device sync are independent systems that protect your data in different contexts:- Local encryption (your passphrase → PBKDF2 → AES-256-GCM) protects data at rest on each device.
- Sync encryption (your mnemonic → Evolu key derivation → XChaCha20-Poly1305) protects data in transit and on the relay.