Проверете за 2 минути
Натиснете F12 в браузъра си. Без да инсталирате нищо. Без да знаете програмиране.
| Твърдение | Как да проверите | Таб |
|---|---|---|
| Няма бисквитки от никакъв вид | Application → Cookies → празно. Solo2 не инсталира никакви бисквитки. Сесията ти се поддържа в localStorage, не в бисквитки. Без _ga |
Application |
| Няма услуги на трети страни в приложението | Network → филтрирайте по домейн → само заявки към solo2.net |
Network |
| Аналитика само на landing страницата, не в приложението | Network → на /* |
Network |
| Историята ви живее в браузъра ви | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Списъкът с контакти само локално | Application → IndexedDB → store pares |
Application |
| Без външни CDN | Network → всички JS/CSS се зареждат от същия домейн. Няма cdn.jsdelivr.net |
Network |
| Сесии максимум 24 часа | Application → localStorage → solo2_session |
Application |
| Можете да видите какъв тип връзка използвате | В интерфейса на чата: P2P индикатор (зелен) vs Mirror/TURN (оранжев) винаги видим | UI |
| Umami е без бисквитки | Application → Cookies → няма бисквитки от stats.menzuri.com |
Application |
| Главният ти ключ се генерира случайно | Application → при регистрация Solo2 генерира 24 уникални думи. Те не се извличат от паролата ти — те са независим ключ с 256 бита реална ентропия | Application |
Ако знаете да използвате DevTools
Проверки, изискващи технически познания. Ако разбирате HTTP, WebRTC и основна криптография, можете да потвърдите тези твърдения.
| Твърдение | Как да проверите |
|---|---|
| E2E криптирани съобщения | Network → заявки към /cmd |
| E2E криптирани WebRTC сигнали | Network → сигналните съобщения пътуват като криптирани бинарни блобове. Не са четим JSON с offer |
| Главен ключ, независим от паролата | Network → при влизане сървърът връща криптиран wrapped_master_key |
| Еднакъв padding на огледалния сървър | Network → WebSocket/DataChannel пакетите са с фиксиран размер при използване на relay. Проверете размерите в таба Network |
| Паролата е защитена (не пътува в открит текст) | Network → влизането изпраща hash, не открит текст. Не можете да проверите какъв алгоритъм използва сървърът (Argon2id), но можете да проверите, че оригиналната ви парола никога не напуска браузъра |
| Заявките за свързване изтичат след 3 дни | Създайте заявка, не отговаряйте на нея, проверете след 3 дни, че е изчезнала. Изисква търпение и два акаунта |
| Push известия криптирани | Network → push заявките към Service Worker пристигат криптирани (стандарт Web Push). Криптираното съдържание е видимо в таба Network |
| Директна P2P връзка vs. relay | chrome://webrtc-internals/ |
Това не можете да проверите
Бихме били лицемери, ако твърдим, че всичко е проверимо. Тези твърдения изискват да ни се доверите — или да изчакате, докато публикуваме изходния код.
| Твърдение | Защо това не е проверимо |
|---|---|
| Double Ratchet с ротация на ключовете | Криптографските операции се извършват вътре в WASM бинарен файл. Потребителят вижда, че се зарежда, но не може да прочете какъв алгоритъм изпълнява |
| Главният ключ се генерира с реална ентропия (256 бита) | Генерирането използва crypto.getRandomValues в браузъра. Можеш да видиш, че се генерират 24 думи, но не можеш да проверш от F12 качеството на ентропията, нито сигурността на CSPRNG |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Същият проблем: криптографският стек е вътре в WASM. От браузъра не можете да потвърдите кривите или алгоритмите |
| Сървърът е „напълно сляп“ | Можете да проверите, че клиентът не изпраща четими данни. Какво прави сървърът с метаданните на връзката (IP адреси, времеви марки) изисква доверие или одит на сървъра |
| Сървърът не запазва връзки след свързване | Изисква достъп до изходния код и базата данни на сървъра |
| IP адресите не се записват | Не можете да проверите какво записва сървърът в логовете си |
| Ключовете се ротират с всяко съобщение | Става вътре в WASM. Виждате, че съобщения се изпращат, но не можете да наблюдавате ротацията на ключовете |
| Изтритите данни наистина изчезват | Можете да изтриете от локалната IndexedDB, но не можете да проверите, че сървърът не пази копия (въпреки че Манифестът казва, че никога не ги е имал) |
Защо WASM е реална бариера
Криптографският слой на Solo2 е компилиран в WebAssembly — бинарен формат, който браузърът ви изпълнява, но не можете да четете като текст. Това означава, че от F12 не можете да проверите какъв алгоритъм използваме.
Минифицираният JavaScript (който използваме за интерфейса) е обратим: браузърът може да го преформатира и структурата на кода е четима. Това е практическа пречка, не реална бариера. Но WASM, компилиран от Zig, е фундаментално различен
Казваме, че е Double Ratchet с X25519. Можете да ни вярвате на дума или можете да изчакате, докато публикуваме изходния код на криптографския слой, за да може всеки да го одитира. Работим по това.
Какво правим, за да можете да ни се доверите повече
Публикуване на SHA-256 хешове на .wasm файлове
Ще публикуваме криптографския hash на всеки WASM файл в продукция. Така всеки одитор може да провери, че бинарният файл в браузъра ви точно съответства на този, който сме компилирали.
Отваряне на криптографския слой като open source
Публикуване на изходния код на криптографския слой (Zig) като публично хранилище. Същият модел като Signal: отворен криптографски протокол, останалата част от кода затворен. Всеки ще може да компилира изходния код и да сравни хеша на получения .wasm с този в продукция.
Сигурността не зависи от секретност
Нашият модел на сигурност е проектиран да работи дори ако изходният код е публичен. Ако сигурността зависеше от това никой да не може да чете кода, това нямаше да е сигурност — щеше да е надежда.
5 документирани слоя на сигурност
Парола (достъп до сървъра), 24 думи (истински главен ключ), тайна на устройството (защита на сейфа) и ротация Double Ratchet. Всеки слой е независим и проверим в нашия Манифест за прозрачност.