تخطَّ إلى المحتوى

الأمان

كل ضابط، وأين يُنفَّذ.

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

الوصول
بحسب الدور، ويضيّقه المالك
الفصل
عند قاعدة البيانات، لا في الشاشة
السجل
من غيّر، وماذا، ومتى
المرفقات
في مخزن خاص، لا يُفتح برابط

الضوابط

ستة ضوابط تحكم من يرى ماذا

ليست وعودًا عامة: لكل ضابط موضع واحد يُنفَّذ فيه، مكتوب بجانبه. اعرضه على أي مطوّر يفهم قواعد البيانات، وسيعرف بالضبط ما يعنيه.

لا شاشة قبل تسجيل الدخول

كل شاشة داخل النظام مغلقة على حساب موثق. لا يوجد رابط «مشاركة» يفتح ملف مريض لمن يملكه، ولا صفحة داخلية تُقرأ بدون دخول. الجلسة تُحفظ في كوكي لا يستطيع أي كود في المتصفح قراءته، ويُفحص كل طلب قبل أن يصل إلى البيانات.

أين يُنفَّذمصادقة Supabase + وسيط الطلبات، كوكي httpOnly

الصلاحية بحسب الدور، ويضيّقها المالك

أربعة أدوار: مالك العيادة، الطبيب، المساعد، ومدير المنصة. لكل دور قائمة صلاحيات مسمّاة — من يعدّل الزيارة، من يرى المخزون، من يقرأ سجل المراجعة — ومالك العيادة يستطيع أن يسحب من دور صلاحية، لكنه لا يستطيع أن يمنحه ما هو خارج حدّ دوره أصلًا. وسحب وصول موظف يسري في لحظته.

أين يُنفَّذمصفوفة الصلاحيات ROLE_PERMISSION_MATRIX

بيانات كل عيادة مفصولة عند قاعدة البيانات

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

أين يُنفَّذسياسات مستوى الصف في PostgreSQL

سجل يقول من غيّر وماذا

إضافة مريض، تعديل زيارة، صرف روشتة، حركة مخزون، مصروف، تغيير في فريق العيادة أو في الاشتراك: كل واحدة تكتب سطرًا يحمل من فعلها، وأي سجل مسّت، وقيمته قبل وبعد. مالك العيادة يقرأ هذا السجل من شاشة سجل المراجعة داخل النظام.

أين يُنفَّذجدول audit_logs · شاشة سجل المراجعة

مرفقات المرضى في مخزن خاص

الأشعة والتحاليل وصور إثبات الدفع تُخزَّن في مخزن غير عام: لا يُفتح ملف منها برابط مباشر ولا بتخمين عنوان، ولا يقرؤه إلا من هو ضمن فريق العيادة صاحبة الملف. الشيء العام الوحيد هو شعار العيادة، لأنه يُطبع على مستنداتها.

أين يُنفَّذمخازن Supabase Storage خاصة (public = false)

متابعة تذكرة الدعم بغير حساب

صفحة متابعة التذكرة تُفتح برقم وكود، ولا تحتاج حسابًا. الكود محفوظ عندنا مُلبَّدًا (hash)، فلا يستطيع أحد — ولا نحن — استخراجه أو إعادة إرساله، والجلسة التي يفتحها تنتهي بعد أربع وعشرين ساعة. ولا تظهر الصفحة في نتائج البحث.

أين يُنفَّذكود مُلبَّد · جلسة موقَّعة مدتها 24 ساعة

حدود الذكاء الاصطناعي

الذكاء الاصطناعي يجهّز مسودة، والمسؤول يعتمدها

مساعد الحجز ومساعد العيادة اختياريان، ويُضاف كل منهما بندًا في الاشتراك. حدودهما مكتوبة في النظام لا في وعد على صفحة تسويق.

يقترح ولا يثبّت

المساعد يجهّز موعدًا مقترحًا أو ملاحظة مرتبة ويعرضها كمسودة. لا يدخل شيء إلى ملف المريض ولا إلى دفتر المواعيد قبل أن يقرأه المسؤول عنه ويعتمده بيده.

استخدامه محدود بالدور والاشتراك

استخدام المساعد صلاحية للطبيب، لا لكل من يفتح النظام. والاستهلاك يُحسب على حدّ الاشتراك ويُسجَّل، فترى كم استُخدم وعند أي حدّ يتوقف.

القرار السريري ليس للنظام

لا تشخيص، ولا اختيار دواء أو جرعة، ولا قرار علاج. هذه للطبيب المعالج، واسمه هو ما يظهر على الروشتة ومسؤوليته وحده.

ما يبقى على العيادة

ثلاثة أشياء لا يستطيع النظام حمايتها بدلًا منك

كل ما فوق يحمي البيانات من الخارج ومن الأدوار الأخرى. الجزء الباقي داخل العيادة، ونقوله صراحةً لأن الصمت عنه يوهم بحماية غير موجودة.

من تدعوه يرى ما يراه دوره

الدعوة هي أهم قرار أمني في يدك: بعدها يرى الحساب كل ما يسمح به دوره. راجع قائمة فريق العيادة من وقت لآخر، واسحب وصول من انتهى عمله في العيادة يوم انتهائه لا بعد شهر.

حساب واحد لكل شخص، وجهاز الاستقبال مقفول

حساب مشترك على مكتب الاستقبال يُبطل السجل والصلاحيات معًا: يصبح كل ما فُعل منسوبًا إلى شخص واحد، ويرى الجميع ما يراه أعلاهم صلاحية. أعطِ كل شخص حسابه، واقفل الشاشة عند تركها.

لا تنسخ ملف مريض في رسالة دعم

لمتابعة مشكلة يكفي رقم الحجز أو رقم الطلب واسم الشاشة. لا تضع تاريخًا مرضيًا كاملًا ولا صورة تحليل في رسالة الدعم: الحاجة إليها غير قائمة، والملف مكانه داخل النظام.

وجدت ثغرة أو شيئًا لا يبدو صحيحًا؟

أبلغنا من صفحة الدعم، واكتب ما فعلته بالضبط، وما توقعت أن يحدث، وما حدث فعلًا. تذكرتك تصل إلى الفريق نفسه الذي يكتب النظام، والردّ يأتي في المحادثة ذاتها. لا تختبر ما وجدته على بيانات عيادة أخرى، ولا تنشره قبل أن نصلحه.