GitHub
Wiki
SimpleX Group
Soundtrack
EN DE
Cover-- / ----
--
--
0:00
--:--
Lyrics
Select a track...
Close
SimpleGo zero-knowledge encrypted relay infrastructure. GoRelay dual-protocol server written in Go. SMP SimpleX Messaging Protocol compatible relay server. Self-hosted encrypted messaging server. Private relay infrastructure for organizations. No-log messaging server. No IP tracking. No user accounts. Per-message AES-256-GCM storage encryption with cryptographic deletion. German hosted encrypted communication infrastructure. GDPR compliant messaging server. Data sovereignty for encrypted communication. SimpleX Chat compatible relay. Run your own encrypted messaging server. Enterprise encrypted messaging infrastructure. Healthcare secure messaging server. Private SMP server for medical practices. Zero-knowledge architecture communication. Encrypted relay server comparison. Most private messaging server. Decentralized encrypted communication network. Self-hosted alternative to Signal server. Private messaging infrastructure for business. Encrypted communication for law firms.

SimpleGo Network

SimpleGo runs its own relay infrastructure built on GoRelay - our zero-knowledge dual-protocol server written in Go. Fully compatible with SimpleX Chat. No accounts, no logs, no metadata. From dedicated hardware through encrypted relays to any SMP-compatible app.

3
Networks
3
Protocols
SimpleX Compatible
0
Accounts Required

Our Infrastructure

Three networks, all operated by SimpleGo from German infrastructure. Free for personal use. Dedicated enterprise infrastructure with SLAs and custom domains is available in the Pro section - pricing and rental models coming soon.

SimpleGo SMP
Building
Message relay running the official SimpleX server software. Delivers encrypted messages between SimpleGo devices and any SimpleX Chat app on iOS, Android, or desktop.
smp.simplego.dev
xftp.simplego.dev
SMP v7 with Private Message Routing
XFTP encrypted chunked file transfer
TLS 1.3 with Ed25519 + X25519 handshake
German hosting, LUKS full-disk encryption
Zero-knowledge, no IP logging in codebase
GoRelay
Building
Our own relay server written in Go. Runs the GoRelay Protocol with Noise Framework encryption for IoT and microcontrollers. Single binary, zero runtime dependencies.
grp.gorelay.dev
xftp.gorelay.dev
GRP/1 via Noise IK/XX with mutual auth
XFTP encrypted chunked file transfer
Per-message AES-256-GCM with key deletion
German hosting, LUKS full-disk encryption
ML-KEM-768 + X25519 post-quantum (planned)
LoRa Mesh
Building
Meshtastic LoRa gateways bridging radio mesh to our SMP relays. No internet needed on the device - encrypted messages reach any SimpleX client via 868 MHz.
868 MHz LoRa (EU)
2-3 Gateways (NRW)
Meshtastic mesh on ESP32 + SX1262 radio
LoRa-to-SMP bridge via gateway WiFi link
2-15 km per hop, automatic mesh relay
Native SimpleGo LoRa or external bridge
Full 4-layer encryption preserved end-to-end

What is GoRelay?

GoRelay is our own encrypted relay server, written in Go. It exists because microcontrollers need infrastructure that understands their constraints - limited memory, intermittent connectivity, no operating system - while providing the same security as any desktop app.

GoRelay compiles to a single binary with zero dependencies. Download, configure, run. It stores and forwards encrypted blobs without the ability to read, modify, or correlate message content. This is not a policy - the code to read messages does not exist in the binary.

The server runs two protocols simultaneously. SMP v7 provides full compatibility with every SimpleX Chat client on every platform - a SimpleGo device and a phone user see the same message. GRP is our new protocol designed specifically for dedicated hardware, IoT sensors, and environments where "optional security" is not acceptable.

Every message gets its own encryption key in the database. When a message is acknowledged, the key is cryptographically destroyed before the database entry is removed. Even forensic recovery of deleted data produces only ciphertext with a zeroed key.

GoRelay at a Glance
LanguageGo 1.24+
Binary~15 MB, single file
Memory12.5 MB idle
StorageBadgerDB v4
TransportTLS 1.2 + Noise
Block size16,384 bytes fixed
LicenseAGPL-3.0
SourceGitHub

SMP + GRP

GoRelay runs two protocols on the same server, sharing a single encrypted queue store. A hardware device sending via GRP and a phone user reading via SMP see the same message.

