Skip to main content

الامتثال لـ HIPAA

وضع الامتثال ملك لك لتكوينه — إعدادات Devotel Orbit تأتي مفتوحة افتراضيًا. وضع HIPAA هو مفتاح تبديل اختياري لكل مؤسسة للمؤسسات التي تتعامل مع معلومات الصحة المحمية (PHI): يقوم مالك مساحة العمل بتفعيله، ويبقى معطّلًا ما لم تطلب تفعيله. لا تفرض Devotel وضع HIPAA إطلاقًا ولا تقرر أن حركة مرورك “متوافقة” — فتفعيل المفتاح ينشّط ضمانات Orbit المشروطة باتفاقية BAA، والبوابات التي يفتحها هي ضوابط مملوكة للمستأجر تشغّلها أنت. يصف هذا المستند الضوابط التقنية والإدارية التي تنطبق عند تفعيل وضع HIPAA.

نظرة عامة

وضع HIPAA هو مفتاح تبديل اختياري لكل مؤسسة — وليس وضعًا تفرضه المنصة. لا يستطيع تبديله سوى مالك مساحة العمل (owner)، ويبقى المفتاح معطّلًا حتى تتصرف، وهو مشروط باتفاقية BAA: فهو ينشّط (أو يخفف) مجموعة من الضوابط المعزّزة، ولا تحمل أي عملية إرسال أو وصول قواعد خاصة بـ PHI ما لم تكن قد اخترت التفعيل:
  1. التشفير أثناء التخزين — تشفير PHI أثناء التخزين باستخدام AES-256 المُدار من Google (الافتراضي في Cloud SQL)
  2. ضوابط الوصول — تقييد الوصول إلى PHI على الأدوار المخصصة
  3. تسجيل التدقيق — تسجيل كل وصول إلى PHI مع رموز الأسباب
  4. الاحتفاظ بالبيانات — الحذف التلقائي بعد فترة الاحتفاظ المُهيأة
  5. تتبّع BAA — إدارة حالة اتفاقية شريك الأعمال (Business Associate Agreement)
إن أظرف HIPAA_BAA_REQUIRED وHIPAA_BAA_INVALID التي قد تتلقاها على جهة المكتب هي ضوابط على مستوى المستند تختارها وتملكها كمستأجر — وهي نفس الحكم وسلوك الإغلاق عند الفشل (fail-closed) الموصوفين في BAA — بوابة الإرسال الخاصة بـ HIPAA. وهي ليست تكليفات من المنصة.

من يستطيع فعل ماذا

تُسند ضوابط HIPAA إلى أدوار، بحيث يمكنك تعيين كل واجهة للأشخاص في مساحة عملك. (تتطابق هذه الأعمدة مع نص الأقسام أدناه.)

المتطلبات المسبقة

قبل تفعيل وضع HIPAA، يجب على المؤسسات:
  1. توقيع اتفاقية شريك الأعمال (BAA) مع Devotel
  2. تعيين مسؤول امتثال HIPAA ضمن فريقها

الضوابط التقنية

1. التشفير أثناء التخزين

جميع بيانات PHI — بما في ذلك body للرسائل وmedia_url والبيانات الوصفية — تُشفَّر أثناء التخزين باستخدام مفاتيح AES-256 المُدارة من Google (التشفير الافتراضي في Cloud SQL):
  • الخوارزمية: AES-256 (التشفير الافتراضي من Google Cloud أثناء التخزين)
  • إدارة المفاتيح: تُدار مفاتيح التشفير وتُدوَّر بواسطة Google Cloud
  • النطاق: جميع المحتويات المخزّنة في قاعدة البيانات، بما في ذلك body للرسائل وmedia_url والبيانات الوصفية
  • أثناء النقل: يحمي TLS 1.3 جميع البيانات أثناء النقل (انظر ضمانات البنية التحتية)
