CallwiseDocs

نموذج الأمان

القواعد التي يفرضها Postgres، مهما أرسل التطبيق أو عميل واجهة برمجية.

يخفي التطبيق ما لا يمكنك استخدامه، لكن الإخفاء ليس الحماية. كل قاعدة أدناه يفرضها قاعدة البيانات بأمان على مستوى الصفوف، وصلاحيات الأعمدة، والمُشغّلات، أو دوال الفحص، ولكل واحدة اختبار يحاول كسرها (pnpm test:rls، انظر الاختبارات).

تبدأ جداول المنتج بـ cw_ وكل صف ينتمي إلى مساحة عمل واحدة. يُحسم الوصول بدالة واحدة، cw_can_access(workspace, module, level)، تستخدمها كل سياسة.

القواعد

#القاعدةكيف يفرضها Postgres
1الفوترة وحدها تستطيع تغيير خطة مساحة العمل أو حالتها أو فترتها أو مخصص الرصيد.يستطيع المستخدمون الذين سجّلوا الدخول قراءة cw_subscriptions لكن ليست لهم صلاحية كتابة عليها.
2لا أحد يفتح وحدة من دون أن يدفع. تبدأ الوحدات الجديدة locked؛ وفشل تشغيل وحدة مقفلة.لا يستطيع المستخدمون كتابة access_state؛ ويجوز للمالكين تحديث enabled فقط، ويرفض مُشغّل ذلك للوحدات المقفلة.
3نشر نص يحتاج إلى publish على الاستقبال.لا تُنشأ الإصدارات إلا عبر cw_publish_agent()، وهي تتحقق من المستوى. تُرفض الكتابة المباشرة إلى الإصدارات أو إلى مؤشر المنشور.
4لا يمكن إعادة كتابة سجلات المكالمات من التطبيق. لا يتغير إلا علامة المراجعة والعلم، والمراجع هو أنت دائمًا.صلاحية العمود على حقول المراجعة فقط؛ ويضبط مُشغّل المراجع والوقت من المستخدم الذي سجّل الدخول.
5لا يستطيع المستخدمون إنشاء مكالمات أو أسطر نص.لا صلاحية إدراج. خدمة الصوت وحدها، عبر ويب هوك الموقَّع، تكتبها.
6الوحدة المضبوطة على none، أو المطفأة، لا تُرجع صفوفًا.cw_can_access في كل سياسة قراءة.
7لا ترى مساحة عمل أبدًا بيانات مساحة أخرى.تتحقق cw_can_access من العضوية أولًا.
8لا يستطيع الأشخاص رفع مستوى وصولهم بأنفسهم.المالكون والمسؤولون وحدهم يعدّلون الوصول؛ ولا يستطيع المسؤولون لمس صفوف المالك.
9تُكتب قيود التدقيق بصفتك أنت فقط.تشترط سياسة الإدراج actor_type = 'user' ومعرّف مستخدمك؛ ولا تحديث ولا حذف.
10لا يمكن تغيير مساحة عمل للقراءة فقط.تضع cw_can_access سقف كل مستوى عند view للوحدات للقراءة فقط.
11محو متصل، وتوجيه رقم هاتف، يحتاجان إلى publish.تتحقق cw_erase_caller() من المستوى؛ وتشترط سياسة التحديث على أرقام الهاتف publish.
12الملاحظات ملك كاتبها.يجب أن تستخدم عمليات الإدراج معرّف مستخدمك؛ ولا يمكنك تعديل ملاحظاتك أو حذفها إلا هي.

حمايات أخرى

  • دور الخدمة. المفتاح الذي يتجاوز هذه القواعد يُستخدم في ملف خادم واحد فقط (apps/web/lib/callwise/service-role.ts)، للفوترة وويب هوك الصوت.
  • ويب هوك الصوت. موقَّع بـ HMAC، ويُتحقق من الطابع الزمني خلال 5 دقائق، ومتماثل المفعول وفق معرّف الحدث.
  • التسجيلات. حاوية خاصة؛ ولا يُقرأ الملف إلا بمن لديه view على الاستقبال في مساحة عمله؛ ولا رفع من التطبيق.
  • ويب هوك الصادرة. تمر عناوين الوجهة بحارس من جانب الخادم قبل إرسال أي شيء.
  • الوضع التجريبي لا يمكنه العمل في الإنتاج من دون ALLOW_DEMO_IN_PROD=true صريح، ولا يُجري طلبًا خارجيًا أبدًا.

ما ليس مغطى بعد

لم يُجرَ تدقيق أمني خارجي ولا اختبار اختراق، ولا يحمل Callwise شهادة امتثال. انظر البيانات والخصوصية.

On this page