Επαλήθευσέ το σε 2 λεπτά
Πάτησε F12 στον περιηγητή σου. Χωρίς εγκατάσταση. Χωρίς γνώσεις προγραμματισμού.
| Ισχυρισμός | Πώς να το επαληθεύσεις | Καρτέλα |
|---|---|---|
| Δεν υπάρχουν cookies κανενός είδους | Application → Cookies → κενό. Το Solo2 δεν εγκαθιστά κανένα cookie. Η συνεδρία σου διατηρείται στο localStorage, όχι σε cookies. Χωρίς _ga |
Application |
| Δεν υπάρχουν υπηρεσίες τρίτων στην εφαρμογή | Network → φιλτράρισμα κατά domain → μόνο αιτήματα στο solo2.net. Δεν υπάρχει Google, Facebook, Cloudflare ή άλλο. |
Network |
| Analytics μόνο στο landing, όχι στην εφαρμογή | Network → στο /* θα δεις αιτήματα στο stats.menzuri.com. Στην εφαρμογή (/app/*), κανένα. |
Network |
| Το ιστορικό σου ζει στον περιηγητή σου | Application → IndexedDB → solo2-vault-{userId}. Τα κρυπτογραφημένα δεδομένα σου βρίσκονται εκεί, όχι στον διακομιστή. |
Application |
| Η λίστα επαφών μόνο τοπικά | Application → IndexedDB → store pares. Υπάρχει μόνο στον περιηγητή σου. |
Application |
| Χωρίς εξωτερικά CDN | Network → όλα τα JS/CSS φορτώνονται από τον ίδιο τομέα. Δεν υπάρχει cdn.jsdelivr.net, unpkg.com ή παρόμοιο. |
Network |
| Συνεδρίες μέγιστης διάρκειας 24 ωρών | Application → localStorage → solo2_session. Το token έχει επαληθεύσιμη λήξη. |
Application |
| Μπορείς να δεις τι τύπο σύνδεσης χρησιμοποιείς | Στο UI του chat: ένδειξη P2P (πράσινη) vs Mirror/TURN (πορτοκαλί) ορατή ανά πάσα στιγμή | UI |
| Το Umami είναι cookieless | Application → Cookies → δεν εμφανίζεται κανένα cookie από stats.menzuri.com. Το Umami δεν χρησιμοποιεί cookies. |
Application |
| Το κύριο κλειδί σου δημιουργείται τυχαία | Application → κατά την εγγραφή, το Solo2 δημιουργεί 24 μοναδικές λέξεις. Δεν προέρχονται από τον κωδικό σου — είναι ένα ανεξάρτητο κλειδί με 256 bit πραγματικής εντροπίας | Application |
Αν ξέρεις να χρησιμοποιείς DevTools
Επαληθεύσεις που απαιτούν τεχνική γνώση. Αν κατανοείς HTTP, WebRTC και βασική κρυπτογραφία, μπορείς να επιβεβαιώσεις αυτούς τους ισχυρισμούς.
| Ισχυρισμός | Πώς να το επαληθεύσεις |
|---|---|
| Μηνύματα κρυπτογραφημένα E2E | Network → τα αιτήματα στο /cmd φέρουν κρυπτογραφημένα payloads (base64/binary). Δεν υπάρχει αναγνώσιμο JSON με απλό κείμενο. |
| Σήματα WebRTC κρυπτογραφημένα E2E | Network → τα signal messages ταξιδεύουν ως κρυπτογραφημένα binary blobs. Δεν είναι αναγνώσιμο JSON με offer/answer σε απλό κείμενο. |
| Κύριο κλειδί ανεξάρτητο από τον κωδικό | Network → η σύνδεση λαμβάνει ένα κρυπτογραφημένο wrapped_master_key |
| Ομοιόμορφο padding στο mirror | Network → τα πακέτα WebSocket/DataChannel έχουν σταθερό μέγεθος όταν χρησιμοποιείται relay. Επιθεώρησε τα μεγέθη στην καρτέλα Network |
| Κωδικός πρόσβασης προστατευμένος (δεν ταξιδεύει σε απλό κείμενο) | Network → το login στέλνει hash, όχι απλό κείμενο. Δεν μπορείς να επαληθεύσεις τον αλγόριθμο του διακομιστή (Argon2id), αλλά μπορείς να δεις ότι ο αρχικός κωδικός σου δεν αποστέλλεται ποτέ. |
| Τα αιτήματα σύνδεσης λήγουν σε 3 ημέρες | Δημιούργησε ένα αίτημα, μην απαντήσεις, επαλήθευσε μετά από 3 ημέρες ότι εξαφανίστηκε. Απαιτεί υπομονή, αλλά είναι επαληθεύσιμο. |
| Κρυπτογραφημένες push ειδοποιήσεις | Network → τα push αιτήματα στο Service Worker φτάνουν κρυπτογραφημένα (πρότυπο Web Push). Το κρυπτογραφημένο payload φαίνεται στην καρτέλα Network |
| Άμεση σύνδεση P2P vs relay | chrome://webrtc-internals/ → επαλήθευσε τους υποψήφιους ICE. Αν δεις typ srflx ή typ relay, ξέρεις αν είναι άμεση ή αναμεταδιδόμενη. |
Αυτό δεν μπορείς να το επαληθεύσεις
Θα ήμασταν υποκριτές αν λέγαμε ότι όλα είναι επαληθεύσιμα. Αυτοί οι ισχυρισμοί απαιτούν εμπιστοσύνη — ή εξωτερικό έλεγχο.
| Ισχυρισμός | Γιατί δεν είναι επαληθεύσιμο |
|---|---|
| Double Ratchet με εναλλαγή κλειδιών | Οι κρυπτογραφικές λειτουργίες γίνονται μέσα σε ένα WASM binary. Ο χρήστης βλέπει ότι φορτώνεται, αλλά δεν μπορεί να διαβάσει ποιον αλγόριθμο εκτελεί |
| Το κύριο κλειδί δημιουργείται με πραγματική εντροπία (256 bit) | Η δημιουργία χρησιμοποιεί crypto.getRandomValues μέσα στον περιηγητή. Μπορείς να δεις ότι δημιουργούνται 24 λέξεις, αλλά δεν μπορείς να επαληθεύσεις από το F12 την ποιότητα της εντροπίας ούτε ότι το CSPRNG είναι ασφαλές |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Ίδιο πρόβλημα: η κρυπτογραφική στοίβα βρίσκεται μέσα στο WASM. Δεν μπορούν να επιβεβαιωθούν οι καμπύλες ούτε οι αλγόριθμοι από τον περιηγητή |
| Ο διακομιστής είναι "εντελώς τυφλός" | Μπορείς να επαληθεύσεις ότι ο client δεν στέλνει αναγνώσιμα δεδομένα. Τι κάνει ο διακομιστής με τα μεταδεδομένα σύνδεσης (IPs, timestamps) απαιτεί εμπιστοσύνη ή έλεγχο |
| Ο διακομιστής δεν αποθηκεύει σχέσεις μετά τη σύνδεση | Απαιτεί πρόσβαση στον κώδικα και τη βάση δεδομένων του διακομιστή |
| Οι IPs δεν καταγράφονται | Δεν μπορείς να επαληθεύσεις τι καταγράφει ο διακομιστής στα logs του |
| Τα κλειδιά εναλλάσσονται με κάθε μήνυμα | Συμβαίνει μέσα στο WASM. Βλέπεις ότι στέλνονται μηνύματα, αλλά δεν μπορείς να παρακολουθήσεις την εναλλαγή κλειδιών |
| Τα διαγραμμένα δεδομένα εξαφανίζονται πραγματικά | Μπορείς να διαγράψεις από το τοπικό IndexedDB, αλλά δεν μπορείς να επαληθεύσεις ότι ο διακομιστής δεν κρατά αντίγραφα (αν και το Μανιφέστο λέει ότι δεν τα είχε ποτέ) |
Γιατί η WASM είναι πραγματικό εμπόδιο
Η κρυπτογραφική στρώση του Solo2 είναι μεταγλωττισμένη σε WebAssembly — μια δυαδική μορφή που ο περιηγητής σου εκτελεί αλλά δεν μπορείς να διαβάσεις ως κείμενο. Αυτό σημαίνει ότι δεν μπορείς να ελέγξεις απευθείας τον κώδικα που κρυπτογραφεί τα μηνύματά σου.
Η minified JavaScript (που χρησιμοποιούμε για τη διεπαφή) είναι αντιστρέψιμη: ο περιηγητής μπορεί να την επαναμορφοποιήσει και η δομή του κώδικα είναι αναγνώσιμη. Είναι μια επίπονη διαδικασία, αλλά εφικτή. Η WASM όχι: είναι ένα αδιαφανές binary.
Λέμε ότι χρησιμοποιούμε Double Ratchet με X25519. Μπορείς να εμπιστευτείς τον λόγο μας, ή μπορείς να περιμένεις να δημοσιεύσουμε τον πηγαίο κώδικα της crypto στρώσης για να τον επαληθεύσεις μόνος σου.
Τι κάνουμε για να μπορείς να εμπιστεύεσαι περισσότερο
Δημοσίευση SHA-256 hashes των .wasm
Θα δημοσιεύσουμε το κρυπτογραφικό hash κάθε αρχείου WASM στην παραγωγή. Έτσι κάθε ελεγκτής θα μπορεί να επαληθεύσει ότι το binary που εκτελείται στον περιηγητή σου ταιριάζει με αυτό που εμείς μεταγλωττίσαμε.
Ανοιχτός κώδικας για την κρυπτογραφική στρώση
Δημοσίευση του πηγαίου κώδικα της κρυπτογραφικής στρώσης (Zig) ως δημόσιο αποθετήριο. Το ίδιο μοντέλο με το Signal: ανοιχτό κρυπτογραφικό πρωτόκολλο, υπόλοιπη εφαρμογή ιδιωτική.
Η ασφάλεια δεν εξαρτάται από τη μυστικότητα
Το μοντέλο ασφαλείας μας είναι σχεδιασμένο να λειτουργεί ακόμα κι αν ο κώδικας ήταν δημόσιος. Δεν εξαρτόμαστε από το να μην βλέπει κανείς πώς λειτουργεί — εξαρτόμαστε από τη σταθερότητα της κρυπτογραφίας.
5 documented security layers
Κωδικός (πρόσβαση στον διακομιστή), 24 λέξεις (πραγματικό κύριο κλειδί), μυστικό συσκευής (προστασία θησαυροφυλακίου) και εναλλαγή Double Ratchet. Κάθε επίπεδο είναι ανεξάρτητο και επαληθεύσιμο στο Μανιφέστο Διαφάνειάς μας.