ملاحظة: لا تجري Devotel حاليًا تشفيرًا على مستوى التطبيق لمحتوى الرسائل لكل مؤسسة. تعتمد سرّية PHI أثناء التخزين على تشفير AES-256 الشفاف من Google Cloud وليس على تشفير عند طبقة التطبيق. يتضمن ردّ GET /settings/hipaa حقل encryption_algorithm لأغراض إعداد التقارير فقط — وهو لا يعني أن محتويات الرسائل مشفّرة بشكل فردي على مستوى التطبيق.

2. ضوابط الوصول

تخضع قراءات محتوى الرسائل لعضوية مساحة العمل، ولمفاتيح API بنطاق messages:read / messages:write. تُسجَّل كل قراءة في سجل تدقيق PHI. يعكس الجدول أدناه من يستطيع قراءة محتوى الرسائل اليوم: يقتصر دور billing على الواجهات المالية — الفوترة والتسعير ورؤى الاستخدام — ولا يمكنه قراءة محتوى الرسائل. يمكن لكل دور آخر، بما في ذلك viewer، قراءة محتوى الرسائل، ويُكتب كل وصول في سجل الوصول إلى PHI. تُخزَّن رموز الأسباب في كل إدخال من إدخالات سجل الوصول إلى PHI. تُسجَّل القراءات عبر GET /messages وGET /messages/{id} برمز read تلقائي. تصف الفئات أدناه أسباب الوصول المستخدمة في أماكن أخرى من المنصة عندما يوفّر المشغّل سببًا صراحةً:
  • treatment — الوصول مطلوب لتنسيق علاج المرضى
  • payment — الوصول مطلوب لمعالجة المدفوعات
  • operations — الوصول مطلوب للعمليات الصحية
  • legal — الوصول مطلوب للامتثال القانوني
  • support — الوصول مطلوب لحل طلبات دعم العملاء
قيود معروفة: لا تقيّد Orbit حاليًا قراءات محتوى الرسائل على مجموعة أضيق من الأدوار بخلاف حصر billing أعلاه، ولا تتطلب رمز سبب يوفّره المشغّل على نقاط نهاية قراءة الرسائل (GET /messages وGET /messages/{id}). لتحقيق معيار HIPAA الخاص بـ الحد الأدنى الضروري (minimum necessary)، وفّر عضوية مساحة العمل ونطاقات مفاتيح API بحيث لا يصل إلى هذه النقاط إلا الموظفون الذين يحتاجون إلى PHI. إذا كان برنامجك يتطلب تقييد القراءة لكل دور على محتوى الرسائل، فتواصل مع compliance@devotel.io قبل الاعتماد على ذلك.

3. سجل تدقيق PHI

كل وصول إلى بيانات تحتوي على PHI يُنشئ إدخالًا في سجل التدقيق. يمثّل هذا السجل صفًا واحدًا في كتالوج سجلات المعالجة الذي تحتفظ به مؤسستك — صفحة اتفاقية معالجة البيانات هي الكتالوج الأعلى لتلك السجلات وللإقرارات التي تربطها:
سجل الوصول إلى PHI:
  • إلحاق فقط (append-only) ولا يمكن تعديله أو حذفه
  • يحتفظ بما يصل إلى 10,000 إدخال لكل مؤسسة (تُدوَّر الإدخالات الأقدم تلقائيًا)
  • يمكن الوصول إليه لأدوار owner وadmin عبر لوحة التحكم أو API
  • يمكن تصديره لأغراض التدقيقات الخارجية للامتثال
نقطة النهاية API: GET /api/v1/settings/hipaa/phi-access-log

4. الاحتفاظ بالبيانات

عندما يكون وضع HIPAA نشطًا، يُفرض الاحتفاظ بالبيانات:
  • فترة الاحتفاظ الافتراضية: 365 يومًا (قابلة للتهيئة: 30–3,650 يومًا)
  • النطاق: محتوى الرسائل وتسجيلات المكالمات والمرفقات الوسائطية
  • الآلية: مهمة خلفية مؤتمتة تفحص السجلات المنتهية الصلاحية وتحذفها بأمان
  • الاستثناءات: تُحتفظ سجلات التدقيق وسجلات الوصول إلى PHI بشكل مستقل عن سياسة الاحتفاظ بالبيانات
