txts
SECURE MESSENGER · END-TO-END ENCRYPTED

Messages only you can read. Your server. Your keys. Your chat.

The server never sees your plaintext – even someone who controls or hacks it only gets unreadable gibberish.

Live demo

Watch the encryption happen.

This is how every message travels through txts: encrypted on your device, an unreadable blob through the server, plaintext again only at the recipient.

A Alice
typing…
🔒
encrypted
on device
blind
Your server
only sees
 
🔒
ciphertext only
in transit
B Bob
waiting…
The keys for it exist only on Alice's and Bob's devices – never on the server.

Architecture

The server is blind.
By design.

The entire design follows one rule: the server must never see plaintext or private keys. Everything security-critical happens on your device.

01 / DEVICE

Your device

The app runs on iOS, Android, Windows, macOS and Linux – one codebase for every platform. The UI deliberately contains no crypto of its own.

02 / CORE

Rust core

The only place where encryption happens: a lean Rust core with OpenMLS (MLS, RFC 9420) – right on the device.

03 / KEYS

Secure key storage

Private keys live in your operating system's Keychain or Keystore. They never leave the device.

04 / RELAY

Blind relay server

A "dumb mailbox": it stores encrypted blobs and delivers them in real time. Self-hosted on your VPS.

A message from Alice to Bob

  1. 1
    Setup: Bob locally generates KeyPackages – public "mailboxes" with no secrets – and uploads them to the server.
  2. 2
    Start chat: Alice fetches Bob's KeyPackage and builds an encrypted MLS group locally. A 1:1 chat is simply a group of two.
  3. 3
    Invite: Alice sends Bob an encrypted "Welcome" via the server – which never knows the content.
  4. 4
    Join: Bob joins the group. Both now share the same group state, without the server ever having seen a key.
  5. 5
    Talk: encrypt → blob → server → real-time delivery → decrypt. The server only ever saw gibberish.

Security

No DIY crypto.
No trust required.

txts invents no crypto of its own – the single most common source of failure. Instead: the standardized MLS protocol via the proven open-source library OpenMLS.

MLS · RFC 9420 X25519 AES-128-GCM SHA-256 Ed25519 Forward Secrecy Post-Compromise Security
DataDoes the server see it?
Message content No – only ciphertext blobs
Private keys No – they never leave the device
Media & files No – uploaded locally encrypted
Public KeyPackages Yes – that's their purpose, they hold no secrets
Metadata (who, with whom, when) Yes – only what delivery technically requires

Premium

Free stays free.
Premium carries the heavy stuff.

Messages, calls, photos, groups – all free, forever. Premium covers the one thing that genuinely costs us money: very large files and very large communities going through our pipe.

Files up to 10 GB

Straight to your contacts, in stages and end-to-end encrypted – no size limit like on a normal attachment.

Photos and videos in HD

Send with less compression: 2560 instead of 1600 pixels on the short edge, video in 1080p instead of 720p.

Animated profile picture

A three-second video that loops silently. Longer clips can be trimmed right in the app.

Communities without a cap

Normal communities hold 100 members. Premium removes that limit for three of them; each further one is CHF 1 a month.

See without being seen

Hiding your “last seen” or read receipts normally hides them from you too. With Premium you stay hidden and still see them.

Verified account

A check mark next to your name. It means “confirmed premium account” – no more, no less.

CHF 3 a month · or CHF 29 a year Coming soon

Download

Now for Windows.
Soon everywhere.

txts runs from one codebase on all your devices. You can download the Windows app right now – iOS, Android, macOS and Linux follow.

iOS

For iPhone and iPad
on the App Store

Coming soon

Android

For all Android devices
on Google Play

Coming soon

Windows

Windows 10 / 11
64-bit

Download ZIP with installer · approx. 21 MB · version 1.0.0
Installation: unzip and run txts-setup-1.0.0.exe. The installer is not yet signed with a paid certificate – so Windows SmartScreen may show "Windows protected your PC". Click More info and then Run anyway. The app installs into your user account without admin rights.