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