Periksanya dalam 2 minit
Tekan F12 dalam pelayar kamu. Tanpa memasang apa-apa. Tanpa perlu tahu memprogram.
| Pernyataan | Bagaimana mengesahkannya | Tab |
|---|---|---|
| Tiada kuki dari sebarang jenis | Application → Cookies → kosong. Solo2 tidak memasang sebarang kuki. Sesi kamu dikekalkan dalam localStorage, bukan dalam kuki. Tanpa _ga |
Application |
| Tiada perkhidmatan pihak ketiga dalam aplikasi | Network → tapis mengikut domain → hanya permintaan ke solo2.net |
Network |
| Analitik hanya pada landing, bukan dalam aplikasi | Network → dalam /* |
Network |
| Sejarah kamu hidup dalam pelayar kamu | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Senarai kenalan hanya tempatan | Application → IndexedDB → store pares |
Application |
| Tanpa CDN luaran | Network → semua JS/CSS dimuatkan daripada domain yang sama. Tiada cdn.jsdelivr.net |
Network |
| Sesi 24j maksimum | Application → localStorage → solo2_session |
Application |
| Kamu boleh melihat jenis sambungan apa kamu guna | Dalam senarai kenalan: di sebelah setiap kenalan, P2P (hijau) atau Cermin (oren) | UI |
| Umami adalah cookieless | Application → Cookies → tidak muncul sebarang kuki dari stats.menzuri.com |
Application |
| Kunci induk kamu dihasilkan secara rawak | Application → semasa mendaftar, Solo2 menghasilkan 24 perkataan unik. Ia tidak diterbitkan daripada kata laluan kamu — ia kunci bebas dengan 256 bit entropi sebenar | Application |
Jika kamu tahu guna DevTools
Pengesahan yang memerlukan pengetahuan teknikal. Jika kamu faham HTTP, WebRTC dan kriptografi asas, kamu boleh mengesahkan pernyataan ini.
| Pernyataan | Bagaimana mengesahkannya |
|---|---|
| Mesej tersulit E2E | Network → permintaan ke /cmd |
| Isyarat WebRTC tersulit E2E | Network → mesej isyarat mengembara sebagai blob binari tersulit. Bukan JSON yang boleh dibaca dengan offer |
| Kunci induk bebas daripada kata laluan | Network → log masuk menerima satu wrapped_master_key |
| Padding seragam dalam mirror | Network → paket WebSocket/DataChannel mempunyai saiz tetap semasa menggunakan cermin (TURN). Periksa saiz dalam tab Network |
| Kata laluan terlindungi (tidak mengembara dalam bentuk biasa) | Network → log masuk menghantar satu hash, bukan teks biasa. Kamu tidak boleh mengesahkan algoritma apa pelayan guna (Argon2id), tetapi memang kata laluan asal kamu tidak pernah keluar daripada pelayar |
| Permintaan pautan luput dalam 3 hari | Cipta satu permintaan, jangan balas, periksa selepas 3 hari yang ia lenyap. Memerlukan kesabaran dan dua akaun |
| Notifikasi push tersulit | Network → permintaan push ke Service Worker sampai secara tersulit (standard Web Push). Kelihatan payload tersulit dalam tab Network |
| Sambungan P2P terus vs cermin (TURN) | chrome://webrtc-internals/ |
Ini kamu tidak boleh periksanya
Kami akan jadi hipokrit jika kami katakan segalanya boleh disahkan. Pernyataan ini memerlukan kamu percaya kepada kami — atau tunggu sehingga kami menerbitkan kodnya.
| Pernyataan | Mengapa tidak boleh disahkan |
|---|---|
| Double Ratchet dengan pusingan kunci | Operasi kriptografi berlaku di dalam satu binari WASM. Pengguna nampak ia dimuatkan, tetapi tidak boleh membaca algoritma apa ia jalankan |
| Kunci induk dihasilkan dengan entropi sebenar (256 bit) | Penghasilan menggunakan crypto.getRandomValues di dalam pelayar. Kamu boleh nampak yang 24 perkataan dihasilkan, tetapi tidak boleh mengesahkan daripada F12 kualiti entropi mahupun yang CSPRNG adalah selamat |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Masalah yang sama: tindanan kriptografi berada di dalam WASM. Tidak boleh mengesahkan lengkungan mahupun algoritma daripada pelayar |
| Pelayan tidak boleh membaca kandungan mesej kamu | Kamu boleh mengesahkan yang klien tidak menghantar data yang boleh dibaca. Apa yang pelayan buat dengan metadata sambungan (IP, timestamp) memerlukan kepercayaan atau audit pelayan |
| Pelayan tidak menyimpan hubungan selepas pautan | Memerlukan akses ke kod dan pangkalan data pelayan |
| IP tidak direkodkan | Kamu tidak boleh mengesahkan apa yang pelayan rekodkan dalam lognya |
| Kunci berpusing dengan setiap mesej | Berlaku di dalam WASM. Kamu nampak mesej dihantar, tetapi tidak boleh memerhatikan pusingan kunci |
| Data yang dipadam benar-benar lenyap | Kamu boleh memadam daripada IndexedDB tempatan, tetapi tidak boleh mengesahkan yang pelayan tidak menyimpan salinan (walaupun Manifesto mengatakan ia tidak pernah mempunyainya) |
Mengapa WASM adalah satu sempadan nyata
Lapisan kriptografi Solo2 dikompil dalam WebAssembly — satu format binari yang pelayar kamu jalankan tetapi kamu tidak boleh baca sebagai teks. Ini bermaksud kamu tidak boleh mengesahkan daripada F12 algoritma apa yang kami guna.
JavaScript yang dikecilkan (yang kami guna untuk antara muka) memang boleh dibalikkan: pelayar boleh memformatnya semula dan struktur kod adalah boleh dibaca. Ia satu halangan praktikal, bukan satu sempadan nyata. Tetapi WASM yang dikompil daripada Zig adalah berbeza secara fundamental
Kami katakan ia adalah Double Ratchet dengan X25519. Kamu boleh percaya pada kata-kata kami, atau kamu boleh tunggu sehingga kami menerbitkan kod sumber lapisan kripto supaya sesiapa sahaja boleh mengauditnya. Kami sedang mengusahakannya.
Apa yang kami sedang buat supaya kamu boleh lebih percaya
Menerbitkan hash SHA-256 bagi .wasm
Kami akan menerbitkan hash kriptografi setiap fail WASM dalam produksi. Dengan itu mana-mana juruaudit akan dapat mengesahkan yang binari yang dijalankan dalam pelayar kamu sepadan dengan tepat dengan yang kami kompil.
Membuka lapisan kripto sebagai kod sumber terbuka
Menerbitkan kod sumber lapisan kriptografi (Zig) sebagai repositori awam. Model yang sama dengan Signal: protokol kriptografi terbuka, baki kod tertutup. Sesiapa sahaja akan dapat mengompil kod sumber dan membandingkan hash .wasm yang terhasil dengan yang berada dalam produksi.
Keselamatan tidak bergantung pada kegelapan
Model keselamatan kami direka untuk berfungsi walaupun jika kod sumber adalah awam. Jika keselamatan bergantung kepada tiada sesiapa boleh membaca kod tersebut, ia bukan keselamatan — ia adalah harapan.
5 lapisan keselamatan yang didokumenkan
Kata laluan (akses pelayan), 24 perkataan (kunci induk sebenar), rahsia peranti (perlindungan data tempatan) dan pusingan Double Ratchet. Setiap lapisan adalah bebas dan boleh disahkan dalam Manifesto Ketelusan kami.