Sahkannya sendiri

Jangan percaya sesiapa. Periksanya sendiri.

Solo2 ialah aplikasi web. Itu bermaksud pelayar kamu sudah mempunyai semua alat yang kamu perlukan untuk mengaudit apa yang kami buat. Tekan F12, buka DevTools dan periksanya sendiri setiap pernyataan dalam Manifesto kami. Di sini kami beritahu kamu dengan tepat bagaimana.

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

1

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.

2

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.

3

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.

4

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.

Solo2 — Perbualan kamu milik kamu sahaja.