Daochi

Offline-first keys for mesh-native sync

Daochi

A sync relay and protocol surface where the account's root authority is a device-created ML-DSA-44 keypair: a post-quantum proof of account control for encrypted, app-owned records.

What it does

Server-assisted today, designed for keys and records that do not depend on the server.

Daochi stores public keys, account metadata, app registrations, sync versions, encrypted records, and selected public or social projections. Account keys are generated client-side and can exist before the first network request. The relay never stores client private keys. Existing clients can keep using the compatibility wire names while the product name moves from Ksync to Daochi.

Offline-first keys

Clients create and retain the durable account key locally. The server sees the public key, its account hash, and signatures, not the private key.

Post-quantum identity

The ML-DSA-44 account key is the root authority. Login, deletion, and strict transactions prove control with post-quantum signatures.

Encrypted records

Private data is written as opaque versioned ciphertext. The relay stores, orders, exports, and deletes the blobs without parsing their contents.

App ownership

Registered apps declare signing keys, collection prefixes, visibility classes, capabilities, and optional token policies so data ownership is not hard-coded to one client.

Remote events

WebSocket events notify clients when newer data exists while keeping bearer tokens out of request URLs.

Security posture

The server coordinates sync; the user's root authority stays in the account key.

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.

Private records stay client encrypted

Protocol v5 makes encrypted records the primary private-data surface. Daochi validates record metadata and versions ciphertext, but plaintext and record 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

From compatible sync to a mesh-native post-quantum proof standard.

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.

v1

Signed compatibility base

Account control is proven by the client account key instead of a server password.

root authority: post-quantum account proof

Compatibility

The public name changes; the shipped wire contract stays stable.

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-Ksync-User, X-Ksync-Signature, X-Ksync-Client, X-Ksync-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