التهيئة: عبر لوحة التحكم في Settings → Compliance → HIPAA → Data Retention أو عبر API:
تفعيل وضع HIPAA هو استدعاء واحد — فهو يشدد وضع أمان مساحة العمل، لذا لا يتطلب تحدي إعادة مصادقة (يبقى توقيع BAA إلزاميًا؛ انظر أدناه). أما تعطيل وضع HIPAA فهو إجراء مدمّر ويتطلب تدفق إعادة المصادقة ذا الخطوتين الموصوف في تعطيل وضع HIPAA.

5. دورة حياة حالة BAA

تتتبع Devotel حالة BAA لكل مؤسسة وفق دورة حياة قانونية baa_status:
  • not_required — أقرت المؤسسة أن PHI خارج النطاق (الافتراضي)
  • pending — PHI ضمن النطاق واتفاقية BAA بانتظار التنفيذ
  • executed — وُقّعت اتفاقية BAA وهي ضمن مدتها
  • expired — اتفاقية BAA منفذة تجاوزت مدتها السنوية ويجب إعادة تنفيذها
كل اتفاقية BAA منفذة تسجّل نسخة القالب واسم الموقّع وبريده الإلكتروني وطابع وقت التنفيذ وانتهاء المدة. المتطلب: لا يمكن تفعيل وضع HIPAA حتى تصبح baa_status بقيمة executed. محاولة تفعيل وضع HIPAA قبل ذلك تعيد خطأ 403 Forbidden، ويُرفض أي إرسال يحتوي PHI بخطأ 422 HIPAA_BAA_REQUIRED. حكم بوابة وقت الإرسال وسلوك الإغلاق عند الفشل لديها موثّقان في BAA — بوابة الإرسال الخاصة بـ HIPAA.

تنفيذ اتفاقية BAA

نفِّذ اتفاقية BAA عبر نقاط النهاية /api/v1/compliance/baa. هذا هو التدفق الذي يستخدمه جزء Compliance → BAA في لوحة التحكم، وهو التدفق الوحيد الذي يستوفي بوابتي تفعيل HIPAA وإرسال PHI.
  1. تحقق من الحالة الحالية — يعيد GET /api/v1/compliance/baa/ قيمة baa_status وتفاصيل الموقّع وdays_until_expiry (المالك/المسؤول).
  2. أقرّ بأن PHI ضمن النطاق — يضبط POST /api/v1/compliance/baa/require قيمة hipaa_required وينقل المؤسسة من not_required إلى pending بحيث تُفتح خطوة التنفيذ (المالك فقط). تبدأ هذه الخطوة التدفق؛ ولا تُفعّل وضع HIPAA.
  1. نفِّذ اتفاقية BAA — يسجّل POST /api/v1/compliance/baa/execute الاتفاقية بتوقيع إلكتروني بنمط اكتب-الاسم (click-wrap) (المالك فقط). يجب أن تطابق typed_attestation قيمة signer_name تمامًا. عند النجاح تُختم المؤسسة بحالة executed مع الموقّع والنسخة والتاريخ، ما يرفع حظر إرسالات PHI ويتيح لك تفعيل وضع HIPAA.
لمراجعة الاتفاقية قبل التوقيع، استدعِ GET /api/v1/compliance/baa/template.
نقطة نهاية قديمة: PUT /api/v1/settings/hipaa/baa (بجسم { signed, signed_at, document_url }) يكتب مرآة حالة JSONB أقدم وهو احتياطي للمستأجرين ما قبل الترحيل فقط. بمجرد أن تمتلك المؤسسة قيمة baa_status، تقرأ بوابتا تفعيل HIPAA وإرسال PHI ذلك العمود القانوني وتتجاهلان هذه المرآة — لذا فإن كتابة signed: true هنا لا ترفع الحظر عن الإرسالات أو وضع HIPAA. استخدم POST /api/v1/compliance/baa/execute بدلًا من ذلك.

سجل الجماهير المجاورة لـ PHI

