Daochi

Mesh-native sync for app-owned data

Daochi

A sync relay and protocol surface for native and web apps that need signed identity, encrypted private records, social projections, remote events, and portable app-owned data.

What it does

Server-assisted today, designed for records that can move through more than one path.

Daochi stores public keys, account metadata, app registrations, sync versions, encrypted records, and selected public or social projections. It never stores client private keys. Existing clients can keep using the compatibility wire names while the product name moves from Ksync to Daochi.

Signed accounts

Clients prove account control by signing short-lived challenges. The server issues cacheable bearer tokens for normal sync and social calls.

Encrypted records

Private data can be written as opaque versioned records. The relay stores and orders the blobs without parsing their contents.

App ownership

Registered apps declare collection prefixes, visibility classes, and capabilities 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.

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. Protocol v5 makes encrypted records the primary private-data surface while legacy typed rows remain available when clients ask for compatibility data.

HeadersX-Ksync-User, X-Ksync-Signature, X-Ksync-Client, X-Ksync-Since-Version
Protocolv1-v5 supported through 2027-09-01
Recordsv5 private hierarchy plus legacy encrypted collections
Eventsksync-sync-v1, bearer.<token> WebSocket subprotocol support