Daochi

Mesh-native sync for app-owned data

Daochi

A sync relay and protocol surface for native, web, desktop, mobile, and TUI apps that need signed identity, encrypted private records, signed app registration, 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 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.

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