تخطّي إلى المحتوى الرئيسي

الأمان في Vision

تم بناء Vision لسلاسل النظارات حيث تقع الوصفات الطبية للعملاء وسجلات الفوترة وآثار التدقيق في صميم العمليات الخاضعة للتنظيم. تلخص هذه الصفحة الضوابط التقنية المطبقة اليوم والشهادات الخارجية ضمن خارطة طريقنا. هذه الصفحة ليست بديلاً عن اتفاقية مستوى الخدمة ولكنها يجب أن تجيب على معظم أسئلة استبيان الأمان مباشرة.

عزل المستأجرين

كل متجر هو مستأجر مستقل. لا يمكن لأي صف من بيانات مستأجر أن يُقرأ من قبل مستأجر آخر، بغض النظر عن المسار — عنوان URL، البحث، سجل التدقيق، رسائل الخطأ، التصدير. يُفرض العزل على مستوى قاعدة البيانات وليس في الكود فقط.

  • عزل الصفوف على مستوى قاعدة البيانات لكل جدول مرتبط بمستأجر
  • إعداد جلسة لكل طلب (app.organization_id) عند بداية كل معاملة
  • السياسات تُختبر بشكل صريح في مجموعة اختبار تكاملية
  • محاولات الوصول عبر URL لمستأجر آخر تُرجع 404 / 307 ولا تكشف البيانات

سجل التدقيق: غير قابل للتعديل في قاعدة البيانات

سجل التدقيق غير قابل للتعديل على مستوى صلاحيات قاعدة البيانات، وليس على مستوى الكود فقط. دور قاعدة البيانات للتطبيق لديه صلاحية SELECT و INSERT فقط على audit_log؛ صلاحيات UPDATE و DELETE و TRUNCATE مسحوبة على مستوى الدور. كل ملف تصدير يحتوي على بصمة SHA-256 وتوقيع HMAC ليتمكن مدقّق خارجي من التحقق من سلامة السلسلة بشكل مستقل — أداة التحقق مفتوحة المصدر داخل مستودعنا.

  • يمكن التحقق عبر pg_class.relacl
  • كل عملية تغيير حالة تُصدر صفًا منظمًا مع فروقات على مستوى المفاتيح
  • فروقات JSONB تُعرض حسب المفتاح (مضاف/محذوف/معدل)
  • أداة التحقق الخارجية: scripts/verify-audit-chain.mjs (تعتمد فقط على وحدات Node المدمجة؛ راجع docs/runbooks/audit-log-verification.md). تُرجع 0 عند نجاح التحقق، و 1 عند أي اختلاف في البصمة أو انكسار في حلقات السلسلة

التشفير — ما يفرضه التطبيق

كل اتصال داخل وخارج Vision محمي بـ TLS، والأسرار التي نخزنها مُجزَّأة أو مشفّرة قبل الوصول إلى قاعدة البيانات. النقاط أدناه مفروضة على مستوى الكود — تأتي مع التطبيق بغض النظر عن مكان الاستضافة.

  • المتصفح ↔ التطبيق: TLS 1.2+ كحد أدنى، HSTS مثبَّت في الإنتاج (مدة سنتين، يشمل النطاقات الفرعية، preload)
  • التطبيق ↔ قاعدة البيانات: SSL مطلوب في الإنتاج. عميل قاعدة البيانات يرفض البدء إذا تم تعيين DATABASE_URL إلى sslmode=disable
  • كلمات المرور: تجزئة قياسية ذات استهلاك ذاكرة عالٍ (scrypt بالإعدادات N=16384, r=16, p=1, dkLen=64)؛ لا تُخزَّن بنص واضح أبداً
  • رموز API: تجزئات SHA-256 فقط؛ يُعرض النص الواضح للمالك مرة واحدة فقط عند الإنشاء
  • أسرار MFA ورموز الاسترداد: XChaCha20-Poly1305 عبر مساعد التشفير المتماثل لمكتبة المصادقة؛ مفتاح التشفير مشتق من BETTER_AUTH_SECRET الذي يفشل بشدة عند البدء إذا كان مفقوداً في الإنتاج

المصادقة والتحكم في الوصول

MFA مطلوب لمالكي الباقات المدفوعة (T2 فأعلى) ولكل عضو في منظمة فعّل مالكها خيار requires_mfa. ملفات تعريف الارتباط للجلسة تستخدم HttpOnly + Secure + SameSite=Lax. مفتاح توقيع الجلسة يفشل عند بدء التشغيل في الإنتاج إذا لم يتم تكوينه.

  • TOTP MFA مفروض لمالكي الباقات المدفوعة ولكل عضو في المنظمات التي فعّل مالكها requires_mfa، واختياري للبقية
  • توقيعات webhook من معالج المدفوعات يتم التحقق منها (نافذة تكرار 300 ثانية)
  • trustedOrigins مثبت على نطاقنا الخاص
  • نقاط نهاية E2E لها حد NODE_ENV !== 'production' صارم

