We can't read your stuff.

End-to-end encryption means your content is encrypted before it leaves your device. We store ciphertext. Without your key, it's mathematical noise.

The short version

What we can see

  • • Your email address
  • • Who you're connected to
  • • When you last posted (timestamps)
  • • Storage usage

What we can't see

  • • Your posts, messages, questions
  • • Your notes about friends
  • • Your dreams and goals
  • • Photos you share

Encryption in detail

All user content — posts, messages, vault notes, dreams, questions, and media — is encrypted using XChaCha20-Poly1305, a modern authenticated encryption algorithm. This happens in your browser before any data is transmitted.

Key exchange uses X25519 (Curve25519) for perfect forward secrecy. Each conversation gets unique keys, so even if one key were somehow compromised, it wouldn't unlock other conversations.

Your master key is derived from your password using Argon2id, a memory-hard algorithm designed to resist brute-force attacks. We don't store your password — only a hash that lets us verify you're you without knowing what you typed.

Zero-knowledge architecture

Our servers store encrypted blobs. They don't know — and can't determine — what's inside them. Decryption only happens on your device, using keys we never see.

This means:

  • A database breach would yield only encrypted data
  • A rogue employee couldn't read your content
  • A government subpoena would get ciphertext, not content
  • We can't be compelled to show what we don't have

What metadata we have

We're honest about what we can see. To make the app work, we need some metadata:

  • Account info: Email, display name, avatar (if uploaded)
  • Social graph: Who you're connected to (needed to route messages)
  • Timestamps: When posts were created (needed for sorting)
  • Size data: How many posts, storage used (needed for limits)

We can see that you sent a message to Alex on Tuesday. We can't see what it said.

Infrastructure

We self-host on dedicated servers in Europe (Germany), subject to GDPR. No cloud functions reading your data. No third-party analytics. No tracking pixels.

All connections use TLS 1.3. Database connections are encrypted at rest and in transit. Backups are encrypted with keys we control, containing only your already-encrypted data.

Ongoing security

Security isn't a feature you ship once. It's a practice.

  • Code review: All changes reviewed before deployment
  • Dependency scanning: Automated alerts for vulnerable packages
  • Audit logging: Track administrative access
  • Incident response: Documented procedures, notification commitment

When we've completed our first third-party security audit, we'll publish the results here.

The trade-off

End-to-end encryption has a cost: if you lose your password and recovery key, your data is gone. We can't recover it because we can't decrypt it.

This is the price of real privacy. We think it's worth it.

Questions about our security? We're happy to explain further.