Skip to content

Downloads

Nothing here is an installer yet.

Every row below says which of three things it is: available now, buildable from source today, or not written yet. A project that dresses up the third as the first is not worth trusting with your messages.

  • Available nowA signed, packaged build you can install.
  • Build from sourceWorks today, but you compile it yourself.
  • Coming soonIn development. There is no file to download.

Platforms

Linux, macOS and BSD — daemon + CLI

Build from source

The daemon, the agent API and the nex command-line client. This is the part that works today.

Two daemons complete a PQXDH handshake, run a Double Ratchet and exchange a real encrypted message; the CLI acts as both the untrusted agent and the human approver. There is no packaged binary and no installer — you build it with cargo. A Rust toolchain is the only prerequisite.

git clone https://github.com/pstuart/xen
cd xen
cargo build --release

Local web client

Build from source

The Nuxt interface, run on your own machine in front of your own daemon.

It talks to the daemon over a Unix socket through a server-side bridge, so nothing is exposed on a network port. It is not the same thing as this website: a page served from nex.stuarttech.com cannot reach a socket on your machine, and it is not supposed to be able to.

cd web
bun install
bun run dev

macOS app

Coming soon

A native menu-bar client with the approval prompt built in.

In development. Approving an agent is the thing a native app is genuinely better at, because it can hold the approver key in the Keychain and prove which binary is asking. No build to install yet.

iOS app

Coming soon

A mailbox-backed client with push notifications.

In development, and the largest single piece of remaining work. A phone cannot hold a peer-to-peer connection open in the background, so iOS is a mailbox client by design. Nothing is on TestFlight yet.

Hosted web client

Coming soon

Zero-install messaging in a browser tab — with weaker guarantees, stated up front.

Designed but not built. When it exists it will carry a permanent badge saying so, because a browser client cannot match the native apps: the keys live in the page, and the origin serving the JavaScript could serve different JavaScript tomorrow. Read the security page before you decide it is good enough for what you need.

Two things worth knowing before you build