موقع البيانات والنسخ الاحتياطية

Vision يُسلَّم كتطبيق قابل للنشر الذاتي. جزءان من قصة الموقع والنسخ الاحتياطية مفروضان على مستوى الكود ويأتيان مع التطبيق؛ جزءان آخران يعتمدان على اختيار الاستضافة. نوضح ذلك صراحةً لأن استبيانات المشتريات ستوضحه.

  • مفروض على مستوى الكود — تصدير ذاتي من /settings/data: حزم JSON أو CSV تشمل العملاء والزيارات وعناصر الفواتير وسجل التدقيق (مع تجزئة سلسلة التدقيق لكل مؤسسة لتمكين التحقق الخارجي)
  • مفروض على مستوى الكود — حذف بيانات العملاء وفقاً لـ GDPR/PDPL: حقول PII تُمحى، تاريخ الزيارات يُحفظ بمعرّفات بديلة لئلا تُفقد سلامة التقارير
  • اختيار الاستضافة — المنطقة الأساسية: اختر منطقة يتطابق نظامها لحماية البيانات مع موقع المشتري. الإمارات/السعودية لـ PDPL، منطقة أوروبية لـ GDPR. النشر المرجعي لـ Vision يعمل في منطقة الإمارات؛ من ينشر ذاتياً يختار ما يناسبه
  • اختيار الاستضافة — التشفير في حالة السكون والاحتفاظ بالنسخ الاحتياطية: فعّل التشفير في حالة السكون على طبقة التخزين (RDS وSupabase وCloud SQL تفعّله افتراضياً) مع استرداد نقطة-في-الزمن لمدة لا تقل عن 30 يوماً. Vision لا يوفر تنسيق النسخ الاحتياطية الخاص به؛ نعتمد على مزود قاعدة البيانات المُدار

رؤوس الأمان (ASVS L2)

كل استجابة من Vision تحمل رؤوس الأمان الأساسية.

  • X-Content-Type-Options: nosniff
  • X-Frame-Options: DENY
  • Referrer-Policy: strict-origin-when-cross-origin
  • Content-Security-Policy: نفس الأصل + iframe دفع معالج المدفوعات
  • Strict-Transport-Security في الإنتاج
  • Permissions-Policy: الكاميرا والميكروفون والموقع معطلة
  • X-Powered-By محذوف

الخصوصية: PDPL و GDPR

Vision مبني لدعم الامتثال لقانون حماية البيانات الشخصية في الإمارات (PDPL) واللائحة الأوروبية (GDPR). شعار موافقة ملفات تعريف الارتباط لا يطلق أي متعقبات قبل الموافقة الصريحة.

  • شعار موافقة ملفات تعريف الارتباط مع موافقة صريحة للقياس
  • حزمة القياس لا تبدأ حتى يتم منح الموافقة
  • كل أحداث القياس داخل المنتج تستخدم معرفات الطرف الأول
  • الحق في المسح يُحترم على مستوى العميل

إدارة الثغرات والإفصاح

Vision يجري مسحاً أمنياً هجومياً متكرراً على مسار الإنتاج (مسار شخصية cybersec في تاريخ ux-reports/ بالمستودع). كل مسح يُنتج تقرير ضوابط مُحقَّق منها وقائمة بالنتائج، كلاهما مُسجَّل في المستودع. نرحب بالإفصاح المسؤول من الباحثين الخارجيين — راسلونا على العنوان أدناه ونرد خلال يوم عمل واحد.

  • skill مهارة الأمان الداخلية تُنفذ كل دورة إصدار؛ التقارير في `ux-reports/<run>/`
  • قائمة الضوابط المُحقَّق منها في `ux-reports/2026-05-04b-security-walk-testdrive/checks-passed.md` (يُنتج إعادة المسح تقريراً جديداً مؤرَّخاً)
  • عنوان الإفصاح الأمني العام: security@visionsaas.example (الرد خلال يوم عمل واحد)

الشهادات: الحالية والمخططة

نحن صادقون بشأن ما لدينا وما هو قادم. Vision ليست معتمدة بعد ضمن SOC 2 أو ISO 27001؛ الاثنتان ضمن خارطة طريق 2026.

  • اليوم: ضوابط تقنية مُحقق منها عبر مهارة الأمان الداخلية
  • الربع الثالث 2026: تدقيق SOC 2 من النوع الأول (مخطط)
  • الربع الرابع 2026: تقييم جاهزية ISO 27001 (مخطط)
  • محاذاة PDPL: مستمرة

هل لديك سؤال أمني لم نُجب عليه؟

فرق المشتريات و CISOs و معماريو البنية التحتية: نفضل محادثة صريحة على استبيان منسوخ. عادة ما نرد خلال يوم عمل واحد.

تحدث مع الأمان

اشتباه باختراق؟ راجع دليل الاستجابة خلال 72 ساعة — الإفصاح ضمن النافذة التنظيمية التزام تعاقدي، لا مجاملة. إجراءات الاستجابة للاختراق

الأمان · Vision