← Back to app

What Do We Do With Your Data?

We can't read it. Nobody can — unless they have your password.

The Short Version

Track Things uses zero-knowledge encryption. Your data is encrypted in your browser with your password before it ever reaches our servers. We store only encrypted gibberish. Even if our servers were breached, your data would be unreadable without your password.

How Encryption Works

When you create an account, your password is used to generate two separate cryptographic keys:

  • An authentication hash — derived using PBKDF2-SHA512 (120,000 iterations). This is used to verify your identity when you log in. It cannot be reversed to find your password, and it cannot be used to decrypt your data.
  • An encryption key — derived using PBKDF2-SHA256 (100,000 iterations) with a different salt. This key encrypts your data using AES-256-GCM, a military-grade encryption standard. This key is never sent to the server.

Your password itself is never transmitted or stored. It exists only in your browser's memory while you're using the app.

What's Stored Where

WhatWhereEncrypted?Who can read it
Your mood/symptom dataCloud (S3)Yes — AES-256-GCMOnly you (with your password)
Your medication historyCloud (S3)Yes — AES-256-GCMOnly you (with your password)
Authentication hashCloud (S3)One-way hashCannot be reversed
Encryption saltCloud (S3)Not sensitive aloneUseless without your password
Your passwordBrowser memory onlyN/AOnly you
Tracking preferencesBrowser localStorageNo (config only)Only you, on this browser

The Recovery Key

When you sign up, a random recovery key is generated. This key is shown to you once and is not stored anywhere in readable form. If you lose your password, the recovery key is the only way to access your data. We cannot recover it for you.

What the Server Sees

  • Your username — used to locate your encrypted files
  • An authentication hash — a one-way hash that verifies your identity but cannot reveal your password
  • Encrypted blobs — your data, fully encrypted, completely unreadable without your password

The server never sees your password, your plaintext data, your mood scores, your medication names, or anything meaningful about your health.

S3 Storage Security

Your encrypted data is stored in Amazon S3 with:

  • Server-side encryption (AES-256) — an additional encryption layer at rest
  • HTTPS only — all data in transit is encrypted with TLS
  • Double encryption — your data is encrypted by your browser AND by S3, so even AWS employees cannot read it

What Happens in a Data Breach

If someone gained access to our S3 bucket, they would find:

  • Usernames (just strings like "john123")
  • Authentication hashes (cannot be reversed to find passwords)
  • Encrypted data blobs (random-looking bytes, completely useless without each user's individual password)

No health data would be exposed. Each user's data requires their unique password to decrypt, and passwords are never stored anywhere.

If You're Still Worried

  • Open your browser's Network tab — you'll see only encrypted bytes going to the server
  • The encryption code is in core.js — inspect it yourself
  • Use a strong, unique password for maximum security
  • Keep your recovery key in a safe place (password manager, printed in a safe)
  • Download local backups periodically via the File menu