SimpleGo implements the complete SimpleX cryptographic stack natively in C on bare-metal microcontrollers. Four nested cryptographic envelopes per message, routed through TLS 1.3 transport via two relay servers. All content padded to fixed 16 KB blocks.
Most messaging protocols use two encryption layers: end-to-end encryption plus TLS transport. SimpleGo wraps every message in four nested cryptographic envelopes and routes them through three separate TLS 1.3 tunnels via two relay servers. Each layer defends against a different threat.
Every key agreement in the SimpleGo ecosystem is protected against both classical and quantum-level computation. The approach uses hybrid cryptography: a classical algorithm and a post-quantum algorithm combined so that breaking either alone is insufficient.
Streamlined NTRU Prime 761 KEM integrated directly into the X448 Double Ratchet. Every key agreement during the ratchet advance includes a post-quantum component. Implemented natively in C on the ESP32-S3.
The GoRelay Protocol (GRP) uses ML-KEM-768 (FIPS 203, formerly CRYSTALS-Kyber) hybridized with X25519 for transport encryption via the Noise Protocol Framework. Mandatory on every GRP connection - no fallback to classical-only.
Why two PQ algorithms? SimpleGo uses sntrup761 (NTRU lattice family) for the Double Ratchet E2E layer. GoRelay uses ML-KEM-768 (MLWE lattice family, NIST standardized) for transport. Different mathematical foundations ensure that a breakthrough against one family does not compromise the other. The ecosystem is resilient against advances in both classical and quantum cryptanalysis.
The SimpleX Protocol uses no persistent user identity of any kind: no phone numbers, no usernames, no public keys as identifiers. Communication happens through ephemeral unidirectional message queues. No party, including relay servers, can correlate senders and recipients.
| Protocol | User Identifier | Enc. Layers | E2E Default | Contact Graph Visible | Forward Secrecy | Post-Quantum |
|---|---|---|---|---|---|---|
| SMS / RCS | Phone number + IMSI | 0 (plaintext) | No | Yes | No | No |
| Telegram | Phone number | 1 (E2E optional) | No | Yes | No | No |
| iMessage | Apple ID | 2 | Yes | Yes | Partial | Yes (PQ3) |
| Phone number | 2 | Yes | Yes | Yes | No | |
| Signal | Phone number | 2 | Yes | Partial | Yes | Yes (PQXDH) |
| Threema | Random ID | 2 | Yes | Yes | Partial | No |
| Matrix | Username@server | 2 | Yes | Yes | Partial | No |
| Session | Session ID (pubkey) | 2 | Yes | Reduced | No | No |
| Briar | Public key (Tor) | 2 | Yes | Reduced | Yes | No |
| SimpleX / SimpleGo | None | 4 + 3 TLS | Yes | No | Yes | Yes |
The SimpleGo ecosystem controls the entire communication path. SimpleGo is the hardware client. GoRelay is the relay server. Both are open source, both are under one codebase's control.
Native C on ESP32-S3. 47 source files, 21,863 lines. FreeRTOS, mbedTLS, libsodium. Four encryption layers per message. sntrup761 post-quantum. AES-256-GCM encrypted SD storage.
Go single binary. Zero-knowledge by construction. Per-message AES-256-GCM storage encryption with cryptographic deletion. SMP v7 compatible. GRP protocol planned with Noise + ML-KEM-768.
Every cryptographic primitive runs natively in C. No interpreters, no virtual machines, no garbage collectors between your keys and the hardware.
The SimpleX SMP protocol underwent a comprehensive cryptographic design review by Trail of Bits. The review assessed the protocol's security properties and formally verified the queue negotiation protocol. SimpleGo implements this exact protocol specification.
SimpleGo's own codebase is fully open source under AGPL-3.0. Every line of cryptographic code is publicly auditable on GitHub. An independent security audit of the C implementation is planned once the protocol stack is feature-complete.
All source code, protocol documentation, and hardware schematics are published under open-source licenses. Security claims that cannot be independently verified are marketing, not engineering.
The strongest cryptographic architecture in the world is only as secure as the platform it runs on. SimpleGo combines both.