تحقّق بنفسك

لا تثق بأحد. تحقّق بنفسك.

Solo2 تطبيق ويب. هذا يعني أن متصفحك يملك بالفعل جميع الأدوات التي تحتاجها لمراجعة ما نفعله. اضغط F12، افتح DevTools وتحقّق بنفسك من كل تصريح في بياننا. هنا نُخبرك بالضبط كيف.

تحقّق في دقيقتين

اضغط F12 في متصفحك. بدون تثبيت أي شيء. بدون معرفة البرمجة.

التصريح كيفية التحقق التبويب
لا توجد ملفات تعريف ارتباط تتبّعية Application → Cookies → فقط ملف تعريف ارتباط جلسة تقني. بدون _ga, _fbp, _gid ni similares Application
لا توجد خدمات أطراف ثالثة في التطبيق Network → فلتر حسب النطاق → فقط طلبات إلى solo2.net. Cero llamadas a Google, Facebook, Amazon, etc. Network
التحليلات فقط في صفحة العرض، وليس في التطبيق Network → في /info/* se ve stats.menzuri.com. En la app (/) no aparece ningún script de analytics Network
سجل محادثاتك يعيش في متصفحك Application → IndexedDB → solo2-vault-{userId} con stores messages, files, etc. Datos locales Application
قائمة جهات الاتصال محلية فقط Application → IndexedDB → store pares existe localmente. Network → no hay petición de "contacts" ni "friends" al servidor Application
بدون شبكات توصيل محتوى خارجية Network → جميع ملفات JS/CSS تُحمَّل من نفس النطاق. لا يوجد cdn.jsdelivr.net, cdnjs.cloudflare.com, unpkg.com Network
جلسات بحد أقصى 24 ساعة Application → localStorage → solo2_session expira. Puedes cerrar sesión y ver que desaparece Application
يمكنك رؤية نوع الاتصال الذي تستخدمه في واجهة الدردشة: مؤشر P2P (أخضر) مقابل Mirror/TURN (برتقالي) مرئي في جميع الأوقات UI
Umami لا يستخدم ملفات تعريف الارتباط Application → Cookies → لا يظهر أي ملف تعريف ارتباط من stats.menzuri.com incluso tras visitar el landing Application
مفتاحك الرئيسي يُنشأ عشوائياً Application → عند التسجيل، يُنشئ Solo2 24 كلمة فريدة. لا تُشتق من كلمة مرورك — إنها مفتاح مستقل بـ256 بت من العشوائية الحقيقية Application

إذا كنت تعرف استخدام DevTools

تحققات تتطلب معرفة تقنية. إذا كنت تفهم HTTP وWebRTC والتشفير الأساسي، يمكنك تأكيد هذه التصريحات.

التصريح كيفية التحقق
رسائل مُشفَّرة E2E Network → الطلبات إلى /cmd contienen payloads binarios opacos (zcatpack). El contenido no es texto legible. No puedes confirmar qué algoritmo se usa, pero sí que no viaja en claro
إشارات WebRTC مُشفَّرة E2E Network → رسائل الإشارة تنتقل ككتل ثنائية مُشفَّرة. ليست JSON مقروء مع offer/answer en claro
المفتاح الرئيسي مستقل عن كلمة المرور Network → تسجيل الدخول يتلقى wrapped_master_key cifrado del servidor. El cliente lo descifra localmente con la contraseña. La clave maestra nunca viaja en claro. Cambiar contraseña no cambia la identidad
حشو موحّد في المرآة Network → حزم WebSocket/DataChannel بحجم ثابت عند استخدام relay. افحص الأحجام في تبويب Network
كلمة المرور محمية (لا تنتقل كنص عادي) Network → تسجيل الدخول يُرسل بصمة (hash)، وليس نصاً عادياً. لا يمكنك التحقق من الخوارزمية المُستخدمة في الخادم (Argon2id)، لكن يمكنك التأكد من أن كلمة مرورك الأصلية لا تُغادر المتصفح أبداً
طلبات الربط تنتهي صلاحيتها في 3 أيام أنشئ طلباً، لا تُجب عليه، تحقّق بعد 3 أيام أنه اختفى. يتطلب صبراً وحسابين
إشعارات الدفع مُشفَّرة Network → طلبات push إلى Service Worker تصل مُشفَّرة (معيار Web Push). يمكن رؤية الحمولة المُشفَّرة في تبويب Network
اتصال P2P مباشر مقابل relay chrome://webrtc-internals/ muestra los ICE candidates y si la conexión es relay (TURN) o srflx/host (directa)

هذا لا يمكنك التحقق منه

سنكون منافقين لو قلنا إن كل شيء قابل للتحقق. هذه التصريحات تتطلب أن تثق بنا — أو أن تنتظر حتى ننشر الكود المصدري.

التصريح لماذا لا يمكن التحقق
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 مختلف جذرياً — es un binario de bajo nivel donde los nombres originales desaparecen y las optimizaciones del compilador transforman el código más allá de lo reconocible.

نقول إنه Double Ratchet مع X25519. يمكنك الوثوق بكلمتنا، أو يمكنك الانتظار حتى ننشر الكود المصدري لطبقة التشفير ليتمكن أي شخص من تدقيقه. نعمل على ذلك.

ما نفعله لتتمكن من الوثوق أكثر

1

نشر بصمات SHA-256 لملفات .wasm

سننشر البصمة التشفيرية (hash) لكل ملف WASM في الإنتاج. هكذا يستطيع أي مُدقّق التحقق من أن الملف الثنائي المُنفَّذ في متصفحك يتطابق تماماً مع ما جمّعناه.

2

فتح طبقة التشفير ككود مفتوح المصدر

نشر الكود المصدري لطبقة التشفير (Zig) كمستودع عام. نفس نموذج Signal: بروتوكول تشفير مفتوح، بقية الكود مغلقة. يستطيع أي شخص تجميع الكود المصدري ومقارنة بصمة ملف .wasm الناتج مع الموجود في الإنتاج.

3

الأمان لا يعتمد على الغموض

نموذج أماننا مُصمَّم ليعمل حتى لو كان الكود المصدري عاماً. إذا كان الأمان يعتمد على عدم قدرة أحد على قراءة الكود، فلن يكون أماناً — بل أمنية.

4

5 طبقات أمان مُوثَّقة

كلمة المرور (الوصول إلى الخادم)، 24 كلمة (المفتاح الرئيسي الحقيقي)، سر الجهاز (حماية الخزينة) وتبديل Double Ratchet. كل طبقة مستقلة وقابلة للتحقق في بيان الشفافية.

Solo2 — محادثتك ملكك وحدك.