سجل الجماهير المجاورة لـ PHI هو سجل على مستوى المؤسسة لمعرّفات قوائم جهات الاتصال والشرائح التي يحمل أعضاؤها PHI — مثل المرضى الذين وافقوا على تلقي رسائل العلاج. ينتمي التصنيف إلى الجمهور ذاته، لا إلى أي حملة فردية: الجمهور مجاور لـ PHI بسبب بياناته المصدرية، لذا يتبعه التصنيف أيًّا كانت الحملة التي تستخدمه. عندما يكون HIPAA ضمن نطاق مؤسستك (ضبط hipaa_required عبر تدفق BAA) ويُحلّ جمهور الحملة إلى معرّف قائمة أو شريحة مُصنّفة، يرفض الفحص المسبق لإطلاق الحملة الإطلاق حتى تصبح اتفاقية BAA بحالة executed وضمن مدتها. API: يعيد GET /api/v1/compliance/hipaa/phi-audiences السجل الحالي المخصص لمؤسستك. ويستبدل PUT /api/v1/compliance/hipaa/phi-audiences السجل بكتابة واحدة. تتطلب كلتا نقطتي النهاية دور owner أو admin — نفس البوابة المستخدمة لنقاط نهاية BAA. قراءة السجل:
استبدال السجل:
إن PUT هو استبدال كامل للمعرّفات المصنّفة — لا توجد نقطة نهاية DELETE. لرفع تصنيفٍ ما، أرسل PUT بالسجل دون ذلك المعرّف؛ ولإعادة التصنيف، أرسل PUT مع إعادة إضافة المعرّف. كل عنصر هو سلسلة معرّف جمهور (1–128 حرفًا)، بحد أقصى 500 معرّف لكل مؤسسة. إن PUT بمصفوفة audience_ids فارغة يمسح السجل. تُكتب كل عملية استبدال بشكل ذرّي (لا يرى طلب GET المتزامن تحديثًا جزئيًا إطلاقًا) وتُسجَّل في سجل التدقيق.
ملاحظة: السجل هو إقرار مؤسستك بشأن أي الجماهير تحتوي PHI. وهو مملوك للمستأجر: لا تصنّف Devotel الجماهير نيابةً عنك إطلاقًا، ولا يسري التصنيف إلا بمجرد أن يصبح HIPAA ضمن نطاق مؤسستك.

الفحص المسبق لإطلاق الحملة

تمتلك الحملات بوابتين لـ HIPAA في نقاط مختلفة من التدفق:
  1. الفحص المسبق للإطلاق (على مستوى الحملة، بوابة صارمة). قبل أن تغادر الحملة حالة المسودة/المجدولة، يحلّ الفحص المسبق للإطلاق جمهورها وفق السجل. إذا كان الجمهور قائمة أو شريحة مُصنّفة و كانت اتفاقية BAA لمؤسستك ليست بحالة executed وضمن مدتها، يُرفض الإطلاق بخطأ 422 HIPAA_BAA_REQUIRED. يبقي هذا فئة PHI خارج تسجيل الحملة بدلًا من حرق رصيد المحفظة على آلاف الرفض لكل مستلم. إذا تعذّرت قراءة حالة الامتثال، يفشل الفحص المسبق مغلقًا (500 HIPAA_BAA_GATE_DB_FAIL) بدلًا من قبول جمهور PHI بشكل صامت.
  2. بوابة الإرسال (لكل مستلم، السلوك الحالي). لا تزال بوابة الإرسال لكل مستلم الموثقة في BAA — بوابة الإرسال الخاصة بـ HIPAA تنطبق وقت الرسالة وهي دون تغيير.
