בדוק זאת תוך 2 דקות
לחץ על F12 בדפדפן שלך. ללא התקנת דבר. ללא ידע בתכנות.
| טענה | איך לאמת | לשונית |
|---|---|---|
| אין עוגיות מכל סוג שהוא | Application → Cookies → ריק. Solo2 לא מתקין שום עוגייה. הפגישה שלך נשמרת ב-localStorage, לא בעוגיות. ללא _ga |
Application |
| אין שירותי צד שלישי באפליקציה | Network → סנן לפי דומיין → רק בקשות ל-solo2.net |
Network |
| אנליטיקה רק בלנדינג, לא באפליקציה | 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 (ירוק) לעומת Mirror/TURN (כתום) גלוי בכל עת | UI |
| Umami ללא עוגיות | Application → Cookies → לא מופיעה שום עוגייה של stats.menzuri.com |
Application |
| המפתח הראשי שלך נוצר באופן אקראי | Application → בהרשמה, Solo2 מייצר 24 מילים ייחודיות. הן לא נגזרות מהסיסמה שלך — הן מפתח עצמאי עם 256 ביט של אנטרופיה אמיתית | Application |
אם אתה יודע להשתמש ב-DevTools
אימותים שדורשים ידע טכני. אם אתה מבין HTTP, WebRTC וקריפטוגרפיה בסיסית, תוכל לאשר טענות אלה.
| טענה | איך לאמת |
|---|---|
| הודעות מוצפנות E2E | Network → הבקשות ל-/cmd |
| אותות WebRTC מוצפנים E2E | Network → הודעות האיתות נוסעות כ-blobs בינאריים מוצפנים. הם לא JSON קריא עם offer |
| מפתח ראשי עצמאי מהסיסמה | Network → ההתחברות מקבלת wrapped_master_key |
| ריפוד אחיד במראה | Network → חבילות ה-WebSocket/DataChannel בגודל קבוע כשנעשה שימוש ב-relay. בדוק את הגדלים בלשונית Network |
| סיסמה מוגנת (לא נשלחת בטקסט רגיל) | Network → ההתחברות שולחת hash, לא טקסט רגיל. אינך יכול לאמת באיזה אלגוריתם השרת משתמש (Argon2id), אבל כן שהסיסמה המקורית שלך לעולם לא יוצאת מהדפדפן |
| בקשות קישור פוקעות תוך 3 ימים | צור בקשה, אל תענה עליה, ודא אחרי 3 ימים שהיא נעלמה. דורש סבלנות ושני חשבונות |
| התראות push מוצפנות | Network → בקשות ה-push ל-Service Worker מגיעות מוצפנות (תקן Web Push). ניתן לראות את המטען המוצפן בלשונית Network |
| חיבור P2P ישיר לעומת 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. אתה יכול לסמוך על המילה שלנו, או לחכות שנפרסם את קוד המקור של שכבת ההצפנה כדי שכל אחד יוכל לבקר אותו. אנחנו עובדים על זה.
מה אנחנו עושים כדי שתוכל לסמוך יותר
פרסום hash-ים SHA-256 של קבצי ה-.wasm
נפרסם את ה-hash הקריפטוגרפי של כל קובץ WASM בייצור. כך כל מבקר יוכל לאמת שהבינארי שרץ בדפדפן שלך תואם בדיוק לזה שאנחנו קימפלנו.
פתיחת שכבת ההצפנה כקוד פתוח
פרסום קוד המקור של שכבת ההצפנה (Zig) כמאגר ציבורי. אותו מודל כמו Signal: פרוטוקול הצפנה פתוח, שאר הקוד סגור. כל אחד יוכל לקמפל את קוד המקור ולהשוות את ה-hash של ה-.wasm שנוצר לזה שנמצא בייצור.
האבטחה לא תלויה בסתירה
מודל האבטחה שלנו תוכנן לעבוד גם אם קוד המקור ציבורי. אם האבטחה הייתה תלויה בכך שאף אחד לא יכול לקרוא את הקוד, זו לא הייתה אבטחה — זו הייתה תקווה.
5 שכבות אבטחה מתועדות
סיסמה (גישה לשרת), 24 מילים (המפתח הראשי האמיתי), סוד מכשיר (הגנת כספת) וסיבוב Double Ratchet. כל שכבה עצמאית וניתנת לאימות במניפסט השקיפות שלנו.