Download v0.8.14 ↗
PEER-TO-PEER MESSAGING

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.

CURRENT RELEASEDesktop alpha · C++
A DIFFERENT KIND OF MESSENGER

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.

01 / DIRECT BY DEFAULT
↗↙

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.

02 / CRYPTOGRAPHIC IDENTITY

Your key is your address.

No email. No phone number. No centralized account provider.

03 / PRACTICAL CONNECTIVITY

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.

NATIVE FROM THE TRANSPORT UP

Small footprint.
Serious stack.

Built in C++ with deliberate control over every layer that matters: identity, transport, connectivity, encryption, and persistence.

Read the source ↗
01TRANSPORTQUIC over UDP↗
02ENCRYPTIONTLS 1.3↗
03IDENTITYEd25519↗
04CONNECTIVITYICE / STUN / TURN↗
05STORAGESQLite↗
GET CONNECTED

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.

01 / INSTALL

Get the latest client

Download the release archive for your operating system and follow the platform-specific instructions included with that build.

02 / FIRST LAUNCH

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.

03 / CONNECT

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.

PRIVATE CONNECTIONS, BY DESIGN

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.

RELAY & ROOMS

Discovery is not
the conversation.

A rendezvous service helps peers discover each other. A relay can carry traffic when a direct route is unavailable.

SERVER ADDRESSUse the relay address configured for your build.

No public relay endpoint is published in the current project information.

AVAILABILITYDepends on the configured operator.

There is no uptime commitment stated here. Direct peer connections do not depend on an always-on message inbox.

ROOM USAGEUse rooms supported by your client.

Room discovery and membership are client/protocol features; a relay transports packets and should not be treated as message storage.

WHEN SOMETHING GOES WRONG

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.

LATEST RELEASE

Choose your platform.
Start a conversation.

Download the latest release archive, then use the matching client build inside.

LATEST RELEASE · RELEASE NOTES & CHECKSUMS
SOURCE & SUPPORT

Built in the open.

Read the code, report a problem, or request help through the project repository. GitHub Issues is the published support contact.

For useful reports, include your operating system, client version, and a concise reproduction. Never post private keys.