Secure Matrix communication terminal with native Rust cryptography.
End-to-end encrypted. Federated. Built for dedicated hardware.
SimpleGoX is a Matrix client built from the ground up for security and dedicated hardware. Unlike browser-based clients, SimpleGoX runs all cryptography natively in Rust - encryption keys never touch the WebView.
The project consists of three products sharing a common Rust core:
| Product | Description | Status |
|---|---|---|
| SimpleGoX Desktop | Tauri desktop client for Windows and Linux | In development |
| SimpleGoX Chat | Embeddable E2E-encrypted website chat widget | Planned |
| SimpleGoX ESP | ESP32 IoT devices that speak Matrix | Planned |
Native cryptography. Element Desktop runs vodozemac as WASM inside Chromium. SimpleGoX runs vodozemac natively in Rust, outside the WebView process. Keys never enter the browser context. This is a measurable reduction in attack surface.
Small and fast. Tauri produces a 5-10 MB installer instead of 200+ MB (Electron). Starts in under a second. Uses the system WebView instead of bundling Chromium.
Hardware-ready. The same codebase runs on Windows, Linux desktop, and Raspberry Pi. The long-term goal is a dedicated hardware terminal with secure elements and tamper detection.
SimpleGoX separates the UI from all security-critical operations. The WebView (frontend) handles display only. All Matrix logic, encryption, and key management run natively in Rust, in a separate process that the WebView cannot access.
Frontend (WebView) - HTML/CSS/JS, display only, no access to keys or tokens.
Tauri Commands (IPC) - The only bridge between frontend and backend. Passes serialized data, never key material.
Rust Backend - sgx-core wraps matrix-sdk and vodozemac. Crypto runs here natively. Keys never leave this process.
All encryption is handled by vodozemac, the same library used by Element X, audited by Least Authority. SimpleGoX uses it natively through matrix-rust-sdk, not compiled to WASM.
| Feature | Status |
|---|---|
| Olm/Megolm (E2E encryption) | Working |
| Cross-signing (MSC4153) | Working |
| Key backup with recovery key | Working |
| Device verification (SAS) | Working |
- End-to-end encrypted messaging (Olm/Megolm via vodozemac)
- Cross-signing with recovery key
- Federation (tested: simplego.dev <-> matrix.org)
- Room list with encryption indicators
- Live message sending and receiving
- Typing indicators (send and receive)
- Read receipts
- Message grouping and date separators
- Sender colors
- Settings screen with privacy controls
- Dark theme
- Rust 1.85+ (via rustup)
- Node.js 20+ (via nodejs.org)
- Tauri CLI:
cargo install tauri-cli --version "^2"
Windows: Visual Studio Build Tools (installed automatically by rustup)
Linux: sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
cd SimpleGoX
npm install
cargo tauri devcargo tauri buildOutput: .msi (Windows) or .deb/.AppImage (Linux) in target/release/bundle/
SimpleGoX/
├── crates/
│ ├── sgx-core/ # Shared Matrix client logic
│ ├── sgx-terminal/ # CLI client
│ └── sgx-iot/ # IoT tools
├── src-tauri/ # Tauri Rust backend
│ └── src/
│ ├── lib.rs # App entry point
│ └── commands.rs # IPC command handlers
├── src/ # Web frontend
│ ├── index.html
│ ├── js/app.js
│ └── styles/main.css
└── docs/
└── public/ # Documentation
| Project | Description | Repository |
|---|---|---|
| SimpleGoX | Desktop client and core library | GitHub |
| SimpleGoX Chat | E2E-encrypted website chat widget | GitHub |
| SimpleGoX ESP | ESP32 Matrix IoT devices | GitHub |
SimpleGoX is the successor to SimpleGo (ESP32 hardware messenger) and GoChat (browser chat widget), now built on the Matrix protocol instead of SimpleX.
SimpleGoX includes deployment support for Tuwunel, a lightweight Rust-based Matrix homeserver. The project maintains a public instance at matrix.simplego.dev for development and testing.
SimpleGoX works with any Matrix homeserver (Synapse, Dendrite, Tuwunel, Conduit).
| Phase | Focus | Status |
|---|---|---|
| Season 1 | Foundation - core client, homeserver, federation, desktop GUI | In progress |
| Season 2 | Polish - Svelte migration, notifications, multi-account | Planned |
| Season 3 | Raspberry Pi image (minimal Linux) | Planned |
| Season 4 | Hardened Linux (Buildroot/Yocto, read-only, encrypted storage) | Planned |
| Season 5+ | Custom hardware with secure elements | Future |
Apache-2.0
matrix-rust-sdk (Matrix client SDK) - vodozemac (Olm/Megolm cryptography) - Tauri (desktop framework) - Tuwunel (homeserver)
SimpleGoX is an independent open-source project by IT and More Systems, Recklinghausen, Germany.