Over si to za 2 minúty
Stlačte F12 vo svojom prehliadači. Bez inštalácie čohokoľvek. Bez nutnosti vedieť programovať.
| Tvrdenie | Ako to overiť | Záložka |
|---|---|---|
| Žiadne cookies akéhokoľvek druhu | Application → Cookies → prázdne. Solo2 neinštaluje žiadne cookies. Tvoja relácia sa udržiava v localStorage, nie v cookies. Bez _ga |
Application |
| V aplikácii žiadne služby tretích strán | Network → filtrovať podľa domény → iba požiadavky na solo2.net |
Network |
| Analytika iba na landing page, nie v aplikácii | Network → na /* |
Network |
| Vaša história žije vo vašom prehliadači | Application → IndexedDB → solo2-vault-{userId}. Všetky tvoje správy a súbory sú tam. Server nemá nič. |
Application |
| Zoznam kontaktov iba lokálne | Application → IndexedDB → store pares. Tvoje kontakty existujú iba v tvojom prehliadači. |
Application |
| Bez externých CDN | Network → všetky JS/CSS sa načítavajú z tej istej domény. Žiadne cdn.jsdelivr.net |
Network |
| Relácie maximálne 24 hodín | Application → localStorage → solo2_session. Check the expiry timestamp. It's never more than 24h from creation. |
Application |
| Môžeš vidieť, aký typ pripojenia používaš | V zozname kontaktov: vedľa každého kontaktu, P2P (zelený) alebo Zrkadlo (oranžový) | UI |
| Umami je bez cookies | Application → Cookies → neobjavujú sa žiadne cookies od stats.menzuri.com |
Application |
| Tvoj hlavný kľúč sa generuje náhodne | Application → pri registrácii Solo2 vygeneruje 24 unikátnych slov. Neodvodzujú sa z tvojho hesla — sú to nezávislý kľúč s 256 bitmi skutočnej entropie | Application |
Ak ovládate DevTools
Overenia vyžadujúce technické znalosti. Ak rozumieš HTTP, WebRTC a základnej kryptografii, môžeš si potvrdiť tieto tvrdenia.
| Tvrdenie | Ako to overiť |
|---|---|
| Správy šifrované E2E | Network → požiadavky na /cmd |
| WebRTC signály šifrované E2E | Network → signálne správy putujú ako šifrované binárne bloby. Nie sú to čitateľné JSON s offer |
| Hlavný kľúč nezávislý od hesla | Network → pri prihlásení server vráti zašifrovaný wrapped_master_key |
| Uniformný padding na zrkadlovom serveri | Network → pakety WebSocket/DataChannel majú pevnú veľkosť pri použití zrkadla (TURN). Skontroluj veľkosti v záložke Network |
| Heslo chránené (neputuje v čistom texte) | Network → prihlásenie odosiela hash, nie čistý text. Nemôžeš overiť, aký algoritmus server používa (Argon2id), ale môžeš si overiť, že tvoje pôvodné heslo nikdy neopustí prehliadač |
| Žiadosti o prepojenie vypršia za 3 dni | Vytvor žiadosť, neodpovedaj na ňu, po 3 dňoch over, že zmizla. Vyžaduje trpezlivosť a dva účty |
| Push notifikácie šifrované | Network → push požiadavky na Service Worker prichádzajú šifrované (štandard Web Push). Šifrovaný obsah je viditeľný v záložke Network |
| Priame P2P spojenie vs. zrkadlo (TURN) | chrome://webrtc-internals/ → shows ICE candidates and the active connection type. If both peers are on the same network, you should see host candidates (direct, no relay). |
Toto overiť nemôžeš
Boli by sme pokrytci, keby sme tvrdili, že všetko je overiteľné. Tieto tvrdenia vyžadujú, aby ste nám dôverovali — alebo počkali, kým zverejníme zdrojový kód.
| Tvrdenie | Prečo to nie je overiteľné |
|---|---|
| Double Ratchet s rotáciou kľúčov | Kryptografické operácie prebiehajú vo vnútri binárneho súboru WASM. Používateľ vidí, že sa načítava, ale nemôže prečítať, aký algoritmus vykonáva |
| Hlavný kľúč sa generuje so skutočnou entropiou (256 bitov) | Generovanie používa crypto.getRandomValues v prehliadači. Môžeš vidieť, že sa generuje 24 slov, ale nemôžeš z F12 overiť kvalitu entropie ani bezpečnosť CSPRNG |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Rovnaký problém: kryptografický stack je vo vnútri WASM. Z prehliadača nie je možné potvrdiť krivky ani algoritmy |
| Server nemôže prečítať obsah vašich správ | Môžeš overiť, že klient neodosiela čitateľné dáta. Čo server robí s metadátami pripojenia (IP, časové značky), vyžaduje dôveru alebo audit servera |
| Server neuchováva vzťahy po prepojení | Vyžaduje prístup k zdrojovému kódu a databáze servera |
| IP adresy sa nezaznamenávajú | Nemôžeš overiť, čo server zaznamenáva do svojich logov |
| Kľúče sa rotujú s každou správou | Prebieha vo vnútri WASM. Vidíš, že sa odosielajú správy, ale nemôžeš pozorovať rotáciu kľúčov |
| Vymazané dáta skutočne miznú | Môžeš vymazať z lokálnej IndexedDB, ale nemôžeš overiť, že server neuchováva kópie (hoci Manifest hovorí, že ich nikdy nemal) |
Prečo je WASM skutočnou bariérou
Kryptografická vrstva Solo2 je kompilovaná do WebAssembly — binárneho formátu, ktorý tvoj prehliadač spúšťa, ale nemôžeš ho čítať ako text. To znamená, že z F12 nemôžeš overiť, aký algoritmus používame.
Minifikovaný JavaScript (ktorý používame pre rozhranie) je reverzibilný: prehliadač ho môže preformátovať a štruktúra kódu je čitateľná. Je to praktická prekážka, nie skutočná bariéra. Ale WASM kompilovaný zo Zig je zásadne odlišný
Hovoríme, že je to Double Ratchet s X25519. Môžeš veriť nášmu slovu, alebo môžeš počkať, kým zverejníme zdrojový kód kryptografickej vrstvy, aby ho mohol ktokoľvek auditovať. Pracujeme na tom.
Čo robíme pre to, aby ste nám mohli viac dôverovať
Zverejnenie hashov SHA-256 súborov .wasm
Zverejníme kryptografický hash každého WASM súboru v produkcii. Tak si akýkoľvek audítor bude môcť overiť, že binárny súbor spúšťaný vo vašom prehliadači presne zodpovedá tomu, ktorý sme skompilovali.
Otvoriť kryptografickú vrstvu ako open source
Zverejniť zdrojový kód kryptografickej vrstvy (Zig) ako verejný repozitár. Rovnaký model ako Signal: otvorený kryptografický protokol, zvyšok kódu uzavretý. Ktokoľvek bude môcť skompilovať zdrojový kód a porovnať hash výsledného .wasm s tým v produkcii.
Bezpečnosť nezávisí od utajenia
Náš bezpečnostný model je navrhnutý tak, aby fungoval aj v prípade, že je zdrojový kód verejný. Ak by bezpečnosť závisela od toho, že nikto nemôže čítať kód, nebola by to bezpečnosť — bola by to nádej.
5 dokumentovaných vrstiev zabezpečenia
Heslo (prístup k serveru), 24 slov (skutočný hlavný kľúč), tajomstvo zariadenia (ochrana lokálnych dát) a rotácia Double Ratchet. Každá vrstva je nezávislá a overiteľná v našom Manifeste transparentnosti.