Private by
design.
Your conversations travel encrypted between peers, without a central inbox. Start with the latest desktop client and connect using a cryptographic identity.
Relay fallback when needed
Less platform.
More protocol.
nullnet removes the central service from the conversation path. What remains is a focused native client, an open protocol, and the shortest viable route between two peers.
A conversation with no inbox in the middle.
Messages move between participants whenever the network permits a direct route. A rendezvous service helps peers meet—it does not process conversation history.
Your key is your address.
No email. No phone number. No centralized account provider.
Direct when possible. Relayed when necessary.
ICE and STUN search for a direct route. TURN keeps the connection moving when restrictive networks get in the way.
Small footprint.
Serious stack.
Built in C++ with deliberate control over every layer that matters: identity, transport, connectivity, encryption, and persistence.
Read the source ↗From first launch
to first message.
Install the client, create a local cryptographic identity, then connect directly when possible. A relay can help when the network blocks a direct route.
Get the latest client
Download the release archive for your operating system and follow the platform-specific instructions included with that build.
Create your identity
On first launch, create or load a key identity. Keep a backup somewhere safe: the key is your address and is needed to recover access.
Choose a route
Start a direct conversation using the other peer’s identity. If a direct path cannot be established, configure an available relay and retry.
Direct first. Relay if needed.
Peer discovery helps the clients meet. Conversation traffic travels directly when possible; relay transport is a fallback for restrictive networks.
Your keys.
Your conversations.
Cryptographic identities replace centralized accounts. TLS 1.3 protects peer traffic end to end, including when a relay helps carry packets.
Your identity belongs to you.
Ed25519 keys identify peers without an email address or central account. Share your public identity; keep the private key secret.
Only peers can read conversation traffic.
TLS 1.3 protects contents between connected peer clients. Relays carry ciphertext, not message plaintext.
Network details may still be visible to relays.
A TURN operator may observe IP addresses, timing, and traffic volume.
Protect the device that holds your keys.
Local SQLite history and identity material are not encrypted at rest today.
Discovery is not
the conversation.
A rendezvous service helps peers discover each other. A relay can carry traffic when a direct route is unavailable.
No public relay endpoint is published in the current project information.
There is no uptime commitment stated here. Direct peer connections do not depend on an always-on message inbox.
Room discovery and membership are client/protocol features; a relay transports packets and should not be treated as message storage.
Quick checks.
Clear next steps.
These checks address common build, certificate, and connectivity failures. Include the exact error and your platform when asking for help.
Build fails or a dependency is missing +
Follow the build instructions in the repository for your operating system, install the listed compiler and dependencies, then start from a clean build directory. Include the first compiler error in an issue if it persists.
Certificate or TLS verification fails +
Check that the system clock is correct and the certificate matches the peer or relay you intended to reach. Do not disable certificate verification to work around the error; report the certificate message and connection target.
Peers cannot connect directly +
Confirm both clients are online and using compatible builds. Some NATs and firewalls block direct paths; configure a supported relay and retry. Share the ICE/connection status in a support issue, but remove private keys and sensitive logs.
Choose your platform.
Start a conversation.
Download the latest release archive, then use the matching client build inside.
Built in the open.
Read the code, report a problem, or request help through the project repository. GitHub Issues is the published support contact.