Passkey-native, bot-resistant, human-first communication. End-to-end encrypted. Open standard. No email, no phone, no password.
⚠️ Pre-beta, not externally audited. RENEX Protocol v1 has not undergone third-party security review. Do not use for high-risk scenarios (whistleblowing, activist coordination in hostile jurisdictions, persistent journalism sources) until v1.0 audit is complete (planned Year 2). See
docs/THREAT_MODEL.mdfor the full security assumptions and acknowledged weaknesses.
🇬🇧 English · 🇩🇪 Deutsch ↓
RENEX is a messenger and an open protocol for real-time communication, built on three non-negotiable promises:
Modern communication platforms optimize for growth, engagement, and automation. RENEX optimizes for trustworthy human communication.
Tagline: YOU ARE THE KEY.
Pre-beta. Currently stable:
In progress: Discord-style servers/channels (Phase 3A), voice channels + Signal Protocol migration (Phase 8, Q4 2026), Steam Rich Presence + Hardware-Attestation (Phase 9). Full roadmap: docs/VISION.md §10.
If you want to build a RENEX-compatible implementation:
docs/MANIFESTO.md — what we're building fordocs/VISION.md — how we're buildingdocs/PROTOCOL.md — what we're building (Wire-Format v1)docs/MULTI_DEVICE.md, docs/RECOVERY.md, docs/GROUPS_MULTIDEVICE.md — sub-specsdocs/THREAT_MODEL.md — security assumptions + acknowledged weaknesses# Prereqs: Node 20+, npm 10+, wrangler 3+, Cloudflare account
git clone https://github.com/bruno-renex/renex.git
cd renex
npm install
npm test # Vitest, ~17s, 460 tests
npm run dev # Frontend dev server
Full guide: docs/CONTRIBUTING.md §2.
Frontend (Svelte 5 + PWA) ──WebSocket──▶ Cloudflare Workers
│ │
├─ WebAuthn (Passkey) ├─ D1 (Messages, Users, Devices)
├─ WebCrypto (AES-GCM, ECDH P-256, ECDSA) ├─ KV (Pubkeys, CMKs hot-cache)
├─ IndexedDB (encrypted local cache) ├─ R2 (Recovery bundles)
└─ WebRTC (Voice, encrypted SDP) └─ Durable Objects (User sessions)
Voice 1:1 uses a self-hosted coturn relay on Hetzner DE — separate from Cloudflare. The TURN relay only sees encrypted SRTP packets; server never sees decrypted media.
Tri-license setup:
docs/, frontend/): MIT OR Apache-2.0 — your choicesrc/): AGPL-3.0-onlyWhy: spec and frontend should spread as widely as possible. AGPL on the server prevents hyperscalers from running proprietary forks without contributing back. Full rationale: LICENSE.
PRs welcome — please read docs/CONTRIBUTING.md first. Spec-first rule: for wire-format changes, spec before code.
Contributions require Signed-off-by (Developer Certificate of Origin, kernel-style).
Bug reports: GitHub Issues. Security vulnerabilities: NOT as issues — see SECURITY.md.
Full list: docs/VISION.md §12.
Made in Switzerland 🇨🇭 — by Bruno Hochstrasser and contributors.
Passkey-native, bot-resistant, human-first. Ende-zu-Ende-verschlüsselt. Offener Standard. Keine E-Mail, kein Telefon, kein Passwort.
RENEX ist ein Messenger und ein offenes Protokoll für Echtzeit-Kommunikation, gebaut auf drei nicht-verhandelbaren Versprechen:
Moderne Kommunikations-Plattformen optimieren auf Wachstum, Engagement und Automatisierung. RENEX optimiert auf vertrauenswürdige menschliche Kommunikation.
Tagline: YOU ARE THE KEY.
Pre-Beta. Aktuell stable:
In Arbeit: Discord-Style Server/Channels (Phase 3A), Voice-Channels + Signal-Protocol-Migration (Phase 8, Q4 2026), Steam Rich Presence + Hardware-Attestation (Phase 9). Vollständige Roadmap: docs/VISION.md §10.
Wenn du eine RENEX-kompatible Implementierung bauen willst:
docs/MANIFESTO.md — wofür wir bauendocs/VISION.md — wie wir bauendocs/PROTOCOL.md — was wir bauen (Wire-Format v1)docs/MULTI_DEVICE.md, docs/RECOVERY.md, docs/GROUPS_MULTIDEVICE.md — Sub-Specsdocs/THREAT_MODEL.md — Threat-Model + acknowledged weaknesses# Voraussetzungen: Node 20+, npm 10+, wrangler 3+, Cloudflare Account
git clone https://github.com/bruno-renex/renex.git
cd renex
npm install
npm test # Vitest, ~17s, 460 Tests
npm run dev # Frontend Dev-Server
Volle Anleitung: docs/CONTRIBUTING.md §2.
Frontend (Svelte 5 + PWA) ──WebSocket──▶ Cloudflare Workers
│ │
├─ WebAuthn (Passkey) ├─ D1 (Messages, Users, Devices)
├─ WebCrypto (AES-GCM, ECDH P-256, ECDSA) ├─ KV (Pubkeys, CMKs hot-cache)
├─ IndexedDB (encrypted local cache) ├─ R2 (Recovery-Bundles)
└─ WebRTC (Voice, encrypted SDP) └─ Durable Objects (User-Sessions)
Voice 1:1 nutzt einen self-hosted coturn-Relay auf Hetzner DE — getrennt von Cloudflare. Der TURN-Relay sieht nur verschlüsselte SRTP-Pakete; Server sieht zu keinem Zeitpunkt entschlüsseltes Medien-Material.
Tri-License-Setup:
docs/, frontend/): MIT ODER Apache-2.0 — deine Wahlsrc/): AGPL-3.0-onlyWarum: Spec und Frontend sollen sich maximal verbreiten. AGPL beim Server verhindert, dass Hyperscaler eigene SaaS-Forks ohne Code-Beitrag betreiben. Vollständige Erklärung: LICENSE.
PRs willkommen — bitte zuerst docs/CONTRIBUTING.md lesen. Spec-First-Regel: bei Wire-Format-Änderungen erst die Spec, dann der Code.
Contributions benötigen Signed-off-by (Developer Certificate of Origin, Linux-Kernel-Style).
Bug-Reports: GitHub Issues. Security-Vulnerabilities: NICHT als Issue — siehe SECURITY.md.
Vollständige Liste: docs/VISION.md §12.
Made in Switzerland 🇨🇭 — von Bruno Hochstrasser und Contributors.