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 →Local-first sync. Open by design.
Keep your apps connected without giving up the keys. Daochi relays app-owned records between devices, with account authority that begins with you.
A little closer to your data
Daochi is the sync layer behind your app. Devices keep their account keys; the relay helps records find their way between them.
Create an account key locally, even before the first connection. Sign a fresh challenge to prove the account is yours.
How identity works →Each app declares its collections and permissions. Clients encrypt private records before the relay stores and versions them.
Explore app ownership →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
Small devices and working clients deserve care. Daochi keeps authority close to the person using the software.
Read the mesh model →Security posture
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.
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.
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
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.
X-Daochi-Tx binds account authority, app authority, body hash, path, nonce, and expiry.
11a70e9Compatibility
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.
X-Daochi-User, X-Daochi-Signature, X-Daochi-Client, X-Daochi-Since-Version