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.
Offline-first keys for mesh-native sync
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
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.
Clients create and retain the durable account key locally. The server sees the public key, its account hash, and signatures, not the private key.
The ML-DSA-44 account key is the root authority. Login, deletion, and strict transactions prove control with post-quantum signatures.
Private data is written as opaque versioned ciphertext. The relay stores, orders, exports, and deletes the blobs without parsing their contents.
Registered apps declare signing keys, collection prefixes, visibility classes, capabilities, and optional token policies so data ownership is not hard-coded to one client.
WebSocket events notify clients when newer data exists while keeping bearer tokens out of request URLs.
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.
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.
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.
Account control is proven by the client account key instead of a server password.
Compatibility
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-Ksync-User, X-Ksync-Signature, X-Ksync-Client, X-Ksync-Since-Version