يقيّم الفحص المسبق نفس قواعد BAA كما في بوابة كل مستلم، بحيث لا يختلف الاثنان أبدًا حول معنى “BAA ضمن المدة”. واجهة لوحة التحكم: في خطوة الجمهور بمعالج الحملات، يُظهر اختيار قائمة أو شريحة مُصنّفة تحذيرًا استشاريًا — “هذا الجمهور مُصنّف على أنه مجاور لـ PHI. يتطلب الإطلاق اتفاقية شريك أعمال (BAA) منفذة — تحقق من حالتها ضمن Settings → Compliance → BAA.” التحذير استشاري: فهو لا يحظر زر Next، لأن التصنيف قد يُرفع (أو تُنفَّذ BAA) قبل الإطلاق الفعلي. البوابة الصارمة تقع عند الإطلاق. رد الرفض:
تسلسل المشغّل — إطلاق رفضه الفحص المسبق:
  1. كوِّن السجلPUT /api/v1/compliance/hipaa/phi-audiences مع معرّفات القائمة/الشريحة التي تحتوي PHI.
  2. تحقق من الحظر — حاول الإطلاق على جمهور مُصنّف؛ توقّع 422 HIPAA_BAA_REQUIRED ما دامت BAA ليست بحالة executed/ضمن المدة.
  3. حلّ مشكلة BAA — نفِّذ (أو أعد تنفيذ expired) اتفاقية BAA عبر POST /api/v1/compliance/baa/execute كما هو موصوف في تنفيذ BAA.
  4. أعد الإطلاق — بمجرد أن تصبح BAA بحالة executed وضمن المدة، ينجح الفحص المسبق وتُطلَق الحملة بشكل طبيعي.
الحدود:
  • يحكم السجل إطلاق الحملات فقط. لا تزال الإرسالات القديمة لمرة واحدة لكل مستلم خاضعة لبوابة الإرسال لكل مستلم، التي لا تستشير السجل.
  • تُحلّ ضد السجل عند الإطلاق جماهير من نوعي list وsegment فقط. أما الجماهير المجموعة لكل جهة اتصال (كل جهات الاتصال، CSV، الإدخال اليدوي) فتُقيَّم مستلمًا بمستلم وقت الإرسال.
  • تحذير المجاور لـ PHI في المعالج استشاري على منتقي الجمهور؛ ينُفَّذ الإلزام عند الإطلاق.

6. تعطيل وضع HIPAA

تعطيل وضع HIPAA انتقال مدمّر وحساس للتدقيق: فهو يزيل علم الكيان المُغطّى ورابط BAA والحد الأدنى الصارم للاحتفاظ على مساحة عمل قد تحتوي PHI. لمنع حدوث ذلك في جلسة متصفح مسروقة، يتطلب التعطيل تحدي إعادة مصادقة جديدًا. (تفعيل وضع HIPAA لا يتطلب ذلك — فهو فقط يشدد الوضع.) لذا فالتعطيل تدفق من خطوتين: الخطوة 1 — أنشئ رمز تحدي إعادة مصادقة لاستخدام واحد:
يعيد الرد رمزًا قصير الأجل (5 دقائق) لاستخدام واحد:
الخطوة 2 — أرسل طلب التعطيل مع ضبط ترويسة X-Reauth-Challenge على ذلك الرمز:
يجب استبدال الرمز خلال 5 دقائق ولا يمكن استهلاكه إلا مرة واحدة. إذا كانت ترويسة X-Reauth-Challenge مفقودة أو مشوّهة أو منتهية الصلاحية، يُرفض طلب التعطيل بخطأ 401 REAUTH_REQUIRED:
ملاحظة: تحدي إعادة المصادقة يحكم فقط انتقال تفعيل → تعطيل. لا يتطلب تفعيل وضع HIPAA، ولا تحديثات الاحتفاظ فقط المرسلة بينما وضع HIPAA معطّل أصلًا، تلك الترويسة.

مرجع API


تهيئة لوحة التحكم

تتوفر إعدادات HIPAA في لوحة التحكم ضمن Settings → Compliance:
  1. مفتاح وضع HIPAA — تفعيل/تعطيل وضع HIPAA (يتطلب BAA)
  2. قسم BAA — تنفيذ BAA (توقيع إلكتروني بنمط اكتب-الاسم) وتتبّع حالته والموقّع وانتهاء المدة
  3. الاحتفاظ بالبيانات — تهيئة فترة الحذف التلقائي للبيانات
  4. سجل الوصول إلى PHI — عرض وتصدير مسار تدقيق الوصول إلى PHI
  5. الجماهير المجاورة لـ PHI — تصنيف أي قوائم جهات الاتصال والشرائح تحمل PHI؛ يحذر معالج الحملات عند الجماهير المُصنّفة ويُنفِّذ الفحص المسبق للإطلاق بوابة BAA

