Provjeri sam

Ne vjeruj nikome. Provjeri sam.

Solo2 je web aplikacija. To znači da tvoj preglednik već ima sve alate koji su ti potrebni za reviziju onoga što radimo. Pritisni F12, otvori DevTools i provjeri sam svaku tvrdnju iz našeg Manifesta. Ovdje ti točno kažemo kako.

Provjeri za 2 minute

Pritisni 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 → filtriraj po domeni → samo zahtjevi prema solo2.net Network
Analitika samo na landing stranici, ne u aplikaciji Network → na /* Network
Tvoja povijest živi u tvom pregledniku Application → IndexedDB → solo2-vault-{userId}. Sve tvoje poruke i datoteke su tamo. Server nema ništa. Application
Popis kontakata samo lokalno Application → IndexedDB → store pares. Tvoji kontakti postoje samo u tvom pregledniku. 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. Check the expiry timestamp. It's never more than 24h from creation. Application
Možeš vidjeti koju vrstu veze koristiš Na popisu kontakata: uz svaki kontakt, P2P (zeleno) ili Ogledalo (narančasto) 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 znaš koristiti DevTools

Verifikacije koje zahtijevaju tehničko znanje. Ako razumiješ HTTP, WebRTC i osnovnu kriptografiju, možeš 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 zrcala (TURN). Provjeri veličine u kartici Network
Lozinka zaštićena (ne putuje u čistom tekstu) Network → prijava šalje hash, ne čisti tekst. Ne možeš provjeriti koji algoritam poslužitelj koristi (Argon2id), ali možeš provjeriti da tvoja originalna lozinka nikad ne napušta preglednik
Zahtjevi za povezivanje istječu za 3 dana Stvori zahtjev, ne odgovaraj na njega, provjeri 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. zrcalo (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).

Ovo ne možeš provjeriti

Bili bismo licemjeri kad bismo tvrdili da je sve provjerljivo. Ove tvrdnje zahtijevaju da nam vjeruješ — ili da pričekaš 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žeš potvrditi krivulje ili algoritme
Poslužitelj ne može pročitati sadržaj tvojih poruka Možeš 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žeš provjeriti što poslužitelj bilježi u svoje zapise
Ključevi se rotiraju sa svakom porukom Odvija se unutar WASM-a. Vidiš da se poruke šalju, ali ne možeš promatrati rotaciju ključeva
Obrisani podaci zaista nestaju Možeš obrisati iz lokalne IndexedDB, ali ne možeš 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 tvoj preglednik izvršava ali koji ne možeš čitati kao tekst. To znači da iz F12 ne možeš 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žeš nam vjerovati na riječ ili možeš pričekati dok ne objavimo izvorni kod kriptografskog sloja kako bi ga svatko mogao revidirati. Radimo na tome.

Što radimo da nam možeš više vjerovati

1

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 tvom pregledniku točno odgovara onoj koju smo kompilirali.

2

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.

3

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.

4

5 dokumentiranih sigurnosnih slojeva

Lozinka (pristup serveru), 24 riječi (stvarni glavni ključ), tajna uređaja (zaštita lokalnih podataka) i rotacija Double Ratchet. Svaki sloj je nezavisan i provjerljiv u našem Manifestu transparentnosti.

Solo2 — Tvoj razgovor pripada samo tebi.