Private by default,
not by promise.
hush provides composable infrastructure for encrypted sync, device pairing, and relay delivery, all without trusting any server, without accounts, and without lock-in.
Hush_Stack
MADE OF COMPOSABLE PRIMITIVES IMPLEMENTING HUSH PROTOCOL
The wire protocol specification governing all communication between sync clients and relays. Pure documentation, no code, no library. Any client that speaks the spec works against any relay that speaks it.
E2EE sync engine. Device pairing, group membership, addressed encryption, and guaranteed outbox replay. Drop it in and your data is encrypted before it leaves the device.
Noise Protocol Framework in Rust. Authenticated, forward-secret encrypted channels. The same foundation as WireGuard and Signal.
Zero-knowledge blob router. Holds ciphertext for offline devices and delivers on reconnect. Self-hostable on any server. Structurally incapable of reading content.
DESIGN_PRINCIPLES
CORE GUARANTEES THAT THE DESIGN IS BASED ON
01 // Zero Trust
Data is encrypted on device before it moves anywhere. The relay receives ciphertext and has no keys. An adversary who fully compromises the relay gains nothing but encrypted blobs.
02 // Anonymity
No accounts, no registration, no human identity. A device is a keypair. Push sessions use fresh ephemeral keys. The relay server cannot compose a communication graph.
03 // Guaranteed Delivery
A blob sent will reach every group member eventually, unconditionally. Undelivered blobs are held by the relay and stored in the sender’s outbox until confirmed.
04 // No Lock-In
Any relay instance works, self-hosted or public. The hush wire protocol is the only dependency, and it’s an open spec anyone can implement. Wit hush protocol relay is structurally incapable of reading it.
START BUILDING
Pick your platform.
Your data stays yours.
hush-sync ships as a native SDK for Go, Swift, and Kotlin. Drop it in and encryption happens before data leaves the device — no server changes, no key management, no trust required.
Browse SDKs arrow_forward