Pārbaudi 2 minūtēs
Nospied F12 pārlūkā. Bez instalēšanas. Bez programmēšanas zināšanām.
| Apgalvojums | Kā pārbaudīt | Cilne |
|---|---|---|
| Nekādas sīkdatnes nekāda veida | Application → Cookies → tukšs. Solo2 neinstalē nekādas sīkdatnes. Tava sesija tiek uzturēta localStorage, nevis sīkdatnēs. Bez _ga |
Application |
| Lietotnē nav trešo pušu pakalpojumu | Network → filtrēt pēc domēna → tikai pieprasījumi uz solo2.net. Nav Google, Facebook, Cloudflare vai citu. |
Network |
| Analītika tikai landing lapā, ne lietotnē | Network → /* redzēsi pieprasījumus uz stats.menzuri.com. Lietotnē (/app/*), nevienu. |
Network |
| Tava vēsture glabājas tavā pārlūkā | Application → IndexedDB → solo2-vault-{userId}. Tavi šifrētie dati ir šeit, ne serverī. |
Application |
| Kontaktu saraksts tikai lokāls | Application → IndexedDB → store pares. Pastāv tikai tavā pārlūkā. |
Application |
| Bez ārējiem CDN | Network → visi JS/CSS tiek ielādēti no tā paša domēna. Nav cdn.jsdelivr.net, unpkg.com vai līdzīgu. |
Network |
| Sesijas līdz 24 stundām | Application → localStorage → solo2_session. Tokenam ir pārbaudāms derīguma termiņš. |
Application |
| Vari redzēt, kādu savienojuma veidu izmanto | Čata UI: P2P indikators (zaļš) pret Mirror/TURN (oranžs) vienmēr redzams | UI |
| Umami ir bez sīkdatnēm | Application → Cookies → neparādās neviena stats.menzuri.com sīkdatne. Umami neizmanto sīkdatnes. |
Application |
| Tava galvenā atslēga tiek nejauši ģenerēta | Application → reģistrējoties, Solo2 ģenerē 24 unikālus vārdus. Tie nav atvasināti no tavas paroles — tā ir neatkarīga atslēga ar 256 bitiem reālas entropijas | Application |
Ja proti lietot DevTools
Pārbaudes, kam nepieciešamas tehniskas zināšanas. Ja saproti HTTP, WebRTC un pamata kriptogrāfiju, vari apstiprināt šos apgalvojumus.
| Apgalvojums | Kā pārbaudīt |
|---|---|
| E2E šifrētas ziņas | Network → pieprasījumi uz /cmd satur šifrētus datus (base64/bināri). Nav lasāma JSON ar vienkāršu tekstu. |
| E2E šifrēti WebRTC signāli | Network → signālu ziņas ceļo kā šifrēti bināri blob. Tie nav lasāms JSON ar offer/answer vienkāršā tekstā. |
| Galvenā atslēga neatkarīga no paroles | Network → pieslēgšanās saņem šifrētu wrapped_master_key |
| Vienmērīgs padding mirror režīmā | Network → WebSocket/DataChannel paketēm ir fiksēts izmērs, izmantojot relay. Pārbaudi izmērus Network cilnē |
| Parole aizsargāta (neceļo vienkāršā tekstā) | Network → pieteikšanās sūta hash, ne vienkāršu tekstu. Nevari pārbaudīt servera algoritmu (Argon2id), bet vari redzēt, ka tava oriģinālā parole nekad netiek nosūtīta. |
| Sasaistes pieprasījumi beidzas pēc 3 dienām | Izveido pieprasījumu, neatbildi, pārbaudi pēc 3 dienām, ka tas ir pazudis. Nepieciešama pacietība, bet tas ir pārbaudāms. |
| Šifrēti push paziņojumi | Network → push pieprasījumi Service Worker sasniedz šifrēti (Web Push standarts). Šifrētais saturs redzams Network cilnē |
| Tiešais P2P savienojums pret relay | chrome://webrtc-internals/ → pārbaudi ICE kandidātus. Ja redzi typ srflx vai typ relay, zini, vai savienojums ir tiešs vai pārsūtīts. |
To pārbaudīt nevari
Būtu liekulīgi apgalvot, ka viss ir pārbaudāms. Šie apgalvojumi prasa uzticēšanos — vai ārēju auditu.
| Apgalvojums | Kāpēc nav pārbaudāms |
|---|---|
| Double Ratchet ar atslēgu rotāciju | Kriptogrāfiskās operācijas notiek WASM bināra iekšienē. Lietotājs redz, ka tas tiek ielādēts, bet nevar nolasīt, kādu algoritmu izpilda |
| Galvenā atslēga tiek ģenerēta ar reālu entropiju (256 biti) | Ģenerēšana izmanto crypto.getRandomValues pārlūkprogrammā. Tu vari redzēt, ka tiek ģenerēti 24 vārdi, bet tu nevari pārbaudīt no F12 entropijas kvalitāti vai to, ka CSPRNG ir drošs |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Tā pati problēma: kriptogrāfiskais steks ir WASM iekšienē. Līknes un algoritmus nevar apstiprināt no pārlūka |
| Serveris ir "pilnīgi akls" | Vari pārbaudīt, ka klients nesūta lasāmus datus. Ko serveris dara ar savienojuma metadatiem (IP, laika zīmogi) prasa uzticēšanos vai auditu |
| Serveris neglabā attiecības pēc sasaistes | Nepieciešama piekļuve servera kodam un datubāzei |
| IP adreses netiek reģistrētas | Nevari pārbaudīt, ko serveris reģistrē savos žurnālos |
| Atslēgas mainās ar katru ziņu | Notiek WASM iekšienē. Redzi, ka ziņas tiek sūtītas, bet nevari novērot atslēgu rotāciju |
| Dzēstie dati patiešām pazūd | Vari dzēst no lokālā IndexedDB, bet nevari pārbaudīt, vai serveris nepatur kopijas (lai gan Manifests apgalvo, ka tās nekad nebija) |
Kāpēc WASM ir reāla barjera
Solo2 kriptogrāfiskais slānis ir kompilēts WebAssembly — binārs formāts, ko tavs pārlūks izpilda, bet ko nevari lasīt kā tekstu. Tas nozīmē, ka nevari tieši auditēt kodu, kas šifrē tavas ziņas.
Minificētais JavaScript (ko izmantojam saskarnei) ir atgriezenisks: pārlūks var to pārformatēt un koda struktūra ir lasāma. Tas ir darbietilpīgs process, bet iespējams. WASM — nē: tas ir necaurspīdīgs binārs.
Mēs sakām, ka tas ir Double Ratchet ar X25519. Vari uzticēties mūsu vārdam vai pagaidīt, līdz publicēsim kriptogrāfiskā slāņa pirmkodu, lai pārbaudītu pats.
Ko mēs darām, lai tu varētu vairāk uzticēties
Publicēt .wasm SHA-256 hash
Publicēsim katra WASM faila kriptogrāfisko hash produkcijā. Tā jebkurš auditors varēs pārbaudīt, ka tavā pārlūkā izpildāmais binārs sakrīt ar to, ko mēs kompilējām.
Atvērt kriptogrāfisko slāni kā atvērto kodu
Publicēt kriptogrāfiskā slāņa (Zig) pirmkodu kā publisku repozitoriju. Tas pats modelis kā Signal: atvērts kriptogrāfiskais protokols, pārējā lietotnes daļa privāta.
Drošība nav atkarīga no slepenības
Mūsu drošības modelis ir veidots, lai darbotos pat tad, ja kods būtu publisks. Mēs neesam atkarīgi no tā, ka neviens neredz, kā tas darbojas — mēs esam atkarīgi no kriptogrāfijas stabilitātes.
5 documented security layers
Parole (piekļuve serverim), 24 vārdi (patiesā galvenā atslēga), ierīces noslēpums (glabātuves aizsardzība) un Double Ratchet rotācija. Katrs slānis ir neatkarīgs un pārbaudāms mūsu Caurskatāmības Manifestā.