Skip to content

Zero-Knowledge Architecture

Flowsta staff physically cannot access user private data.

How It Works

Flowsta uses two Holochain DNAs with different access models:

Identity DNA (Public)

Stores publicly readable profile data:

  • Display name
  • Profile picture
  • Agent public key
  • Agent links (identity attestations)

Private DNA (Encrypted)

Stores encrypted private data:

  • Email address
  • Recovery phrase backup
  • Session data
  • OAuth activity logs
  • 2FA configuration

All Private DNA data is encrypted client-side using keys derived from the user's password via PBKDF2. The encryption happens in the user's browser before data reaches Flowsta's servers.

Encryption Flow

Encryption flow showing client-side encryption in the browser, Flowsta server receiving encrypted data it cannot decrypt, and storage on Holochain DHT

What Flowsta Cannot Access

DataAccess
User passwordsNever sent to server (hashed client-side)
Email addressesEncrypted with user's key
Recovery phrasesEncrypted with user's key
Session detailsEncrypted with user's key
Private profile dataEncrypted with user's key

What Flowsta Can Access

DataPurpose
Display namePublic profile (user chose to make public)
Profile picturePublic profile
Agent public keyIdentity verification
OAuth consent recordsAudit trail (which apps user authorized)
Hashed email lookupAllow login by email (hash only, not plaintext)

Key Derivation

Key derivation from BIP39 recovery phrase through HMAC-SHA256 to Ed25519 keypair producing agent public key, DID, and signing key

The recovery phrase deterministically generates the user's keypair. Combined with their password for encryption key derivation, this means:

  • Users can restore their identity from the recovery phrase alone
  • No key escrow or key recovery service needed
  • Flowsta never sees the recovery phrase (encrypted before storage)

Implications for Developers

When you receive user data through OAuth:

  • Public data (display name, username, DID, agent key) is readable by Flowsta
  • Email is only shared if the user explicitly grants the email scope
  • No data mining - Flowsta cannot analyze user private data for any purpose

Next Steps

Documentation licensed under CC BY-SA 4.0.