التشفير
كل بايت من بياناتك، أثناء النقل وأثناء التخزين، مشفّر طوال الوقت بدون استثناء.
أثناء النقل (TLS 1.3)
كل اتصال HTTPS مشفّر بـ TLS 1.3 الأحدث. الشهادات تُجدَّد تلقائياً عبر Let's Encrypt كل 90 يوماً.
أثناء التخزين (AES-256)
قاعدة البيانات والملفات المرفوعة مشفّرة بـ AES-256 على مستوى التخزين. مفاتيح التشفير منفصلة عن البيانات.
كلمات المرور
محفوظة بـ bcrypt مع salt فريد لكل مستخدم. لا نخزّن كلمات المرور بصيغتها الأصلية أبداً، ولا نستطيع استرجاعها — فقط إعادة تعيينها.
الجلسات (JWT)
كل جلسة محمية بـ JWT موقّع بمفتاح خادم. Refresh tokens مخزّنة hashed، ويمكن إبطالها فوراً من إعدادات المستخدم.
النسخ الاحتياطي والاستعادة
نأخذ النسخ الاحتياطي على محمل الجد لأن خسارة بياناتك تساوي خسارة شركتك.
- تكرار النسخ: نسخة كاملة من قاعدة البيانات كل ليلة الساعة 03:00 بتوقيت السعودية.
- التخزين: النسخ تُرفع إلى Cloudflare R2 في موقع جغرافي منفصل عن الخادم الرئيسي.
- الاحتفاظ: آخر 30 نسخة يومية، آخر 12 نسخة شهرية، نسخ سنوية محفوظة بشكل دائم.
- هدف زمن الاستعادة (RTO): أقل من 4 ساعات لاستعادة كاملة من النسخة الأخيرة.
- هدف فقد البيانات (RPO): 24 ساعة كحدّ أقصى (مدة بين نسختين متتاليتين).
- Soft-delete: حذف المهام والمشاريع والمحادثات والفرق ينقلها إلى حقل
deletedAtبدلاً من إزالة فعلية، لمدة 30 يوماً قابلة للاستعادة.
ملكية بياناتك
بياناتك ملكك. تامّاً. دوام مجرد مستضيف لها. هذا يعني:
- لن نستخدم بياناتك لتدريب نماذج ذكاء اصطناعي خاصة بنا.
- لن نبيع أو نشارك بياناتك مع أي طرف ثالث، بأي ثمن.
- لن نطّلع على محتوى بياناتك إلا لأغراض دعم فني صريح، بإذن منك، وبسجل.
- تستطيع تصدير كل بياناتك (موظفين، مهام، محادثات، حضور) كـ CSV/JSON في أي وقت من الإعدادات.
- عند إلغاء الاشتراك، نحتفظ بنسخة احتياطية لمدة 90 يوماً (لإعادة تفعيل ممكنة)، ثم نحذفها تماماً.
الامتثال الإقليمي
دوام يعمل بأنظمة 22 دولة عربية — أيام عمل مرنة (الإثنين-الجمعة في الإمارات والمغرب، الأحد-الخميس في السعودية ومصر)، عملات متعدّدة، تنسيقات أرقام محلية، وتوقيت زمني لكل دولة.
للسوق السعودي تحديداً، بنينا حزمة امتثال متكاملة جاهزة للتفعيل عند إطلاق الكيان السعودي:
- أيام العمل: افتراضي قابل للتعديل لكل شركة — الإثنين-الجمعة في الإمارات والمغرب، الأحد-الخميس في السعودية ومصر والكويت، إلخ.
- العملات: دعم 10+ عملة — ر.س، د.إ، $، ج.م، د.ك، د.أ، ر.ق، د.ب، ر.ع، €، وغيرها.
- الدفع: Stripe كبوابة عالمية الافتراضية، مع تفعيل Moyasar للسوق السعودي عند الإطلاق المحلي.
- السوق السعودي مستقبلاً: ZATCA Phase 2، Mudad، GOSI — كل هذه الميزات بُنيت ومُختبرة، تنتظر إطلاق الكيان السعودي المستقل.
البنية التحتية
الخوادم تعمل على Railway (US-East) مع PostgreSQL مدارة. التخزين الكائني على Cloudflare R2. كل المكوّنات معزولة عن بعضها، ومحدّثة تلقائياً ضد الثغرات الأمنية.
- عزل المستأجرين (Multi-tenancy): كل بيانات شركة معزولة منطقياً عبر
companyIdفي كل query، مع enforcement على مستوى الـ middleware. - عزل الإنتاج عن الاختبار: اختبارات Jest تعمل على قاعدة بيانات منفصلة تماماً — مستحيل أن تلامس بيانات الإنتاج. (300+ اختبار آلي).
- Secret guards: أي قيمة سرّية في الإنتاج (API keys، database URLs، tokens) محمية بـ
requireSecret()— الخادم يرفض البدء لو كان أي مفتاح حرج مفقوداً. - SSRF + Rate limiting: محرّك الأتمتة محمي ضد طلبات SSRF (Server-Side Request Forgery)، مع rate limits على كل endpoint وauto-pause عند تجاوز الحدود.
المراقبة والكشف
المراقبة المستمرة تكشف الشذوذ قبل أن يصبح حادثة.
- Fingerprint anomaly detection: بعد كل deploy نقارن "بصمة" حجم البيانات الحالية مع المتوقّع — أي انحراف غير طبيعي يصدر إنذاراً فورياً للفريق.
- سجل تنفيذ الأتمتة (Execution Log): كل عملية تُنفَّذ من محرّك الأتمتة تُسجَّل بتفاصيل كاملة: من، متى، إلى أي endpoint، المخرجات، أي أخطاء.
- Health checks: صفحة /status العامة تعرض حالة كل خدمة بشفافية في الوقت الحقيقي.
- سجل الجلسات: كل تسجيل دخول، تجديد جلسة، وتسجيل خروج مسجَّل للتدقيق.
الإبلاغ عن الثغرات
إذا اكتشفت ثغرة أمنية في دوام، نشكرك مسبقاً على الإبلاغ المسؤول. نحن نلتزم بمبادئ Coordinated Disclosure:
- سنردّ خلال 48 ساعة من استلام البلاغ بتأكيد الاستلام.
- لن نلاحقك قانونياً طالما اتّبعت الإفصاح المسؤول (لا تستغل الثغرة، لا تستخرج بيانات عملاء، أبلغنا قبل النشر العام).
- نقدّر مساهمتك علناً في صفحة الـ Hall of Fame (قيد البناء) إن رغبت.
أبلغ عن ثغرة
راسلنا مباشرة على البريد المخصّص للأمان. لا تنشر الثغرة علناً قبل أن نتمكّن من إصلاحها.
security@duwam.comخارطة الطريق
هذه قائمة شفّافة بما لم نطبّقه بعد، وما نعمل عليه. نؤمن أن الصدق عن الفجوات أفضل من الوعود الفارغة.