الأمن وحماية البيانات
آخر تحديث:
بيانات مراجعيكم ملكٌ لمركزكم. وهذه الصفحة تشرح بلغة واضحة أين تعيش، ومن يستطيع الوصول إليها، وأي المفاتيح بأيديكم — لتقرّروا والحقائق أمامكم، لا لأنكم صدّقتم كلامنا.
1.ما نحتفظ به — وما لا نلمسه أبداً
بُني QueueCare لتحريك الطابور، لا لحفظ ملفٍّ طبي. وهذا يحكم كل ما يأتي بعده، فنبدأ بما لا يدخل أنظمتنا إطلاقاً:
- لا نتائج مختبر.
- لا تقارير طبية.
- لا صور أشعة ولا ملفات DICOM.
- لا تشخيص.
- لا وصفات دواء.
وما نحتفظ به هو ما يحتاجه الطابور: اسم المراجع وهاتفه، ورقم ملفّه، والجنس والفئة العمرية، ورقم الدور وأوقات الدخول والخروج، وطريقة الدفع والمبلغ وشركة التأمين، ووصف الإجراء والطبيب المعالج، وأسماء مرافقيه وأرقام أدوارهم.
حقلان من هذه سريريان — وصف الإجراء ونوع الصورة المطلوبة — ونقولها الآن بدل أن يجدها أحد لاحقاً. وهما الحقلان السريريان الوحيدان اللذان نُعرِّفهما، والمنتج مبنيٌّ ليبقى على هذا الجانب من الخطّ.
الملاحظات التي يكتبها طاقمكم
يستطيع الاستقبال والأطباء ترك ملاحظة قصيرة على المراجع — تلك التي تظهر على اللوحة. وهي نصّ حرّ، فما يكتبه طاقمكم هو ما نخزّنه، ويسافر مع التنبيه إلى الطبيب الذي ربط Telegram. ولا يستخدم الملاحظاتِ أي مركز اليوم. ونذكرها لأنها الموضع الوحيد الذي يقرّر فيه فريقكم ما نحتفظ به، لا نحن.
جدولٌ أقدم، ما زال في قاعدة البيانات
في المخطّط ملفُّ مراجع دائم — اسم رباعي وتاريخ ميلاد ومدينة وحيّ وجهة عمل ومهنة — بقي من بناءٍ أقدم. ولا شيء في المنتج يكتب فيه ولا يفتحه، ويحمل سبعة عشر صفًّا. وسيجده مراجعكم التقني حين يقرأ المخطّط، ونفضّل أن يسمعه منّا أولاً.
2.أين تعيش بياناتكم
أربع شركات تحمل أو تعالج جزءاً من الخدمة. ولكلٍّ منها صفحة أمن منشورة، ونضع روابطها لتقرؤوا ادّعاءاتها منها لا منّا.
- Convex — قاعدة البيانات: صفوف مراجعيكم والطابور ودفتر اليوم. تعمل على AWS.
- Railway — التطبيق: على Google Cloud في us-east4، بمدينة أشبرن في ولاية فرجينيا.
- Clerk — دخول الطاقم: عناوين البريد وكلمات المرور التي يدخل بها موظفوكم، مستضافة في الولايات المتحدة. ولا يصلها أي بيان مراجع.
- Azure AI Speech — النداء الصوتي: منطقة uaenorth لدى مايكروسوفت، في الإمارات. ويصلها النداء الذي توشك شاشة الانتظار أن تقوله.
وما تشهد به كلٌّ منها
- Convex: SOC 2 من النوع الثاني، وGDPR، واتفاقية شريك أعمال HIPAA عند الطلب، وتشفير أثناء التخزين بمفتاح AES ٢٥٦ بت.
- Railway: SOC 2 من النوع الثاني وSOC 3، وGDPR، وHIPAA، وتشفير أثناء التخزين.
- Clerk: SOC 2 من النوع الثاني منذ ٢٠٢٢، وHIPAA باتفاقية شريك أعمال على خطتها المؤسسية، وتسجيل ذاتي ضمن إطار خصوصية البيانات بين الاتحاد الأوروبي والولايات المتحدة.
وConvex وRailway وClerk جميعها توقّع ترتيبات HIPAA. وهذا لا يجعل QueueCare متوافقاً مع HIPAA — فالتوافق يخصّ نظامكم أنتم وعقودكم — لكنه يعني أن الطبقة التحتية ليست ما يقف في طريقكم، وهو ما يسأل عنه المركز الجادّ فعلاً.
3.كم نحتفظ بها
سجلّاتكم تبقى ما دمتم تريدونها. لا نحذف بيانات مركزٍ بمؤقّت، ونفضّل أن تقرّروا أنتم بدل أن يقرّر النظام عنكم.
والسبب عمليّ: سطر المراجع هو نفسه سطرٌ في دفتر يومكم — المبلغ ومن استلمه ومتى — وسبعة جداول أخرى تشير إليه: سندات القبض، وتعديلات الدفتر، وأوامر التصوير، ورسائل تيليغرام، والمحادثات، والملاحظات، وأقفال مزامنة المكاتب. فمحو السطر يمحو حساباتكم معه.
لذلك فالمحو المؤقّت الموجود في الكود غير مفعَّل على أحد، ولا نعرض تفعيله. ونعرض بدلاً منه ما هو أفضل: تصدير كل شيء متى شئتم، وحذف كل شيء متى شئتم، كلاهما من الإعدادات ← الوصول والأمان، وكلاهما يسري في اليوم نفسه.
وتفصيلٌ صادق واحد: النسخة الاحتياطية المأخوذة قبل الحذف تحتفظ بنسخة حتى سبعة أيام من يوم أخذها، ثم تنتهي صلاحيتها وحدها.
4.التشفير
- أثناء النقل: TLS على كل اتصال، مع HSTS، فلا يرتدّ المتصفّح إلى اتصال غير مشفّر.
- أثناء التخزين: AES بمفتاح ٢٥٦ بت. تنشره Convex في صفحة الأمن لديها، وتصرّح Railway بالتشفير أثناء التخزين في مركز الثقة لديها.
والرابطان أعلاه، لتقرؤوا هذين الادّعاءين من الشركتين اللتين تقولانهما.
5.لا يرى مركزٌ مركزاً آخر أبداً
هذه أهمّها، وهي محسومة على الخادم لا في المتصفّح: كل استعلام يُقيَّد بمعرّف مركزكم، مأخوذاً من جلسة من يسأل. ولا شيء يرسله العميل يستطيع توسيعه.
راجعنا واجهة النظام العامة كاملةً وأغلقنا كل ثغرة عزل وجدناها. والذي يُبقيها مغلقة ليس الذاكرة: مجموعة اختبارات عزل مخصّصة تعمل عند كل تغيير، وفحصان آليان يُسقطان البناء فوراً إن عاد النمط. ونواصل المراجعة مع نموّ المنتج، وتلك الاختبارات تحرس الخطّ بينهما.
6.من يستطيع الدخول
- يدخل طاقمكم عبر Clerk، كلٌّ بحسابه.
- أربعة أدوار — مدير المركز، وطبيب، واستقبال، ومحطة عمل — لكلٍّ أقلّ ما يحتاجه.
- كلمات المرور مجزّأة بـ bcrypt بكلفة ١٠، بملحٍ من مولّد عشوائي آمن، وبحدٍّ أدنى ثمانية محارف.
- باب كلمة مرور المركز يسمح بعشر محاولات في الساعة لا أكثر.
- وتستطيعون إبطال كل جلسات مركزكم بإجراء واحد.
والدخول بعاملين ليس جزءاً من المنتج اليوم. وحين يصير، ستجدونه على هذه الصفحة.
7.سجلّ التدقيق الخاص بكم
لمركزكم سجلّه الخاص، ولا شيء في المنتج يستطيع تعديل سطرٍ فيه ولا حذفه — لا توجد دالة كهذه في الكود أصلاً. ويُسجَّل فيه خمسة وعشرون نوعاً من الأحداث، من قائمة مغلقة لا نصّ حرّ: دخول المحطات وخروجها، وإبطال الجلسات، ودعوة الموظفين وإزالتهم، وتغيير السياسات، وحذف الغرف والشاشات والطوابق، وطلب التصدير وإتمامه، وطلب الحذف وإلغاءه وتنفيذه — وكل مرة يُمنح فيها فريقنا وصولاً أو يُسحب منه أو يستخدمه. ويُحفظ اثني عشر شهراً.
أي عمليات دخول تظهر فيه
باب كلمة مرور المركز — بما فيه المحاولات الفاشلة وسببها — وكل محطة عمل. أما دخول مديركم بحسابه الشخصي فتحتفظ به Clerk، وسجلّها عنه منفصل عن سجلّكم.
وما لا يسجّله عن قصد
طابور اليوم على شاشة الاستقبال. فاللوحة المفتوحة تعيد تنفيذ استعلامها عشرات المرات في الساعة بلا أن يلمسها أحد، وتسجيل ذلك يدفن القرارات المهمّة تحت ملايين من لا شيء. والذي يحمله السجلّ بدلاً من ذلك هو الجلسة: من دخل، وعلى أي محطة، ومتى.
وفتح ملفّ مراجع بعينه مُهيَّأ للتسجيل — من فعلها ومتى وأيّ ملفّ، والمحاولات المرفوضة كذلك — بلا اسم مراجع ولا نصّ بحث في السجلّ نفسه، بل عدد النتائج فقط. ولا شيء في المنتج يفتح ذلك الملفّ اليوم، فلا شيء يُسجَّل بعد. وهو جاهزٌ لحين وجوده.
8.النسخ الاحتياطي
تُؤخذ النسخ يدوياً وتعيش سبعة أيام. وأول نسخة للإنتاج استغرقت عشر ثوانٍ وتضمّنت الملفات المخزّنة.
وقد أجرينا بروفة استعادة كاملة على نسخة معزولة، وكتبنا الإجراء ممّا علّمتنا: أن ترتيب الخطوات مهمّ، وأن المهام المجدولة تبدأ العمل على البيانات المستعادة قبل أن يتحقّق منها إنسان. وكلاهما في دليل التشغيل الآن. ولم نحتج إلى تشغيل استعادة على بيانات حيّة.
9.وإن حدث خطأ ما
الخطة مكتوبة ونصّ الإخطار الأول جاهزٌ سلفاً، لأن أحداً لا يُحسن صياغة إفصاح في وسط أزمة. ستّ خطوات: الاكتشاف، والاحتواء، والتقييم، والإخطار، والتصحيح، والتوثيق.
ونُخبركم خلال ٢٤ ساعة من علمنا — أضيق من الـ٧٢ ساعة المعتادة عالمياً، ومكتوبة في الاتفاقية التي نوقّعها مع مركزكم.
ونحتفظ كذلك بسجلّ حوادث، بتواريخها ومدّتها الدقيقة وما علّمتنا كلٌّ منها، بما فيها أعطالٌ سبّبناها نحن. وفيه اليوم ستّ حوادث. فسجلٌّ لا يحوي إلا الكوارث لا يُعلّم شيئاً، والدفتر الفارغ يعني عادةً أن أحداً لا يكتب.
10.من غيرنا يرى بيانات المراجعين
ثلاث شركات يصلها اسم المراجع أثناء أداء عملها، ونسمّيها هنا حتى لا يكون في الأمر مفاجأة لاحقاً. والقائمة الكاملة لمن نتعامل معهم في القسم الخامس من سياسة الخصوصية.
- Telegram: اسم المراجع في تنبيه الطبيب، ونصّ الملاحظة إن كتبها طاقمكم.
- Azure AI Speech: الاسم، لينطقه بصوتٍ عالٍ في صالة الانتظار.
- OneSignal: الاسم داخل الإشعار الفوري إلى أجهزة طاقمكم.
وTelegram وOneSignal يستطيع مركزكم إيقافهما. أما ما تقوله شاشة الانتظار — وهو نفسه ما يُنطق — فتقصيره بأيديكم من الإعدادات ← الوصول والأمان: الاسم الكامل، أو الاسم الأول مع حرف العائلة، أو رقم الدور وحده.
وواحدة لا يصلها أي بيان مراجع
تساعدنا OpenAI في ترتيب الخريطة. يصلها أسماء المناطق المتمايزة التي يكتبها استقبالكم — الإملاءات الكثيرة لحيٍّ واحد — نصوصاً مجرّدة، لتجتمع على منطقة واحدة. ولا يذهب معها اسم ولا رقم ملفّ ولا عدد ولا تاريخ، ولا سجلّ مراجع. ونسمّيها رغم ذلك، لأن مزوّد ذكاء اصطناعي لا يلمس شيئاً يبقى مزوّداً ينبغي أن تعرفوا به.
11.المغادرة، وأخذ بياناتكم معكم
البيانات التي تُدخلونها إلى QueueCare ملكٌ لمركزكم. تقولها شروط الخدمة صراحةً: لا ندّعي ملكيتها، ولا نستخدمها لغير تشغيل الخدمة لكم.
التصدير
ضغطة واحدة في الإعدادات ← الوصول والأمان تُنتج نسخة JSON كاملة، تغطّي تماماً الجداول التي يزيلها الحذف — القائمتان قائمة واحدة في الكود، ويمنع اختبارٌ افتراقهما. ويحمل الملف عدّاداً لكل جدول لتقارنوه بنفسه، ويسمّي ما لم يُضمَّن ولماذا، ويبقى متاحاً سبعة أيام.
الحذف
من الشاشة نفسها، تحت التصدير مباشرة — صدّروا ثم احذفوا، وهو الترتيب الذي تقرأ به الصفحة والاتفاقية معاً. تكتبون اسم مركزكم تأكيداً، فتُفتح مهلة سبعة أيام بتاريخها الظاهر وزرّ تراجع بجانبها. وبعدها تُزال بياناتكم من أربعين جدولاً ومن صفّ المركز نفسه: ملفّ المراجع الدائم، وأوامر التصوير، والمواعيد، وسندات القبض، والملاحظات، ومرفقات المحادثات، وطوابق المركز إن كان متعدّد الطوابق.
ويبقى سجلّ واحد عن قصد: سجلّ التدقيق، لأنه الدليل الوحيد على أن الحذف جرى. ولا يحمل اسم مراجع ولا رقم ملفّه — لا حقل له يحمل ذلك. والنصّ الحرّ الوحيد فيه هو السبب الذي تكتبونه عند تقديم الطلب، فيستحقّ أن يُكتب بالصيغة التي ترضون بقاءها اثني عشر شهراً.
12.وصولنا نحن — والمفتاح بأيديكم
أن يستطيع أحدٌ في QueueCare فتح بيانات مركزكم إعدادٌ في لوحتكم أنتم، تحت الإعدادات ← الوصول والأمان، ويسري لحظة تغييره.
- المراكز المنضمّة الآن تبدأ مغلقة. لا نستطيع قراءة بياناتكم ما لم يمنح ذلك مديركم.
- والمراكز التي انضمّت قبل ١٣ أيلول ٢٠٢٦ تبدأ مفتوحة — وهو ترتيب الإسناد الذي كان لها أصلاً، ولم نغيّره نيابةً عنها، لأن قطع الإسناد بهدوء عن مركزٍ يعمل ليس من حقّنا. وضغطة واحدة تُغلقه، والضغطة لهم.
وفي الحالتين ترونه: كل منح، وكل سحب، وكل مرة نطّلع فيها، تُكتب في سجلّ تدقيقكم بنوعٍ مستقلّ، وتستطيعون قراءتها كلّها.
ويوجد مسار طوارئ — حساب الإدارة لدينا يستطيع منح نفسه الوصول أثناء حادث — ويُكتب في سجلّكم بنوعٍ مستقلّ ومختلف، فلا يكون قرارٌ اتخذتموه ودخولٌ منّا سطراً واحداً أبداً. وهو ضبطٌ على الوصول اليومي لا حاجز تشفيري، وهذا صحيحٌ في أي ضبط كهذا داخل أي تطبيق، والاتفاقية التي نوقّعها معكم تفصّله كاملاً.
13.أسئلة يسعدنا أن نجيب عنها
إن أراد مراجعكم التقني اتفاقية معالجة البيانات، أو قائمة المعالجين الفرعيين، أو خطة الاستجابة للحوادث، أو إجراء الاستعادة — اطلبوها ونرسلها. وإن وجدتم على هذه الصفحة شيئاً لا يطابق ما تجدونه، أخبرونا؛ نفضّل كثيراً أن نسمعها منكم على أن تبقى كما هي.
هذه الصفحة تصف كيف تعمل الخدمة اليوم بكلمات واضحة. والذي يُلزمنا هو شروط الخدمة، واتفاقية معالجة البيانات التي نوقّعها مع مركزكم.