Verifiera det på 2 minuter
Tryck på F12 i din webbläsare. Utan att installera något. Utan att behöva programmera.
| Påstående | Hur du verifierar det | Flik |
|---|---|---|
| Inga cookies av något slag | Application → Cookies → tomt. Solo2 installerar inga cookies. Din session upprätthålls i localStorage, inte i cookies. Inga _ga |
Application |
| Inga tredjepartstjänster i appen | Network → filtrera på domän → bara förfrågningar till solo2.net |
Network |
| Analys bara på landningssidan, inte i appen | Network → på /* |
Network |
| Din historik lever i din webbläsare | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Kontaktlista bara lokalt | Application → IndexedDB → store pares |
Application |
| Inga externa CDN:er | Network → all JS/CSS laddas från samma domän. Inga cdn.jsdelivr.net |
Network |
| Sessioner max 24 timmar | Application → localStorage → solo2_session |
Application |
| Du kan se vilken typ av anslutning du använder | I chattgränssnittet: P2P-indikator (grön) vs Mirror/TURN (orange) alltid synlig | UI |
| Umami är cookiefri | Application → Cookies → inga cookies från stats.menzuri.com |
Application |
| Din huvudnyckel genereres slumpmässigt | Application → vid registrering genererar Solo2 24 unika ord. De härleds inte från ditt lösenord — de är en oberoende nyckel med 256 bitar av verklig entropi | Application |
Om du kan DevTools
Verifieringar som kräver teknisk kunskap. Om du förstår HTTP, WebRTC och grundläggande kryptografi kan du bekräfta dessa påståenden.
| Påstående | Hur du verifierar det |
|---|---|
| E2E-krypterade meddelanden | Network → förfrågningar till /cmd |
| E2E-krypterade WebRTC-signaler | Network → signalmeddelanden färdas som krypterade binära blobbar. De är inte läsbar JSON med offer |
| Huvudnyckel oberoende av lösenord | Network → inloggningen tar emot en krypterad wrapped_master_key |
| Uniform padding på spegelservern | Network → WebSocket/DataChannel-paket har fast storlek vid användning av relay. Kontrollera storlekarna i Network-fliken |
| Lösenord skyddat (skickas inte i klartext) | Network → inloggningen skickar en hash, inte klartext. Du kan inte verifiera vilken algoritm servern använder (Argon2id), men du kan verifiera att ditt ursprungliga lösenord aldrig lämnar webbläsaren |
| Kopplingsförfrågningar går ut efter 3 dagar | Skapa en förfrågan, svara inte på den, verifiera efter 3 dagar att den försvunnit. Kräver tålamod och två konton |
| Push-notiser krypterade | Network → push-förfrågningar till Service Worker kommer krypterade (Web Push-standard). Det krypterade innehållet syns i Network-fliken |
| Direkt P2P-anslutning vs. relay | chrome://webrtc-internals/ |
Detta kan du inte verifiera
Vi vore hycklare om vi påstod att allt är verifierbart. Dessa påståenden kräver att du litar på oss — eller väntar tills vi publicerar källkoden.
| Påstående | Varför detta inte är verifierbart |
|---|---|
| Double Ratchet med nyckelrotation | Kryptografiska operationer sker i en WASM-binärfil. Användaren ser att den laddas, men kan inte läsa vilken algoritm den kör |
| Huvudnyckeln genereras med verklig entropi (256 bitar) | Genereringen använder crypto.getRandomValues i webbläsaren. Du kan se att 24 ord genereras, men du kan inte verifiera entropins kvalitet eller att CSPRNG är säker från F12 |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Samma problem: den kryptografiska stacken är inuti WASM. Från webbläsaren kan du inte bekräfta kurvorna eller algoritmerna |
| Servern är ”helt blind” | Du kan verifiera att klienten inte skickar läsbar data. Vad servern gör med anslutningsmetadata (IP:er, tidstämplar) kräver förtroende eller serverrevision |
| Servern sparar inte relationer efter koppling | Kräver tillgång till källkod och databas på servern |
| IP-adresser loggas inte | Du kan inte verifiera vad servern loggar |
| Nycklar roteras med varje meddelande | Sker inuti WASM. Du ser att meddelanden skickas, men kan inte observera nyckelrotationen |
| Raderade data försvinner verkligen | Du kan radera från lokal IndexedDB, men du kan inte verifiera att servern inte behåller kopior (även om Manifestet säger att den aldrig hade dem) |
Varför WASM är en riktig barriär
Solo2:s kryptografiska lager är kompilerat till WebAssembly — ett binärt format som din webbläsare kör men som du inte kan läsa som text. Det innebär att du från F12 inte kan verifiera vilken algoritm vi använder.
Minifierad JavaScript (som vi använder för gränssnittet) är reversibel: webbläsaren kan formatera om den och kodstrukturen är läsbar. Det är ett praktiskt hinder, inte en riktig barriär. Men WASM kompilerad från Zig är fundamentalt annorlunda
Vi säger att det är Double Ratchet med X25519. Du kan lita på vårt ord, eller så kan du vänta tills vi publicerar källkoden för kryptolagret så att vem som helst kan granska det. Vi jobbar på det.
Vad vi gör för att du ska kunna lita mer på oss
Publicera SHA-256-hashar för .wasm-filer
Vi publicerar den kryptografiska hashen för varje WASM-fil i produktion. Så kan varje granskare verifiera att binärfilen i din webbläsare exakt matchar den vi kompilerade.
Öppna kryptolagret som öppen källkod
Publicera källkoden för kryptolagret (Zig) som ett öppet repository. Samma modell som Signal: öppet kryptografiskt protokoll, resten av koden stängd. Vem som helst kan kompilera källkoden och jämföra hashen för den resulterande .wasm-filen med den i produktion.
Säkerhet beror inte på hemlighållande
Vår säkerhetsmodell är utformad för att fungera även om källkoden är offentlig. Om säkerheten berodde på att ingen kunde läsa koden, vore det inte säkerhet — det vore hopp.
5 dokumenterade säkerhetslager
Lösenord (åtkomst till servern), 24 ord (verklig huvudnyckel), enhetshemlighet (valvskydd) och Double Ratchet-rotation. Varje lager är oberoende och verifierbart i vårt Transparensmanifest.