Kontrolli 2 minutiga
Vajuta F12 oma brauseris. Midagi paigaldamata. Programmeerimist oskamata.
| Väide | Kuidas kontrollida | Vahekaart |
|---|---|---|
| Mingeid küpsiseid mis tahes tüüpi | Application → Cookies → tühi. Solo2 ei installi ühtegi küpsist. Sinu seanssi hoitakse localStorage's, mitte küpsistes. Ilma _ga |
Application |
| Rakenduses pole kolmandate osapoolte teenuseid | Network → filtreeri domeeni järgi → ainult päringud aadressile solo2.net. Pole Google'it, Facebooki, Cloudflare'i ega teisi. |
Network |
| Analüütika ainult tutvustuslehel, mitte rakenduses | Network → /* all näed päringuid aadressile stats.menzuri.com. Rakenduses (/app/*) mitte ühtegi. |
Network |
| Sinu ajalugu elab sinu brauseris | Application → IndexedDB → solo2-vault-{userId}. Sinu krüpteeritud andmed on siin, mitte serveris. |
Application |
| Kontaktide loend ainult kohalik | Application → IndexedDB → store pares. Eksisteerib ainult sinu brauseris. |
Application |
| Ilma väliste CDN-ideta | Network → kõik JS/CSS laaditakse samalt domeenilt. Pole cdn.jsdelivr.net, unpkg.com ega sarnaseid. |
Network |
| Seansid kuni 24 tundi | Application → localStorage → solo2_session. Tokenil on kontrollitav aegumistähtaeg. |
Application |
| Näed, millist ühenduse tüüpi kasutad | Vestluse kasutajaliideses: P2P indikaator (roheline) vs Mirror/TURN (oranž) alati nähtav | UI |
| Umami on küpsisevaba | Application → Cookies → ei ilmu ühtegi stats.menzuri.com küpsist. Umami ei kasuta küpsiseid. |
Application |
| Sinu peavõti luuakse juhuslikult | Application → registreerimisel genereerib Solo2 24 ainulaadset sõna. Need ei tuleta sinu paroolist — need on sõltumatu võti 256 bitiga tõelist entroopiat | Application |
Kui oskad kasutada DevTools'e
Kontrollid, mis nõuavad tehnilist teadmist. Kui mõistad HTTP-d, WebRTC-d ja põhilist krüptograafiat, saad need väited kinnitada.
| Väide | Kuidas kontrollida |
|---|---|
| E2E krüpteeritud sõnumid | Network → päringud aadressile /cmd kannavad krüpteeritud andmeid (base64/binaarne). Pole loetavat JSON-i lihttekstiga. |
| E2E krüpteeritud WebRTC signaalid | Network → signaalteated liiguvad krüpteeritud binaarsete blob-idena. Need pole loetav JSON koos offer/answer lihttekstis. |
| Peavõti on paroolist sõltumatu | Network → sisselogimine saab serverilt krüptitud wrapped_master_key |
| Ühtlane padding mirror-režiimis | Network → WebSocket/DataChannel paketid on fikseeritud suurusega relay kasutamisel. Kontrolli suurusi Network vahekaardil |
| Parool kaitstud (ei liigu lihttekstina) | Network → sisselogimine saadab räsi, mitte lihtteksti. Ei saa kontrollida serveri algoritmi (Argon2id), kuid näed, et sinu algne parool ei saadeta kunagi. |
| Sidumispäringud aeguvad 3 päevaga | Loo päring, ära vasta, kontrolli 3 päeva pärast, et see on kadunud. Vajab kannatlikkust, kuid on kontrollitav. |
| Krüpteeritud push-teated | Network → push-päringud Service Workerile saabuvad krüpteerituna (Web Push standard). Krüpteeritud andmed on nähtavad Network vahekaardil |
| Otse P2P ühendus vs relay | chrome://webrtc-internals/ → kontrolli ICE kandidaate. Kui näed typ srflx või typ relay, tead, kas ühendus on otsene või edastatud. |
Seda kontrollida ei saa
Oleksime silmakirjalikud, kui ütleksime, et kõik on kontrollitav. Need väited nõuavad usaldust — või välist auditit.
| Väide | Miks pole kontrollitav |
|---|---|
| Double Ratchet võtmete rotatsiooniga | Krüptograafilised operatsioonid toimuvad WASM binaari sees. Kasutaja näeb, et see laetakse, kuid ei saa lugeda, millist algoritmi käivitatakse |
| Peavõti luuakse tõelise entroopiaga (256 bitti) | Loomine kasutab crypto.getRandomValues brauseris. Sa näed, et luuakse 24 sõna, kuid sa ei saa F12-st kontrollida entroopia kvaliteeti ega seda, et CSPRNG on turvaline |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Sama probleem: krüptograafiline virn on WASM sees. Kõveraid ega algoritme ei saa brauserist kinnitada |
| Server on "täiesti pime" | Saad kontrollida, et klient ei saada loetavaid andmeid. Mida server teeb ühenduse metaandmetega (IP-d, ajatemplid) nõuab usaldust või auditit |
| Server ei salvesta suhteid pärast sidumist | Vajab ligipääsu serveri koodile ja andmebaasile |
| IP-aadresse ei registreerita | Ei saa kontrollida, mida server oma logidesse registreerib |
| Võtmed vahetuvad iga sõnumiga | Toimub WASM sees. Näed, et sõnumeid saadetakse, kuid ei saa jälgida võtmete rotatsiooni |
| Kustutatud andmed kaovad tõesti | Saad kustutada kohalikust IndexedDB-st, kuid ei saa kontrollida, kas server ei hoia koopiaid (kuigi Manifest ütleb, et neid polnud kunagi) |
Miks WASM on tõeline barjäär
Solo2 krüptograafiline kiht on kompileeritud WebAssembly-ks — binaarne formaat, mida sinu brauser käivitab, kuid mida ei saa tekstina lugeda. See tähendab, et ei saa otse auditeerida koodi, mis krüpteerib sinu sõnumeid.
Minimeeritud JavaScript (mida kasutame kasutajaliidese jaoks) on pööratav: brauser saab seda ümber vormindada ja koodi struktuur on loetav. See on töömahukas protsess, kuid võimalik. WASM mitte: see on läbipaistmatu binaar.
Ütleme, et see on Double Ratchet koos X25519-ga. Võid usaldada meie sõna või oodata, kuni avaldame krüptokihi lähtekoodi, et saaksid ise kontrollida.
Mida teeme, et saaksid rohkem usaldada
.wasm SHA-256 räside avaldamine
Avaldame iga tootmises oleva WASM faili krüptograafilise räsi. Nii saab iga audiitor kontrollida, et sinu brauseris käivitatav binaar ühtib sellega, mille meie kompileerisime.
Krüptokihi avamine avatud koodina
Krüptograafilise kihi (Zig) lähtekoodi avaldamine avaliku hoidlana. Sama mudel nagu Signal: avatud krüptograafiline protokoll, ülejäänud rakendus privaatne.
Turvalisus ei sõltu salajasusest
Meie turvamudel on loodud toimima isegi siis, kui kood oleks avalik. Me ei sõltu sellest, et keegi ei näe, kuidas see töötab — me sõltume krüptograafia tugevusest.
5 documented security layers
Parool (juurdepääs serverile), 24 sõna (tõeline peavõti), seadme saladus (hoidla kaitse) ja Double Ratchet rotatsioon. Iga kiht on sõltumatu ja kontrollitav meie Läbipaistvuse Manifestis.