ضمانات البنية التحتية

إلى جانب الضوابط على مستوى التطبيق، توفّر بنية Devotel التحتية:
  • تشفير Cloud SQL: جميع مخازن قاعدة البيانات مشفرة بـ AES-256 بواسطة Google Cloud
  • TLS 1.3: جميع البيانات أثناء النقل مشفرة بـ TLS 1.3
  • عزل VPC: قاعدة البيانات متاحة فقط عبر IP خاص ضمن VPC
  • لا حاويات متميزة (Privileged): يمنع GKE Autopilot تنفيذ الحاويات المتميزة
  • Secret Manager: جميع مفاتيح التشفير وبيانات الاعتماد مخزّنة في GCP Secret Manager
  • مسارات التدقيق: سجلات تدقيق Google Cloud لتتبع الوصول على مستوى البنية التحتية

إخفاء PII/PHI في نصوص الصوت والفيديو

تُنشأ التسميات التوضيحية الحية (Live captions) ونصوص المكالمات ونصوص ما بعد المكالمة بواسطة معالج تحويل الكلام إلى نص التابع لـ Devotel مع تفعيل إخفاء PII/PHI افتراضيًا. تُحجب القيم الرقمية الحساسة — أرقام بطاقات الائتمان وأرقام الضمان الاجتماعي وما يشبهها — في المصدر، قبل تخزين أي نص من النصوص أو كتابته في السجلات. بالنسبة لمؤسسات HIPAA، هذا يعني أن PHI المنطوق في مكالمة يُخفى قبل إدامته.

الإخفاء مفعّل افتراضيًا

إخفاء النصوص مفعّل افتراضيًا ولا يمكن إيقافه من لوحة التحكم أو API. إيقافه هو تغيير على مستوى النشر بالكامل تجريه Devotel فقط لقطاعات الامتثال الأرشيفي (مثل القانونية أو الصحية) الملزمة تعاقديًا بالاحتفاظ بنصوص خام غير مُخفاة تحت ضماناتها وBAA الخاصة بها.
تحذير: لأن هذا الضابط ينطبق على النشر بأكمله وليس مؤسسة واحدة، لا يمكن تحديد نطاقه لمساحة عمل واحدة. إذا كان نشرك يعالج PHI، فيجب أن يبقى الإخفاء مفعّلًا — أكّد حالته كتابيًا مع جهة اتصال Devotel الخاصة بك كجزء من BAA قبل أن تخزّن أي PHI.
إذا فُعّل الاحتفاظ بالنصوص الخام لنشرك في أي وقت، فإن النصوص الملتقطة خلال تلك الفترة خُزّنت دون إخفاء ولا تُحجب بأثر رجعي. راجعها وأَخلِها وفق سياسة الاحتفاظ الخاصة بك إذا كانت تحتوي PHI، واطلب من Devotel تأكيد إعادة تفعيل الإخفاء لجميع النصوص المقبلة.

المسؤولية المشتركة

امتثال HIPAA مسؤولية مشتركة بين Devotel والعميل:

الاستجابة للحوادث

في حال الاشتباه باختراق PHI:
  1. يُبلَّغ فريق أمن Devotel خلال ساعة واحدة عبر التنبيه الآلي
  2. تُبلَّغ المؤسسات المتأثرة خلال 24 ساعة وفق قاعدة الإبلاغ عن الاختراقات في HIPAA
  3. تُحفَظ سجلات الوصول إلى PHI فورًا وتُصدَّر للتحليل الجنائي
  4. تُوثَّق خطوات المعالجة وتُشارَك مع الأطراف المتأثرة

صفحات ذات صلة


آخر تحديث: أبريل 2026 للأسئلة حول امتثال HIPAA، تواصل مع: compliance@devotel.io