Encrypted realtime, by default.

Tacenta is messaging infrastructure for your app. Every message is end-to-end encrypted with the Signal protocol; the relay routes ciphertext and never holds a key or a plaintext.

End-to-end encrypted

Sessions use the Signal protocol: X3DH with a post-quantum Kyber prekey and the Double Ratchet. Keys live on the device, never the server.

A blind relay

The relay depends only on the wire and delivery layers, so it has no code path to a plaintext. It moves sealed envelopes between devices.

A machine-checked core

The wire codec, the delivery state machines, and the directory trust-on-first-use rule are translated to Lean and proven against a specification. The theorems hold of the shipped Rust, not a model of it.

How it works

A tenant is your organisation; you sign up once and receive an API key that scopes your users. Each user in your tenant is addressed by a handle like your-tenant/alice. Your app uses the SDK to sign users in, open a room, and send. The encryption happens on the device.