الضوابط الحقيقية التي تحمي مستنداتك.
ما يفعله DocTalk حقًا للحفاظ على خصوصية الملفات المرفوعة وعزلها وعدم استخدامها في تدريب النماذج. وبشفافية، ما لم نحصل على شهادته بعد.
التشفير
النقل
موقف الاحتفاظ
لا يُدعى حصولنا على شارات الامتثال ما لم يتم تدقيقها فعليًا.
التشفير والنقل
تشفير AES-256 للبيانات المخزنة
يتم كتابة الوثائق المُحمّلة إلى MinIO مع تشفير SSE-S3 من جانب الخادم افتراضياً. في بيئة الإنتاج (Railway) يتم تشغيل MinIO مع تمكين KMS مما يضمن تطبيق SSE-S3 دائماً. في عمليات النشر الذاتي غير المدعومة بدون KMS، قد يتحول MinIO إلى الكتابة غير المشفّرة — وهذا خيار نشر وليس تخفيضاً صامتاً في الإنتاج. backend/app/services/storage_service.py · upload_file()
backend/app/services/storage_service.py · upload_file()
TLS 1.2+ أثناء النقل
كل قفزة شبكة — من المتصفح إلى حافة Vercel، ومنها إلى خلفية Railway، ومنها إلى مزودي LLM — تستخدم TLS. تم تعيين HSTS مع max-age=63072000 و includeSubDomains على النطاق الرئيسي.
لا تدريب على بياناتك
DocTalk يوجه طلبات LLM عبر OpenRouter. لا يتم استخدام وثائقك وأسئلتك أبداً من قبل DocTalk لتدريب النماذج. يعتمد الاحتفاظ على جانب المزود على النموذج الأساسي (DeepSeek / Mistral) — للحصول على ضمان عدم الاحتفاظ نعتمد على إعدادات الخصوصية على مستوى حساب OpenRouter (تحكم تشغيلي، ولم يتم تطبيقه على مستوى الكود بعد على مستوى الطلب)، ويمكننا تشديد ذلك أكثر باستخدام قائمة سماح للمزودين عند الطلب.
أمان الإدخال
التحقق من الملف عبر Magic-byte
يتم التحقق من صحة الملفات المرفوعة مقابل بايتات توقيع الملف، وليس امتدادات الملفات. يتم رفض ملف .pdf يحتوي على حمولة تنفيذية عند الإدخال — لا يمكنك خداع المحلل بمجرد إعادة تسمية ملف.
backend/app/services/upload_service.py · magic-byte check
حماية SSRF عند إدخال الروابط
عندما تقوم بإسقاط رابط URL لتلخيصه، يتحقق الخلفية من الهدف مقابل قائمة سماح بالمضيفين العموميين ويرفض أي طلب لنطاقات IP الخاصة أو عناوين الرابط المحلي أو نقاط نهاية البيانات الوصفية السحابية (مثل 169.254.169.254).
backend/app/core/url_validator.py
تحديد المعدل للنقاط المجهولة
النقاط العامة (العروض المشتركة، القراءات المجهولة) لديها حدود معدل لكل IP. يتم إعادة توجيه عنوان IP الحقيقي للعميل من حافة Vercel إلى خلفيتنا مع توقيع HMAC-SHA256 مرتبط بطابع زمني لكل طلب، حتى يتمكن الخلفية من المصادقة على أصل الوكيل ورفض محاولات انتحال الرؤوس. هذا ليس دفاعاً ضد هجوم MITM على مستوى السلك — TLS يتولى هذه الطبقة. المستخدمون المصادق عليهم يتجاوزون تحديد المعدل بناءً على IP.
backend/app/core/rate_limit.py · shared_view_limiter, anon_read_limiter
بياناتك، تحكمك
تصدير كامل للبيانات
من ملفك الشخصي → الحساب يمكنك تصدير جميع وثائقك وبيانات الجلسة. التصدير يشمل كل ما يخزنه DocTalk عنك، بصيغ محمولة.
حذف الحساب
يمكنك حذف حسابك من ملفك الشخصي → الحساب. تتم إزالة جميع الوثائق والجلسات وسجل الدردشة والتضمينات وسجلات الفوترة؛ لا يمكن استرداد الحساب بعد الحذف.
عزل المستخدم
كل وثيقة وجلسة محددة بمعرف المستخدم user_id الخاص بصاحبها على مستوى قاعدة البيانات ومخزن المتجهات. لا توجد مساحة اسم مشتركة، ولا تجميع على مستوى المؤسسة بشكل افتراضي، ويتم فرض العزل في وقت الاستعلام — وليس فقط في وقت العرض.
ما نفتقر إليه حتى الآن
نحن فريق صغير لا نمتلك الإنفاق الهندسي اللازم لإجراء تدقيق SOC 2 كامل حتى الآن. الضوابط الأساسية موجودة، لكن الشهادة ليست كذلك.
DocTalk ليس جهة شريكة تجارية مشمولة بقانون HIPAA. إذا كنت تتعامل مع معلومات صحية محمية، لا تقم برفع معلومات صحية محمية حتى يتم الإعلان عن دعم اتفاقية شراكة الأعمال.
تسجيل الدخول عبر OAuth الفردي (Google، Microsoft) والرابط السحري عبر البريد الإلكتروني فقط. SSO/SAML للمؤسسات موجود على خريطة الطريق لكنه لم يتم إصداره بعد.
DocTalk هو SaaS فقط. الاستضافة الذاتية غير مدعومة حاليًا.
الإبلاغ عن مشكلة أمنية
نرحب بالإبلاغ المسؤول. نرد على كل تقرير ثغرة خلال 72 ساعة.