SMP v7
Port 5223 - SimpleX Messaging Protocol
The proven, audited protocol used by the entire SimpleX ecosystem. Any SMP-compatible client connects and exchanges messages through GoRelay. Verified against the SimpleX Chat desktop app on March 22, 2026.
Ed25519 + X25519 handshake
Session binding via tls-unique (RFC 5929)
Full command set: NEW, SUB, KEY, SEND, ACK, DEL
Message routing (PFWD/RFWD) for Private Message Routing
Compatible with SimpleX Chat, SimpleGo, and any SMP client
GRP/1
Port 7443 - GoRelay Protocol (3 instances, building)
Designed for microcontrollers, IoT infrastructure, and environments where every security feature is mandatory. No flags to disable encryption, no fallback to plaintext, no negotiation downward.
Noise Protocol Framework (IK/XX patterns)
ML-KEM-768 + X25519 hybrid post-quantum key exchange
Two-hop relay routing (no single server knows both parties)
Mandatory encryption for every connection, no exceptions
Optimized for constrained devices (ESP32, STM32, bare metal)

Fully SimpleX Compatible

SimpleGo speaks standard SMP v7. When a SimpleGo user shares an invitation link with someone using the SimpleX Chat app on their phone, the connection works across server boundaries automatically. No configuration, no special versions.

SimpleGo (ESP32-S3) --SMP--> smp.simplego.dev / grp.gorelay.dev
SimpleX Chat (iOS/Android/Desktop) --SMP--> any SMP server
Cross-server messaging works automatically via SMP protocol design
SimpleGo Servers
smp.simplego.dev
grp.gorelay.dev
SimpleX Servers
smp11-14.simplex.im
+ community servers
Self-Hosted
Your own SMP server
or GoRelay instance

Security by Construction

These are not configuration options. They are structural properties of the code. The code to violate them does not exist in the binary.

No IP Logging
Not disabled by configuration - the logging code does not exist. There is no flag to turn it on because the functionality was never written.
Per-Message Encryption
Every message in BadgerDB has its own random AES-256-GCM key. Compromising the database file reveals only ciphertext.
Cryptographic Deletion
On acknowledgment, the message key is zeroed before the entry is removed. Forensic recovery finds only destroyed keys.
Constant-Time Auth
Signature verification runs identically for existing and non-existing queues. Timing attacks cannot reveal whether a queue ID exists.
Fixed 16 KB Blocks
Every transmission is padded to exactly 16,384 bytes. An observer cannot determine message size, type, or whether a block contains data or padding.
48h TTL + Auto-Purge
Messages expire after 48 hours (max 7 days). Garbage collection runs every 5 minutes. Nothing accumulates.

What the Server Cannot See

Even if every relay were operated by an adversary, the protocol's layered encryption and unidirectional queues prevent meaningful surveillance.

InformationTraditional ServerSimpleX / GoRelay
Message contentOften accessible (Telegram server-side, email plaintext)Four encryption layers - impossible
Sender identityKnown via account or phone numberUnknown - no accounts exist
Recipient identityKnown via account or phone numberUnknown - queue IDs are random
Who talks to whomFull contact graph availableCannot correlate - queues are unlinkable
Group membershipComplete group lists storedNo groups at protocol level - only individual queues
Message historyStored indefinitelyCryptographically deleted after delivery

Run Your Own GoRelay

GoRelay is open source under AGPL-3.0. A single Go binary, no dependencies. Your SimpleGo device can use your private server exclusively or alongside the public relays.

GoRelay Quick Start
# Build from source
git clone https://github.com/
  saschadaemgen/GoRelay.git
cd GoRelay
go build -o gorelay ./cmd/gorelay
# Run (generates certs on first start)
./gorelay --host relay.yourdomain.com
# Output:
smp://<fingerprint>@relay.yourdomain.com:5223
What You Need
> Any Linux server (runs on 512 MB RAM)
> Go 1.24+ for building from source
> Port 5223 (SMP) and optionally 7443 (GRP)
> A domain name pointed at the server
> Admin dashboard on localhost:9090

Or use the official SimpleX server: simplex.chat/docs/server.html

From Silicon to Server

SimpleGo and GoRelay form a complete communication stack from hardware to relay. No third-party OS, no app store, no trust in anyone else's infrastructure.

Cover fullscreen