Ověř si to za 2 minuty
Stiskni F12 ve svém prohlížeči. Bez instalace čehokoli. Bez nutnosti umět programovat.
| Tvrzení | Jak to ověřit | Záložka |
|---|---|---|
| Žádné cookies jakéhokoli druhu | Application → Cookies → prázdné. Solo2 neinstaluje žádné cookies. Tvoje relace se udržuje v localStorage, ne v cookies. Bez _ga |
Application |
| V aplikaci žádné služby třetích stran | Network → filtrovat podle domény → pouze požadavky na solo2.net |
Network |
| Analytika pouze na landing page, ne v aplikaci | Network → na /* |
Network |
| Tvoje historie žije ve tvém prohlížeči | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Seznam kontaktů pouze lokálně | Application → IndexedDB → store pares |
Application |
| Bez externích CDN | Network → všechny JS/CSS se načítají ze stejné domény. Žádné cdn.jsdelivr.net |
Network |
| Relace maximálně 24 hodin | Application → localStorage → solo2_session |
Application |
| Můžeš vidět, jaký typ připojení používáš | V UI chatu: indikátor P2P (zelený) vs Mirror/TURN (oranžový) viditelný neustále | UI |
| Umami je bez cookies | Application → Cookies → neobjevují se žádné cookies od stats.menzuri.com |
Application |
| Tvůj hlavní klíč se generuje náhodně | Application → při registraci Solo2 vygeneruje 24 unikátních slov. Neodvozují se z tvého hesla — jsou to nezávislý klíč s 256 bity skutečné entropie | Application |
Pokud ovládáš DevTools
Ověření vyžadující technické znalosti. Pokud rozumíš HTTP, WebRTC a základní kryptografii, můžeš si potvrdit tato tvrzení.
| Tvrzení | Jak to ověřit |
|---|---|
| Zprávy šifrované E2E | Network → požadavky na /cmd |
| WebRTC signály šifrované E2E | Network → signální zprávy putují jako šifrované binární bloby. Nejsou to čitelné JSON s offer |
| Hlavní klíč nezávislý na hesle | Network → při přihlášení server vrátí zašifrovaný wrapped_master_key |
| Uniformní padding na zrcadlovém serveru | Network → pakety WebSocket/DataChannel mají pevnou velikost při použití relay. Zkontroluj velikosti v záložce Network |
| Heslo chráněné (neputuje v čistém textu) | Network → přihlášení odesílá hash, ne čistý text. Nemůžeš ověřit, jaký algoritmus server používá (Argon2id), ale můžeš si ověřit, že tvé původní heslo nikdy neopustí prohlížeč |
| Žádosti o propojení vyprší za 3 dny | Vytvoř žádost, neodpovídej na ni, po 3 dnech ověř, že zmizela. Vyžaduje trpělivost a dva účty |
| Push notifikace šifrované | Network → push požadavky na Service Worker přicházejí šifrované (standard Web Push). Šifrovaný obsah je viditelný v záložce Network |
| Přímé P2P spojení vs. relay | chrome://webrtc-internals/ |
Toto ověřit nemůžeš
Byli bychom pokrytci, kdybychom tvrdili, že vše je ověřitelné. Tato tvrzení vyžadují, abys nám důvěřoval — nebo počkal, až zveřejníme zdrojový kód.
| Tvrzení | Proč to nelze ověřit |
|---|---|
| Double Ratchet s rotací klíčů | Kryptografické operace probíhají uvnitř binárního souboru WASM. Uživatel vidí, že se načítá, ale nemůže přečíst, jaký algoritmus provádí |
| Hlavní klíč se generuje se skutečnou entropií (256 bitů) | Generování používá crypto.getRandomValues v prohlížeči. Můžeš vidět, že se generuje 24 slov, ale nemůžeš z F12 ověřit kvalitu entropie ani bezpečnost CSPRNG |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Stejný problém: kryptografický stack je uvnitř WASM. Z prohlížeče nelze potvrdit křivky ani algoritmy |
| Server je „zcela slepý“ | Můžeš ověřit, že klient neodesílá čitelná data. Co server dělá s metadaty připojení (IP, časové značky), vyžaduje důvěru nebo audit serveru |
| Server neuchovává vztahy po propojení | Vyžaduje přístup ke zdrojovému kódu a databázi serveru |
| IP adresy se nezaznamenávají | Nemůžeš ověřit, co server zaznamenává do svých logů |
| Klíče se rotují s každou zprávou | Probíhá uvnitř WASM. Vidíš, že se odesílají zprávy, ale nemůžeš pozorovat rotaci klíčů |
| Smazaná data skutečně mizí | Můžeš smazat z lokální IndexedDB, ale nemůžeš ověřit, že server neuchovává kopie (ačkoli Manifest říká, že je nikdy neměl) |
Proč je WASM skutečnou bariérou
Kryptografická vrstva Solo2 je kompilována do WebAssembly — binárního formátu, který tvůj prohlížeč spouští, ale nemůžeš ho číst jako text. To znamená, že z F12 nemůžeš ověřit, jaký algoritmus používáme.
Minifikovaný JavaScript (který používáme pro rozhraní) je reverzibilní: prohlížeč ho může přeformátovat a struktura kódu je čitelná. Je to praktická překážka, ne skutečná bariéra. Ale WASM kompilovaný ze Zig je zásadně odlišný
Říkáme, že je to Double Ratchet s X25519. Můžeš věřit našemu slovu, nebo můžeš počkat, až zveřejníme zdrojový kód kryptografické vrstvy, aby ho mohl kdokoli auditovat. Pracujeme na tom.
Co děláme pro to, abyste nám mohli více důvěřovat
Zveřejnění hashů SHA-256 souborů .wasm
Zveřejníme kryptografický hash každého WASM souboru v produkci. Tak si jakýkoli auditor bude moci ověřit, že binární soubor spouštěný ve tvém prohlížeči přesně odpovídá tomu, který jsme zkompilovali.
Otevřít kryptografickou vrstvu jako open source
Zveřejnit zdrojový kód kryptografické vrstvy (Zig) jako veřejný repozitář. Stejný model jako Signal: otevřený kryptografický protokol, zbytek kódu uzavřený. Kdokoli bude moci zkompilovat zdrojový kód a porovnat hash výsledného .wasm s tím v produkci.
Bezpečnost nezávisí na utajení
Náš bezpečnostní model je navržen tak, aby fungoval i v případě, že je zdrojový kód veřejný. Pokud by bezpečnost závisela na tom, že nikdo nemůže číst kód, nebyla by to bezpečnost — byla by to naděje.
5 dokumentovaných vrstev zabezpečení
Heslo (přístup k serveru), 24 slov (skutečný hlavní klíč), tajemství zařízení (ochrana trezoru) a rotace Double Ratchet. Každá vrstva je nezávislá a ověřitelná v našem Manifestu transparentnosti.