Επαλήθευσέ το μόνος σου

Μην εμπιστεύεσαι κανέναν. Επαλήθευσέ το.

Το Solo2 είναι μια διαδικτυακή εφαρμογή. Αυτό σημαίνει ότι το πρόγραμμα περιήγησής σου διαθέτει ήδη όλα τα εργαλεία που χρειάζεσαι για να ελέγξεις τι κάνουμε. Πάτησε F12, άνοιξε τα DevTools και επαλήθευσε μόνος σου κάθε ισχυρισμό του Μανιφέστου μας. Εδώ σου λέμε ακριβώς πώς.

Έλεγξέ το σε 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. Μπορείς να μας εμπιστευτείς, ή μπορείς να περιμένεις μέχρι να δημοσιεύσουμε τον πηγαίο κώδικα του κρυπτογραφικού επιπέδου ώστε να μπορεί ο καθένας να τον ελέγξει. Εργαζόμαστε πάνω σε αυτό.

Τι κάνουμε για να μπορείς να εμπιστεύεσαι περισσότερο

1

Δημοσίευση των hashes SHA-256 των .wasm

Θα δημοσιεύσουμε τον κρυπτογραφικό κατακερματισμό (hash) κάθε αρχείου WASM στην παραγωγή. Έτσι, οποιοσδήποτε ελεγκτής θα μπορεί να επαληθεύσει ότι το δυαδικό αρχείο που εκτελείται στο πρόγραμμα περιήγησής σου αντιστοιχεί ακριβώς σε αυτό που εμείς μεταγλωττίσαμε.

2

Άνοιγμα του κρυπτογραφικού επιπέδου ως ανοιχτού κώδικα

Δημοσίευση του πηγαίου κώδικα του κρυπτογραφικού επιπέδου (Zig) ως δημόσιο αποθετήριο. Το ίδιο μοντέλο με το Signal: ανοιχτό κρυπτογραφικό πρωτόκολλο, κλειστός ο υπόλοιπος κώδικας. Ο καθένας θα μπορεί να μεταγλωττίσει τον πηγαίο κώδικα και να συγκρίνει το hash του παραγόμενου .wasm με αυτό που βρίσκεται στην παραγωγή.

3

Η ασφάλεια δεν εξαρτάται από την ασάφεια

Το μοντέλο ασφάλειάς μας είναι σχεδιασμένο να λειτουργεί ακόμα και αν ο πηγαίος κώδικας είναι δημόσιος. Εάν η ασφάλεια εξαρτιόταν από το να μην μπορεί κανείς να διαβάσει τον κώδικα, δεν θα ήταν ασφάλεια — θα ήταν ελπίδα.

4

5 επίπεδα ασφάλειας τεκμηριωμένα

Κωδικός πρόσβασης (πρόσβαση στον διακομιστή), 24 λέξεις (πραγματικό κύριο κλειδί), μυστικό συσκευής (προστασία τοπικών δεδομένων) και εναλλαγή Double Ratchet. Κάθε επίπεδο είναι ανεξάρτητο και επαληθεύσιμο στο Μανιφέστο Διαφάνειας μας.

Solo2 — Η συνομιλία σου είναι μόνο δική σου.