Provjerite za 2 minute
Pritisnite F12 u svom pregledniku. Bez instaliranja ičega. Bez znanja programiranja.
| Tvrdnja | Kako provjeriti | Kartica |
|---|---|---|
| Nema kolačića bilo koje vrste | Application → Cookies → prazno. Solo2 ne instalira nikakve kolačiće. Tvoja sesija se održava u localStorage, ne u kolačićima. Bez _ga |
Application |
| Nema usluga trećih strana u aplikaciji | Network → filtrirajte po domeni → samo zahtjevi prema solo2.net |
Network |
| Analitika samo na landing stranici, ne u aplikaciji | Network → na /* |
Network |
| Vaša povijest živi u vašem pregledniku | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Popis kontakata samo lokalno | Application → IndexedDB → store pares |
Application |
| Bez vanjskih CDN-ova | Network → svi JS/CSS se učitavaju s iste domene. Nema cdn.jsdelivr.net |
Network |
| Sesije maksimalno 24 sata | Application → localStorage → solo2_session |
Application |
| Možete vidjeti koju vrstu veze koristite | U sučelju chata: P2P indikator (zeleno) vs Mirror/TURN (narančasto) uvijek vidljiv | UI |
| Umami je bez kolačića | Application → Cookies → nema kolačića od stats.menzuri.com |
Application |
| Tvoj glavni ključ se generira nasumično | Application → prilikom registracije, Solo2 generira 24 jedinstvene riječi. Ne izvode se iz tvoje lozinke — to je nezavisan ključ s 256 bitova stvarne entropije | Application |
Ako znate koristiti DevTools
Verifikacije koje zahtijevaju tehničko znanje. Ako razumijete HTTP, WebRTC i osnovnu kriptografiju, možete potvrditi ove tvrdnje.
| Tvrdnja | Kako provjeriti |
|---|---|
| E2E šifrirane poruke | Network → zahtjevi prema /cmd |
| E2E šifrirani WebRTC signali | Network → signalne poruke putuju kao šifrirani binarni blobovi. Nisu čitljiv JSON s offer |
| Glavni ključ neovisan o lozinki | Network → prilikom prijave server vraća šifrirani wrapped_master_key |
| Uniformni padding na zrcalnom poslužitelju | Network → WebSocket/DataChannel paketi imaju fiksnu veličinu pri korištenju relaya. Provjerite veličine u kartici Network |
| Lozinka zaštićena (ne putuje u čistom tekstu) | Network → prijava šalje hash, ne čisti tekst. Ne možete provjeriti koji algoritam poslužitelj koristi (Argon2id), ali možete provjeriti da vaša originalna lozinka nikad ne napušta preglednik |
| Zahtjevi za povezivanje istječu za 3 dana | Stvorite zahtjev, ne odgovarajte na njega, provjerite nakon 3 dana da je nestao. Zahtijeva strpljenje i dva računa |
| Push obavijesti šifrirane | Network → push zahtjevi prema Service Workeru dolaze šifrirani (Web Push standard). Šifrirani sadržaj vidljiv je u kartici Network |
| Izravna P2P veza vs. relay | chrome://webrtc-internals/ |
Ovo ne možete provjeriti
Bili bismo licemjeri kad bismo tvrdili da je sve provjerljivo. Ove tvrdnje zahtijevaju da nam vjerujete — ili da pričekate dok ne objavimo izvorni kod.
| Tvrdnja | Zašto ovo nije provjerljivo |
|---|---|
| Double Ratchet s rotacijom ključeva | Kriptografske operacije se odvijaju unutar WASM binarne datoteke. Korisnik vidi da se učitava, ali ne može pročitati koji algoritam izvršava |
| Glavni ključ se generira sa stvarnom entropijom (256 bitova) | Generiranje koristi crypto.getRandomValues u pregledniku. Možeš vidjeti da se generira 24 riječi, ali ne možeš iz F12 provjeriti kvalitetu entropije ni sigurnost CSPRNG |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Isti problem: kriptografski stog je unutar WASM-a. Iz preglednika ne možete potvrditi krivulje ili algoritme |
| Poslužitelj je „potpuno slijep“ | Možete provjeriti da klijent ne šalje čitljive podatke. Što poslužitelj radi s metapodacima veze (IP-ovi, vremenske oznake) zahtijeva povjerenje ili reviziju poslužitelja |
| Poslužitelj ne čuva odnose nakon povezivanja | Zahtijeva pristup izvornom kodu i bazi podataka poslužitelja |
| IP adrese se ne bilježe | Ne možete provjeriti što poslužitelj bilježi u svoje zapise |
| Ključevi se rotiraju sa svakom porukom | Odvija se unutar WASM-a. Vidite da se poruke šalju, ali ne možete promatrati rotaciju ključeva |
| Obrisani podaci zaista nestaju | Možete obrisati iz lokalne IndexedDB, ali ne možete provjeriti da poslužitelj ne zadržava kopije (iako Manifest kaže da ih nikad nije imao) |
Zašto je WASM stvarna barijera
Kriptografski sloj Solo2 kompiliran je u WebAssembly — binarni format koji vaš preglednik izvršava ali koji ne možete čitati kao tekst. To znači da iz F12 ne možete provjeriti koji algoritam koristimo.
Minificirani JavaScript (koji koristimo za sučelje) jest reverzibilan: preglednik ga može reformatirati i struktura koda je čitljiva. To je praktična prepreka, ne stvarna barijera. Ali WASM kompiliran iz Ziga fundamentalno je drugačiji
Kažemo da je Double Ratchet s X25519. Možete nam vjerovati na riječ ili možete pričekati dok ne objavimo izvorni kod kriptografskog sloja kako bi ga svatko mogao revidirati. Radimo na tome.
Što radimo da nam možete više vjerovati
Objavljivanje SHA-256 hasheva .wasm datoteka
Objavit ćemo kriptografski hash svake WASM datoteke u produkciji. Tako svaki revizor može provjeriti da binarna datoteka u vašem pregledniku točno odgovara onoj koju smo kompilirali.
Otvoriti kriptografski sloj kao open source
Objaviti izvorni kod kriptografskog sloja (Zig) kao javni repozitorij. Isti model kao Signal: otvoreni kriptografski protokol, ostatak koda zatvoren. Svatko će moći kompilirati izvorni kod i usporediti hash rezultirajućeg .wasm-a s onim u produkciji.
Sigurnost ne ovisi o tajnosti
Naš sigurnosni model je dizajniran da funkcionira čak i ako je izvorni kod javan. Kad bi sigurnost ovisila o tome da nitko ne može čitati kod, to ne bi bila sigurnost — to bi bila nada.
5 dokumentiranih sigurnosnih slojeva
Lozinka (pristup serveru), 24 riječi (stvarni glavni ključ), tajna uređaja (zaštita sefa) i rotacija Double Ratchet. Svaki sloj je nezavisan i provjerljiv u našem Manifestu transparentnosti.