Skip to main content

SimpleGo Security Architecture

Security Overview

SimpleGo's security architecture spans three hardware classes, from off-the-shelf development boards to high-security devices with triple-vendor secure elements. This document provides the high-level overview. For technical depth on any specific topic, the detailed documentation is linked at the bottom.


The Smartphone Problem

Modern smartphones present fundamental security challenges that cannot be fully mitigated through software alone.

AspectTypical Smartphone
Lines of Code~50 million (Android/iOS)
Running ProcessesHundreds at any time
Network ConnectionsDozens in background
Trusted PartiesOS vendor, carrier, app developers, ad networks
Update ControlVendor-controlled, can be forced
Baseband ProcessorClosed-source firmware, direct memory access, always active
TelemetryContinuous data collection by multiple parties

The Baseband Problem

Every smartphone contains a baseband processor - a separate computer running closed-source firmware that handles cellular communication. This processor runs proprietary firmware that cannot be audited, has direct memory access (DMA) on many devices, remains active whenever the device has cellular signal, and contains known vulnerability classes (29 bugs found by BASECOMP, USENIX Security 2023). It cannot be disabled without losing cellular functionality and operates independently of the main operating system.

Even hardened mobile operating systems like GrapheneOS, while significantly improving security posture, cannot eliminate this architectural limitation. GrapheneOS provides excellent sandboxing, verified boot, and hardened memory allocation - but it still runs on hardware with a closed-source baseband processor.


The Dedicated Hardware Approach

SimpleGo takes a fundamentally different approach: minimize the trusted computing base (TCB) and eliminate the baseband processor entirely.

Attack Surface Comparison

Smartphone (Android/iOS):             SimpleGo (ESP32-S3):
|-- Operating System (~20M lines) |-- FreeRTOS Kernel (~10K lines)
|-- System Services (~10M lines) |-- Network Stack (~20K lines)
|-- Browser Engine (~5M lines) |-- Crypto Libraries (~15K lines)
|-- JavaScript Runtime +-- SimpleGo Application (~22K lines)
|-- App Framework Total: ~67K lines
|-- Hundreds of Apps
|-- Google/Apple Services Reduction: ~750x smaller
|-- Baseband Processor (closed)
|-- Bluetooth Stack
|-- NFC Stack
+-- Telemetry Services
Total: ~50M lines

What This Eliminates

Threat VectorSmartphoneSimpleGo
Remote Code ExecutionLarge attack surfaceMinimal (WiFi + TLS only)
Supply Chain AttacksHundreds of dependenciesFew, auditable dependencies
Malicious ApplicationsAlways possibleNo app installation
Browser ExploitsMajor risk vectorNo browser
JavaScript AttacksUbiquitousNo JavaScript engine
Telemetry and TrackingBuilt into OSNone
Forced UpdatesVendor-controlledUser-controlled
Baseband AttacksAlways possibleNo baseband processor
Identity TrackingIMEI, phone number, SIMNo persistent identity (SimpleX Protocol)

Three Hardware Classes

SimpleGo implements a tiered security model, allowing users to select hardware appropriate to their threat model.

Hardware Class Comparison

FeatureClass 1Class 2Class 3
MCUESP32-S3 / ESP32-P4STM32U585STM32U5A9
TrustZoneNo (P4: partial via PMS)YesYes
Secure ElementsNone (eFuse + HMAC)1 (ATECC608B)3 (ATECC608B + OPTIGA Trust M + SE050)
Secure BootV2 (RSA-3072)STM32 + SE verificationMulti-stage with triple SE
Flash EncryptionAES-XTS (128 or 256)AES-XTS + SE key wrapAES-XTS + triple SE
Key StorageeFuse HMAC-derivedSecure Element (EAL5+)Triple SE (EAL5+/6+)
NVS EncryptionHMAC-based (runtime derived)SE-backedTriple SE-backed
Tamper DetectionNone (P4: Power Glitch Detect)Light sensor, PCB meshFull environmental suite
Tamper ResponseNoneKey zeroizationSupercapacitor-backed wipe
JTAG ProtectionDisable via eFuseHardware disabledPhysically removed
Security Modes4 (Open/Vault/Fortress/Bunker)2 (Standard/Locked)1 (Always maximum)
Duress PINNo (planned for P4)YesYes
Dead Man's SwitchNoYesYes
Post-Quantum ReadyVerified feasiblePlannedPlanned
Target UsersDevelopers, alpha testers, KickstarterJournalists, activistsHigh-risk individuals, organizations
Estimated PriceEUR 50-100EUR 400-600EUR 1,000-1,500

