Überprüfe es in 2 Minuten
Drücke F12 in deinem Browser. Keine Installation nötig. Keine Programmierkenntnisse erforderlich.
| Behauptung | So überprüfst du es | Tab |
|---|---|---|
| Keine Cookies jeglicher Art | Application → Cookies → leer. Solo2 installiert keine Cookies. Deine Sitzung wird in localStorage aufrechterhalten, nicht in Cookies. Ohne _ga |
Application |
| Keine Drittanbieter-Dienste in der App | Network → nach Domain filtern → nur Anfragen an solo2.net |
Network |
| Analytics nur auf dem Landing, nicht in der App | Network → nur auf dem Landing (Wurzel), nicht auf /app/* |
Network |
| Dein Verlauf lebt in deinem Browser | Application → IndexedDB → solo2-vault-{userId}. Alle deine Nachrichten und Dateien sind dort. Der Server hat nichts. |
Application |
| Kontaktliste nur lokal | Application → IndexedDB → store pares. Deine Kontakte existieren nur in deinem Browser. |
Application |
| Keine externen CDNs | Network → alle JS/CSS laden vom selben Domain. Kein cdn.jsdelivr.net, kein googleapis.com, kein cloudflare.com. Alles gehört uns. |
Network |
| Sitzungen dauern maximal 24 Stunden | Application → localStorage → solo2_session. Überprüfe den Ablauf-Zeitstempel. Er ist nie mehr als 24h nach der Erstellung. |
Application |
| Du kannst sehen, welchen Verbindungstyp du nutzt | In der Chat-Oberfläche: P2P-Anzeige (grün) vs Mirror/TURN (orange) jederzeit sichtbar. | UI |
| Umami ist ohne Cookies | Application → Cookies → kein Cookie von stats.menzuri.com erscheint. Umami zählt Besuche, ohne dich zu identifizieren. |
Application |
| Dein Hauptschlüssel wird zufällig generiert | Application → bei der Registrierung generiert Solo2 24 einzigartige Wörter. Sie werden nicht von deinem Passwort abgeleitet — es ist ein unabhängiger Schlüssel mit 256 Bit echter Entropie | Application |
Wenn du DevTools nutzen kannst
Überprüfungen, die technisches Wissen erfordern. Wenn du HTTP, WebRTC und grundlegende Kryptographie verstehst, kannst du diese selbst prüfen.
| Behauptung | So überprüfst du es |
|---|---|
| Nachrichten E2E-verschlüsselt | Network → Anfragen an /cmd tragen binäre Payloads. Der Body ist ein undurchsichtiger Blob, kein lesbares JSON. Der Server empfängt Chiffretext, den er nicht entschlüsseln kann. |
| WebRTC-Signale E2E-verschlüsselt | Network → Signal-Nachrichten reisen als verschlüsselte binäre Blobs. Es ist kein lesbares JSON mit candidate oder sdp im Klartext. |
| Hauptschlüssel unabhängig vom Passwort | Network → der Login empfängt einen verschlüsselten wrapped_master_key |
| Uniformes Padding im Mirror | Network → WebSocket/DataChannel-Pakete haben eine feste Größe bei Verwendung des Relays. Überprüfe die Größen im Network-Tab — sie sollten alle identisch sein, unabhängig von der Nachrichtenlänge. |
| Passwort geschützt (reist nie im Klartext) | Network → der Login sendet einen Hash, keinen Klartext. Du kannst nicht überprüfen, welchen Algorithmus der Server verwendet (Argon2id), aber du kannst sehen, dass dein Original-Passwort den Browser nie verlässt. |
| Kopplungsanfragen verfallen nach 3 Tagen | Erstelle eine Anfrage, antworte nicht darauf, überprüfe nach 3 Tagen, dass sie verschwunden ist. Erfordert Geduld und zwei Konten. |
| Push-Benachrichtigungen sind verschlüsselt | Network → Push-Anfragen an den Service Worker kommen verschlüsselt an (Standard Web Push). Du kannst den verschlüsselten Payload im Network-Tab sehen. |
| Direkte P2P-Verbindung vs Relay | chrome://webrtc-internals/ → zeigt ICE-Kandidaten und den aktiven Verbindungstyp. Wenn beide Peers im selben Netzwerk sind, solltest du Host-Kandidaten sehen (direkt, ohne Relay). |
Das kannst du nicht überprüfen
Wir wären Heuchler, wenn wir sagen würden, alles sei überprüfbar. Diese Behauptungen erfordern ein gewisses Maß an Vertrauen — oder dass du wartest, bis wir den Quellcode veröffentlichen.
| Behauptung | Warum es nicht überprüfbar ist |
|---|---|
| Double Ratchet mit Schlüsselrotation | Kryptographische Operationen finden innerhalb eines WASM-Binaries statt. Der Benutzer sieht, dass es geladen wird, kann aber die internen Algorithmen nicht inspizieren. |
| Der Hauptschlüssel wird mit echter Entropie erzeugt (256 Bit) | Die Erzeugung nutzt crypto.getRandomValues im Browser. Du kannst sehen, dass 24 Wörter generiert werden, aber du kannst über F12 weder die Qualität der Entropie noch die Sicherheit des CSPRNG überprüfen |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Gleiches Problem: Der kryptographische Stack befindet sich innerhalb von WASM. Die verwendeten Kurven und Algorithmen können ohne Quellcode nicht bestätigt werden. |
| Der Server ist „komplett blind" | Du kannst überprüfen, dass der Client keine lesbaren Daten sendet. Was der Server mit Metadaten (IPs, Zeitstempel) macht, ist von außen nicht beobachtbar. |
| Der Server speichert nach der Kopplung keine Beziehungen | Erfordert Zugang zum Code und zur Datenbank des Servers. |
| IPs werden nicht protokolliert | Du kannst nicht überprüfen, was der Server in seinen Logs aufzeichnet. |
| Schlüssel rotieren mit jeder Nachricht | Geschieht innerhalb von WASM. Du siehst, dass Nachrichten gesendet werden, kannst aber die Schlüsselrotation nicht beobachten. |
| Gelöschte Daten verschwinden wirklich | Du kannst aus der lokalen IndexedDB löschen, aber du kannst nicht überprüfen, ob der Server keine Kopien aufbewahrt (obwohl er technisch keinen Grund dazu hat, da er den entschlüsselten Inhalt nie hatte). |
Warum WASM eine echte Barriere ist
Die kryptographische Schicht von Solo2 ist in WebAssembly kompiliert — ein Binärformat, das dein Browser ausführt, das aber nicht einfach inspiziert oder in lesbaren Quellcode dekompiliert werden kann.
Minifiziertes JavaScript (das wir für die Oberfläche verwenden) ist reversibel: Der Browser kann es neu formatieren und du kannst die Logik lesen. WASM ist es nicht: Es ist kompilierter Maschinencode, wie eine native Anwendung. Du kannst sehen, dass es läuft, aber nicht, wie es intern funktioniert.
Wir sagen, es ist Double Ratchet mit X25519. Du kannst unserem Wort vertrauen, oder du kannst warten, bis wir den Crypto-Quellcode als öffentliches Repository veröffentlichen. In der Zwischenzeit sind die überprüfbaren Teile (Netzwerk, Speicher, Cookies, Verbindungen) für jeden mit einem Browser zur Inspektion offen.
Was wir tun, damit du mehr vertrauen kannst
SHA-256-Hashes der .wasm-Dateien veröffentlichen
Wir werden den kryptographischen Hash jeder produktiven WASM-Datei veröffentlichen. So kann jeder Auditor überprüfen, dass die vom Server ausgelieferte Datei mit der kompilierten Version übereinstimmt.
Die Crypto-Schicht als Open Source öffnen
Den Quellcode der kryptographischen Schicht (Zig) als öffentliches Repository veröffentlichen. Das gleiche Modell wie Signals libsignal. Jeder kann kompilieren, das Binary mit dem in Produktion vergleichen und überprüfen, dass wir ausführen, was wir sagen.
Sicherheit hängt nicht von Verschleierung ab
Unser Sicherheitsmodell ist so konzipiert, dass es auch bei öffentlichem Quellcode funktioniert. Wenn die Architektur solide ist, macht die Veröffentlichung des Codes sie stärker, nicht schwächer. Das ist das Ziel.
5 dokumentierte Sicherheitsebenen
Passwort (Serverzugang), 24 Wörter (echter Hauptschlüssel), Gerätegeheimnis (Tresorschutz) und Double Ratchet-Rotation. Jede Ebene ist unabhängig und überprüfbar in unserem Transparenzmanifest.