Daochi

Local-first sync. Open by design.

Your data.
Your keys.
A shared thread.

Keep your apps connected without giving up the keys. Daochi relays app-owned records between devices, with account authority that begins with you.

Open sourceClient-held keysSelf-hostable
Three quiet islands connected by small bridges.
Independent places. Connected when it matters.

A little closer to your data

Keep the key.
Let the records travel.

Daochi is the sync layer behind your app. Devices keep their account keys; the relay helps records find their way between them.

Begin on your device.

Create an account key locally, even before the first connection. Sign a fresh challenge to prove the account is yours.

How identity works →

Give records a home.

Each app declares its collections and permissions. Clients encrypt private records before the relay stores and versions them.

Explore app ownership →

Connect on your terms.

Use a public node or operate your own. Inspect its identity, supported apps, and explicit peer relationships.

Find a node →

Made for the real world

Imperfect networks.
Long-lived tools.

Small devices and working clients deserve care. Daochi keeps authority close to the person using the software.

Read the mesh model →

Security posture

Clear boundaries. Understandable trust.

Key creation starts offline

A new client can generate its ML-DSA-44 account key before it talks to Daochi. First login registers the public key, and future logins prove control by signing fresh challenges.

Know what is encrypted

Upgraded clients encrypt private records before syncing. Legacy typed records, account metadata, and public or social projections can remain readable by the server. Encryption choices stay with clients and apps.

Post-quantum where authority is proven

Daochi's shipped post-quantum proof is account authority through ML-DSA-44 signatures. App manifest keys and token issuer keys are separate Ed25519 authorities.

Milestones

A protocol that grows carefully.

Daochi keeps older clients working while moving each protocol generation away from server-owned trust. The shipped post-quantum claim is account authority: the durable account key is ML-DSA-44. Full post-quantum record confidentiality still needs a specified client encryption profile.

Explore the protocol history
Current release Protocol v6
Protocol v6

Strict signed transactions

X-Daochi-Tx binds account authority, app authority, body hash, path, nonce, and expiry.

Released
2026-08-31
Commit
11a70e9
Source
Add signed app manifests and v6 transactions
  • Registered app identity is required for strict protocol v6 sync.
  • Requests carry signed transaction envelopes and app-owned collection checks.
  • Account authority remains ML-DSA-44; app manifest authority is Ed25519.
current shipped milestone

Compatibility

Working clients deserve a steady path.

Current server code still accepts the ksync-sync-v1 signature context and X-Ksync-* headers. Protocol v1 through v5 remain valid through 2027-09-01, and every future deprecation keeps the previous protocol valid for at least 365 days. Protocol v6 adds signed transaction envelopes for strict app-owned requests.

HeadersX-Daochi-User, X-Daochi-Signature, X-Daochi-Client, X-Daochi-Since-Version
Protocolv1-v5 supported through 2027-09-01; v6 signs strict transactions
Recordsv5 private hierarchy plus legacy encrypted collections
Appssigned manifests with node-approved app keys