Cost to Extract Keys (Physical Attack)

Attack MethodClass 1 (no vault)Class 1 (with vault)Class 2Class 3
Flash chip readout ($15 reader)All keys exposedEncrypted (blocked)Encrypted + SEEncrypted + triple SE
Side-channel analysis ($2,000+)N/A (flash is easier)Days to weeks, 1 deviceWeeks to monthsRequires breaking 3 independent SEs
EM fault injection ($30,000+)N/AHours once tuned, 1 deviceSE-specific research neededMust defeat 3 vendors independently

Hardware Class 1: Four Security Modes

Class 1 is unique in offering four progressive security modes on the same hardware. Each mode activates additional eFuse-based protections. Transitions are one-way (lower to higher only) because eFuse burns are permanent.

ModeNameKey ProtectionFirmware ProtectionUpdate MethodProvisioned By
1OpenNone (plaintext in flash)NoneUSB, Web Flash, OTANobody
2NVS VaultHMAC-encrypted (eFuse-derived)None (open source anyway)USB, Web Flash, OTADevice (automatic at first boot)
3FortressHMAC-encryptedAES-XTS flash encryptionOTA onlyManufacturer
4BunkerHMAC-encryptedAES-XTS + RSA-3072 Secure BootSigned OTA onlyManufacturer

Mode 2 (NVS Vault) is the planned default for the Alpha release and Kickstarter devices. Every device generates its own unique 256-bit HMAC key at first boot, burns it into a one-time-programmable eFuse block, and uses the hardware HMAC peripheral to derive NVS encryption keys at runtime. The raw key is hardware-protected and invisible to software. No master key exists. Not even the manufacturer can decrypt a device's stored keys.


Cryptographic Architecture

Every message passes through four cryptographically independent encryption layers. They are nested envelopes, not sequential stages.

LayerAlgorithmLibraryProtects Against
1. Double Ratchet (E2E)X3DH (X448) + AES-256-GCM + HKDF-SHA512wolfSSL + mbedTLSEnd-to-end interception. Perfect Forward Secrecy + Post-Compromise Security.
2. Per-Queue NaClX25519 + XSalsa20 + Poly1305libsodiumTraffic correlation between queues if TLS compromised.
3. Server-to-Recipient NaClX25519 + XSalsa20 + Poly1305libsodiumCorrelation of incoming/outgoing server traffic.
4. TLS 1.3 TransportTLS 1.3, ALPN smp/1mbedTLSNetwork-level interception. Transport only.

Content padding to fixed 16 KB blocks is applied at every layer. A network observer sees only identical-sized packets regardless of actual message length.

Key Storage Hierarchy

Key TypeStorage LocationProtection
Ratchet keys (X448 DH, chain keys)NVS flashHMAC-encrypted (Class 1 Mode 2+), SE (Class 2+)
Per-queue NaCl keypairs (X25519)NVS flashHMAC-encrypted (Class 1 Mode 2+), SE (Class 2+)
Chat history encryption (AES-256-GCM)Derived via HKDFDevice-bound (eFuse HMAC binding)
TLS session keysRAM onlyCleared after session by mbedTLS
Decrypted messagesPSRAM cache (30 msgs)sodium_memzero on exit/switch/timeout

Comparison with Alternatives

SimpleGo vs GrapheneOS

GrapheneOS is the most secure smartphone operating system available. SimpleGo is not a competitor - it is a complementary security layer for communications that require architectural isolation from general-purpose computing.

AspectGrapheneOS (Pixel)SimpleGo Class 1SimpleGo Class 3
TCB Size~50M lines~67K lines~67K lines
BasebandYes (IOMMU isolated)NoneNone
Secure ElementTitan M2 (dedicated, SCA-hardened)eFuse + HMACTriple SE (3 vendors, 3 countries)
Persistent IdentityIMEI, phone numberNone (SimpleX Protocol)None
Encryption Layers2 (Signal: DR + TLS)4 (DR + 2x NaCl + TLS)4
Remote Attack SurfaceLarge (browser, BT, NFC, USB, baseband)Minimal (WiFi + TLS only)Minimal
Physical Attack (Lab)Titan M2 resists wellESP32 eFuse breakable in hoursTriple SE, months+
Daily UseFull smartphoneMessaging onlyMessaging only

SimpleGo vs Criminal Encrypted Phone Networks

Every criminal encrypted phone network shut down to date (EncroChat 2020, Sky ECC 2021, ANOM 2021, Phantom Secure 2018, Ghost 2024) shared the same fatal architecture: modified Android smartphones with centralized server infrastructure. They were compromised through server-side attacks, not by breaking encryption. SimpleX Protocol eliminates the centralized infrastructure. SimpleGo adds hardware key protection that none of these services implemented.

