Skip to content

Holochain Architecture

How Flowsta uses Holochain for decentralized, zero-knowledge identity.

Three-DNA Architecture

Flowsta separates public, private, and signing data into three Holochain DNAs:

Identity DNA (Public)

FieldDescription
Display nameUser's chosen display name
Profile pictureURL or hash of profile picture
Agent public keyEd25519 public key
Agent linksIsSamePersonEntry attestations from agent linking

The Identity DNA is publicly readable. Any participant in the network can query another user's public profile and verify agent-link attestations - no one in between.

Signing DNA (Public)

The Sign It DNA carries publicly verifiable document signatures:

FieldDescription
Signature recordsSHA-256 file hash + Ed25519 signature + timestamp
Content rightsLicense, AI-training policy, contact preference
Perceptual hashesImage/audio/video fingerprints for fuzzy matching
Revocations & amendmentsSignatures can be revoked or superseded by their author

Signatures live on Flowsta's tamper-proof network, built on Holochain - anyone can verify a signature against a file without asking Flowsta.

Private DNA (Legacy)

Earlier Flowsta accounts kept encrypted private records (email, recovery-phrase backup, session data, activity logs) in a per-user private cell, encrypted client-side so that not even the cell's hosts could read the plaintext. This cell is being superseded by device-sealed records: private data sealed on the user's own device (in Flowsta Vault) that never gossips anywhere. New integrations should not depend on the Private DNA.

Encrypted Public Entries (Third-Party Apps)

Third-party Holochain apps can also store private data on the public DHT using client-side encryption. Entries are encrypted with lair's xsalsa20poly1305 crypto_box (256-bit X25519 key exchange) before being committed. Peers replicate the ciphertext for resilience, but only the author can decrypt.

This pattern is used for:

  • Vote rationales - private notes explaining why a user voted
  • Draft content - encrypted until the user publishes
  • Any user-owned private data - the entry type hint is always "private" to prevent metadata leakage

See Encrypted Entries on Public DHT for implementation details.

Infrastructure

Holochain infrastructure diagram showing global DHT nodes across Americas, Europe, and Asia-Pacific regions, user devices running Flowsta Vault with a local conductor, and community nodes, all connected to the distributed hash table

Flowsta-Operated Nodes

Flowsta operates infrastructure across three regions:

  • Americas (Iowa) - the API node, which also runs a full conductor
  • Europe - a DHT-only node
  • Asia-Pacific (Singapore) - a DHT-only node
  • A dedicated bootstrap/relay server - helps peers discover each other and traverse NATs

Community DHT Nodes

Community-run nodes are live today - anyone can run one. The flowsta-dht-node repository has a step-by-step README that takes you from a fresh machine to a gossiping DHT node.

A community node can also serve as an independent bootstrap/relay, giving the network discovery and relay paths that don't depend on Flowsta's infrastructure at all. Every community node strengthens the network's resilience: the network keeps running even if our cloud provider goes down.

Flowsta Vault (Local)

When users install Flowsta Vault, it runs a local Holochain conductor that joins the same network. This means:

  • The user's public data is replicated locally
  • Agent linking attestations and signatures gossip across the network
  • The network becomes more resilient with each Vault install

Key Derivation

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

Every user's keypair is deterministically derived from their recovery phrase. This means:

  • Same phrase always produces the same identity
  • Users can restore their identity on any device
  • No key escrow or central key server needed

Holochain Version

Flowsta runs on Holochain 0.6.x with the kitsune2 networking layer and Iroh-based peer connectivity.

Next Steps

Documentation licensed under CC BY-SA 4.0.