الأمان في LangReply
ما الذي نشفّره، وما الذي نتلفه، وما الذي لا يمكننا بصدق أن نضمنه. مكتوب دون لغة تسويقية.
1. التشفير في حالة السكون
تُشفَّر البيانات الحساسة (حسابات المستخدمين، وسجلات الترجمة، ورسائل OTT، والتفضيلات) في حالة السكون باستخدام AES-256-GCM. ويوجد المفتاح الرئيسي خارج مستودع Git، على وحدة تخزين ذات وصول مقيّد (صلاحيات 600، ومالك مخصّص).
يحمل كل سجل حساس متجه التهيئة الخاص به (IV، وهو قيمة عشوائية بطول 96 بت) إلى جانب وسم مصادقة GCM. ويُكتشف أي تلاعب بالنص المشفّر عند فك التشفير (إخفاق تشفيري صريح، لا تلف صامت).
استثناء موثّق: ملف languages.json (القائمة العلنية للغات المدعومة) مستثنى صراحةً من التشفير: فهو فهرس عام وليس بيانات شخصية.
2. المحو غير القابل للرجوع (crypto-shredding)
المبدأ
لكل محادثة OTT، ولكل دفعة من الرسائل الحساسة، ولكل حساب مستخدم، مفتاح DEK خاص (مفتاح تشفير البيانات) — وهو مفتاح AES-256 فريد يُولَّد عشوائيًا. تُشفَّر البيانات بهذا المفتاح، ويُشفَّر المفتاح نفسه بالمفتاح الرئيسي (KEK).
ولمحو البيانات بلا رجعة، فإننا نتلف مفتاح DEK. وقد تبقى البايتات المشفّرة في قاعدة البيانات أو على القرص: لكنها من دون المفتاح لا تُميَّز عن ضجيج عشوائي.
الضمانة الرياضية
يمتلك مفتاح DEK من نوع AES-256 فضاءً قدره 2256 قيمة ممكنة — أي نحو 1.16 × 1077. واستعادة مفتاح متلَف بالقوة الغاشمة أمر غير قابل للتنفيذ في ضوء المعرفة العلنية الحالية بالتشفير وقدرات الحوسبة المتاحة (بما في ذلك التقدير ما بعد الكمي وفق خوارزمية Grover الذي يخفض ذلك إلى 2128).
ما الذي يُتلَف فعليًا
- مفتاح DEK في الذاكرة (تصفير فوري).
- مفتاح DEK المشفّر في قاعدة البيانات (
UPDATE ... SET encrypted_dek = NULLمعVACUUMفي Postgres عند الاقتضاء). - النسخ الموجودة في ذاكرة التخزين المؤقت للتطبيق.
3. رسائل تختفي تلقائيًا
يمكن تفعيل مؤقّت للحذف التلقائي في أي محادثة OTT: وبعد انقضائه تُتلَف الرسائل عبر إتلاف مفتاح DEK الخاص بالمحادثة.
المدد القابلة للضبط
- ساعة واحدة
- 24 ساعة
- 7 أيام
- 30 يومًا
- معطّل
في حال عدم الضبط، لا تُطبَّق أي مدة افتراضية: تبقى الرسائل محفوظة حتى حذفها يدويًا.
تبدأ المدة عند قراءة المستلِم للرسالة (الوضع الافتراضي) أو عند إرسالها (خيار بديل). ويعمل مُنظِّف على الخادم كل 10 دقائق ليحذف ما انتهت صلاحيته.
ويظهر تغيير المدة داخل المحادثة (رسالة نظام مؤرّخة). ولا يستطيع المرسِل ولا المستلِم «تمديد» رسالة انتهت صلاحيتها: فالمفتاح قد أُتلف.
4. المسح الشامل للحساب
في بوابة المستخدم، يؤدي زر «إتلاف جميع رسائلي» إلى الإتلاف الفوري لجميع مفاتيح DEK المرتبطة بحسابك: محادثات OTT، وسجل الترجمة، والمسودات، والمرفقات المشفّرة.
والعملية:
- فورية من الناحية التشفيرية (يختفي المفتاح خلال أجزاء من الثانية).
- غير قابلة للرجوع — فنحن لا نحتفظ بأي نسخة احتياطية من المفاتيح المتلَفة.
- مؤكَّدة بموافقة مزدوجة (إدخال كلمة المرور + عبارة تأكيد).
- مسجَّلة (بيانات تدقيق وصفية: الطابع الزمني، وعنوان IP، ووكيل المستخدم) دون كشف المحتوى المتلَف.
ومسح الرسائل لا يحذف الحساب نفسه (المعرّف، والبريد الإلكتروني، وتفضيلات الفوترة): ولذلك استخدم الحذف الكامل للحساب، وهو إجراء منفصل.
5. العزل لكل حساب
لكل حساب مفتاح DEK خاص به. واختراق مفتاح واحد لا يكشف سوى بيانات ذلك الحساب دون غيره. والمفتاح الرئيسي (KEK) ضروري لفك تشفير مفاتيح DEK، لكنه وحده لا يكفي لقراءة حساب لم يعد مفتاحه موجودًا في قاعدة البيانات.
وتُقيَّد طلبات واجهة البرمجة بحسب account_id. ولا يقبل أي مسار معرّف حساب كمعامل حر دون التحقق من عائدية الجلسة.
6. محرّك ترجمة مستضاف ذاتيًا
تعتمد الترجمة الأساسية على NLLB-200 1.3B (202 لغة) المستضاف على خادمنا الخاص، ضمن خدمة مصغّرة داخلية غير معروضة على الإنترنت. ولا يغادر المحتوى بنيتنا التحتية ليُترجَم.
الاحتياط: عند تعذّر توفّر المحرّك الأساسي، قد يلجأ نظام احتياطي تلقائي إلى Claude (Anthropic) دون سواه. ويمكن تعطيله لكل حساب في الاستخدامات الحساسة؛ وعند تفعيله يُرسَل المحتوى إلى Anthropic ونشير إلى ذلك في استجابة الواجهة البرمجية.
أما احتياط MyMemory فقد أُزيل في 28 يوليو 2026: إذ كان ينقل المحتوى بنص واضح داخل الرابط، ومن دون عقد معالجة بيانات. ولا يوجد ملاذ ثالث: فإن لم يتوفّر أي محرّك، تفشل الترجمة بدلًا من أن تُسلَّم إلى طرف ثالث غير متعاقَد معه.
7. المصادقة
تُجزّأ كلمات المرور باستخدام scrypt (N=16384, r=8, p=1). وتُدار الجلسات عبر ملف تعريف ارتباط HttpOnly موقَّع بـ HMAC. وتتوفّر المصادقة الثنائية: TOTP (Google Authenticator وAegis و1Password) وكلمات مرور لمرة واحدة عبر الرسائل النصية (Twilio، برسائل بلغة المستلِم).
وهناك حدّ للمعدّل على نقاط نهاية المصادقة (استجابة 429 بعد محاولات متكررة). ولا تُرسَل أي كلمة مرور بالبريد الإلكتروني؛ وتستخدم عمليات إعادة التعيين رابطًا صالحًا لمرة واحدة.
8. النسخ الاحتياطي
نسخ احتياطية مشفّرة يومية لوحدة تخزين البيانات. مدة الاحتفاظ: 14 يومًا متجدّدة، ثم الحذف.
وتُحفَظ نسخة مشفّرة خارج الموقع (AES-256) لدى GitHub وBackblaze (الولايات المتحدة). وتُستثنى منها رسائل OTT/SMS ومفاتيحها فلا تغادر الاتحاد الأوروبي أبدًا.
9. حقوقك (اللائحة العامة لحماية البيانات / قانون 25 / CCPA)
لك الحق في الاطلاع والتصحيح والمحو وقابلية النقل والاعتراض. وتُرسَل الطلبات بالبريد الإلكتروني إلى privacy@langreply.com وتُعالَج خلال 30 يومًا. ويستخدم المحو آلية crypto-shredding الموصوفة أعلاه.
10. الشهادات — بكل صراحة
نحن اليوم غير حاصلين على شهادات SOC 2 أو ISO 27001 أو HIPAA. ولن ندّعي خلاف ذلك حتى يصبح صحيحًا. فالتدابير الموصوفة هنا مطبَّقة فعلًا، أما عمليات التدقيق الخارجية المقابلة فلم تتم بعد.
11. ما لا نضمنه بصراحة
نفضّل قول الحقيقة على بيع الأوهام. وإليك ما لا تفعله آلية crypto-shredding:
- النسخ الاحتياطية: تستثني نسخنا الاحتياطية جداول الرسائل والمفاتيح — فلا يمكن لأي استعادة أن تكشف رسالة أُتلفت. وأما المقابل الذي نتحمّله بوضوح: في حال فقدان قاعدة البيانات، لا يمكن استرجاع سجل رسائل OTT/SMS.
- لقطات الشاشة لدى المستلِم: إذا أرسلت رسالة تختفي إلى شخص ما، فبإمكانه تصوير شاشته بجهاز آخر. ولا يوجد برنامج في العالم يمنع ذلك؛ ولا حتى Signal.
- سجلات WAL والسجلات والنسخ المتماثلة: يكتب Postgres سجلات المعاملات (WAL). وقد تكون بايتة مشفّرة قد مرّت بها قبل المحو. وتُدوَّر هذه السجلات، لكن ليس فورًا.
- أقراص SSD وموازنة التآكل: توزّع أقراص SSD عمليات الكتابة فيزيائيًا. ولا يؤدي أمر
DELETEالمنطقي بالضرورة إلى الكتابة فوق القطاع الفيزيائي. ولهذا السبب تحديدًا يكون crypto-shredding أوثق من المحو الفيزيائي — غير أن البايتة المشفّرة قد تبقى فيزيائيًا بعض الوقت. ومن دون المفتاح تظل غير قابلة للقراءة. - بيانات التدقيق الوصفية: نحتفظ ببيانات وصفية بالحد الأدنى (الطابع الزمني لعملية المسح، وعنوان IP) لأغراض التدقيق ومكافحة إساءة الاستخدام. وهي لا تتضمن المحتوى المتلَف.
- التشفير من طرف إلى طرف: رسائل OTT مشفّرة في حالة السكون على الخادم، لكنها ليست مشفّرة من طرف إلى طرف بالمعنى الذي يعتمده Signal (حيث لا يستطيع الخادم نفسه القراءة). ومن الناحية التقنية، يستطيع LangReply فك تشفير رسالة ما دام مفتاحها موجودًا. نحن لا نفعل ذلك — لكننا لا نستطيع الادّعاء بعكسه.
12. الإبلاغ عن مشكلة أمنية
الإفصاح المنسّق عبر security@langreply.com مع كتابة [SECURITY] في الموضوع. ونُقرّ بالاستلام خلال 72 ساعة، وننشر إصلاحًا أو إجراءً مخففًا خلال مهلة معقولة بحسب الخطورة. ولا يوجد حتى الآن برنامج رسمي لمكافآت اكتشاف الثغرات؛ ونذكر أسماء المبلّغين الراغبين في ذلك.
آخر تحديث: 6 أغسطس 2026.