SimpleGo vs LoRa Mesh Devices (Meshtastic, Reticulum)

LoRa mesh messengers achieve three of SimpleGo's target security features: bare-metal firmware, no baseband, and open source. They lack multi-layer encryption (max 2 layers vs 4), have no key protection (keys in unprotected flash), use persistent node identities, and provide no forward secrecy for group messages.

SimpleGo vs Military Devices (Sectra Tiger, Sectéra vIPer)

Military Type 1 devices use classified algorithms, TEMPEST shielding, and tamper detection. They are also proprietary, closed-source, extremely expensive, and bound to military identity systems. SimpleGo is open-source, identity-free, and commercially available.


Known Limitations (Honest Assessment)

No security finding is downplayed. This is an honest inventory.

LimitationApplies ToImpactMitigation
ESP32-S3 AES hardware vulnerable to CPA side-channelClass 1Flash encryption key extractable with $2,000+ equipment, physical access, hours of workHMAC uses SHA-256 (different attack surface), per-device unique keys, Class 2+ for higher protection
Derived NVS keys in RAM without Secure BootClass 1 Mode 2Malicious firmware could read keys from RAMMode 4 (Secure Boot) prevents unauthorized firmware
No DPA countermeasures on ESP32-S3Class 1 (S3)No hardware protection against power analysisESP32-P4 adds anti-DPA pseudo-rounds (unproven effectiveness)
LVGL pool cannot be securely zeroedAll ClassesMessage fragments may persist in UI memory poolLabel clearing + screen destruction, full pool zeroing in Class 3
Post-quantum not yet activeAll ClassesX448/X25519 vulnerable to future quantum computersVerified feasible on hardware, implementation planned

Detailed Documentation

For technical depth on any specific topic, see the Security Architecture documents:

Hardware Class 1 (ESP32-S3 / ESP32-P4)

#DocumentDescription
01Overview and Threat ModelThree security pillars, honest limitations, device comparisons
02ESP32-S3 eFuse Architecture11 blocks, 6 key blocks, read/write protection, espefuse.py reference
03HMAC-Based NVS EncryptionThe vault mechanism, first-boot provisioning, migration, SEC-05 resolution
04Known Vulnerabilities and Attack Research8 CVEs/attacks cataloged, ESP32-S3 applicability matrix
05Attack Equipment EconomicsFour equipment tiers ($400 to $400K), tool names and prices
06Runtime Memory Protectionsodium_memzero, screen lock, Duress PIN and Dead Man's Switch concepts
07Post-Quantum Readinesssntrup761 vs ML-KEM, ESP32 benchmarks, SimpleX compatibility
08Flash Encryption Deep DiveXTS-AES, Dev/Release modes, OTA updates, PSRAM encryption
09Secure Boot V2RSA-3072 chain of trust, key management, anti-rollback
10Four Security ModesOpen/Vault/Fortress/Bunker complete reference
11ESP32-P4 Evolution PathKey Management Unit, anti-DPA, dual-chip architecture
12Implementation PlanConcrete tasks, code examples, test procedures

Hardware Class 2 (STM32U585 + Single Secure Element)

#DocumentDescription
01Overview and ArchitectureComing soon - ATECC608B integration, TrustZone, key lifecycle

Hardware Class 3 "Vault" (STM32U5A9 + Triple Secure Elements)

#DocumentDescription
01Overview and ArchitectureComing soon - Triple-vendor SE, tamper detection, zeroization

The Fundamental Advantage

The security advantage of a dedicated messaging device is not about having better encryption than a smartphone - Signal's Double Ratchet on GrapheneOS is excellent. The advantage is architectural: 67,000 lines of auditable code instead of 50 million. No baseband processor. No browser engine. No app ecosystem. No persistent identity. Four independent encryption layers that protect against different attacker models simultaneously.

The most secure system is the simplest one that does its job correctly.


Document History

VersionDateChanges
3.0March 2026Complete restructure: terminology updated to Hardware Class 1/2/3, four security modes added, CVE research integrated, honest limitations section added, detailed documentation linked (12 Class 1 documents)
2.0January 2026Complete rewrite for three-tier architecture
1.0January 2026Initial security model documentation

SimpleGo - IT and More Systems, Recklinghausen First native C implementation of the SimpleX Messaging Protocol AGPL-3.0 (Software) | CERN-OHL-W-2.0 (Hardware)