Data Security

Data security, encryption, and your rights

How Your Data Is Protected

Your free-text journal entries and personal notes are encrypted on your device using AES-256-GCM (Authenticated Encryption with Associated Data), the same standard used by banks and government agencies. Your encryption key is derived from your passphrase using PBKDF2 with 100,000 iterations and a per-user random salt, and the key is held only in your browser's volatile memory for the session, never on the server. Your structured tracker readings (scores, ratings, tagged symptoms/behaviours/triggers, supplement and meal logs) are stored as queryable plaintext so the app can generate charts, trends and your nightly reflective analysis; they are protected by row-level security and platform-level encryption at rest.

AES-256-GCM Encryption

Each record is encrypted with a unique initialization vector (IV), ensuring identical data produces different ciphertexts.

PBKDF2 Key Derivation

Your password is transformed into a cryptographic key using 100,000 iterations, preventing brute-force attacks.

Zero-Knowledge Journal

Your journal and free-text notes are encrypted on your device. The platform and its administrators cannot decrypt them, because the key never leaves your browser.

Authenticated Encryption

GCM mode detects any tampering with encrypted data and immediately rejects modified records.

Encryption Architecture
1.[User Password] + [Random Salt] → PBKDF2 → Encryption Key
2.[Health Data] + [Key] + [Random IV] → AES-256-GCM → Ciphertext
3.[Ciphertext] stored in database (unreadable without key)

Encrypted on your device (AES-256-GCM, zero-knowledge):

  • Journal entries and free-text notes (what helped, what overwhelmed, sensory triggers, environmental notes, pain notes, routines)
  • Free-text meal descriptions

Applied when you have set up and unlocked encryption. The encrypted payload is stored as ciphertext; the platform cannot decrypt it.

Protected by Row-Level Security (owner-only, queryable):

  • Daily tracking metrics (brain fog, stress, pain, MC1R alarm, energy, mood, sleep)
  • Meal, supplement, and intervention logs
  • Exercise, habits, and scaffold data
  • Uploaded media

These fields are stored as queryable plaintext so the app can power charts, trends, and analytics but are restricted by RLS so only you can read or modify them.

Security Best Practices
1

Use a Strong Password

Minimum 8 characters, mix of letters, numbers, and symbols. This password generates your encryption key.

2

Never Share Your Password

Administrators cannot reset or recover your password. If you lose it, your encrypted data cannot be recovered.

3

Secure Session Management

Your encryption key exists only in memory during your session. Logging out or closing the tab clears all cryptographic material; the key is never written to storage.

Data Backup

Download a full copy of your Daily Tracker records as a plaintext JSON export. This is not an encrypted file: records that hold encrypted free-text keep their ciphertext (the journal text is not decrypted), while structured fields and any legacy records are exported as-is in readable form. Store the downloaded file securely.

Export structure:

{ schema_version, app, exported_at, record_count, records: [ ...DailyLog records (ciphertext or plaintext as stored) ] }

Auto-backup also triggers every 5 saves and produces the same plaintext export. For a passphrase-encrypted (zero-knowledge) backup that decrypts your journal on-device and re-encrypts the whole file with AES-256-GCM, use Backup Settings in your Profile.

⚠️ Important Notice

If you forget your password, your encrypted data cannot be recovered. This is by design — the zero-knowledge architecture ensures that no one else can access your health information. Please store your password securely using a password manager.

📧

Recovery Email

You can add a recovery email in your Profile settings as a backup if you ever lose access to your account. This is separate from your login email and gives you an additional route to regain access.