أقل صلاحية، عزل المشروع، وأسرار لا تصل للمتصفح
الضوابط الفعلية موجودة في الخلفية؛ الواجهة ليست حاجز الأمان.
01
الهوية والعزل
كل قراءة أو كتابة تشغيلية مرتبطة بـproject_id موثق.
- توكن المالك منفصل عن Widget وAgent وSRS Editor
- policy مركزية تمنع endpoint غير المسموح للتوكن المحدد
- السجلات المشتركة ترتبط بالمشروع عبر project_records
- الديمو opt-in ومعزول عن المشروع الحقيقي
- قيمة التوكن لا تحفظ؛ يحفظ HMAC/SHA-256 والـlast4 فقط
02
حماية البيانات
اعتمادات الاختبار والأدلة تحتاج معاملة مختلفة.
- AES-256-GCM لاعتمادات الاختبار
- التأجير لا يسمح به إلا Agent token
- S3 keys داخلية وروابط القراءة قصيرة العمر
- أسرار MySQL وS3 وAI في بيئة backend فقط
- مفاتيح TOKEN_HASH وFILE_SIGNING وcredential master مستقلة
- لا تضع أي secret في NEXT_PUBLIC_*
03
حماية الشبكة
الاتصال الخارجي هو أكثر حدود النظام حساسية.
- WEBHOOK_ALLOWED_HOSTS قائمة exact hosts
- منع private/loopback/link-local destinations
- timeout محدود وredirects غير متبعة تلقائياً
- CORS محصور في FRONTEND_URL
- حد معدل إنشاء المشاريع
- رؤوس أمان وTLS يطبقان عند Coolify/reverse proxy
04
موانع أمنية قبل الإنتاج
هذه عناصر قبول وليست مزايا تسويقية.
- مراجعة field-level وaction-level SoD لكل Story عالية الخطورة
- إثبات tenant isolation باختبارات قاعدة بيانات
- سياسة تدوير/انتهاء/إلغاء التوكنات
- تدقيق dependencies والصور والحاويات
- سياسة احتفاظ وحذف ونسخ احتياطي
- تنبيه على محاولات auth والفشل الخارجي