الثقة
كيف نحمي اجتماعاتك
تفريغ اجتماع عمل من أكثر ما تملكه الشركة حساسية. إليك بالتحديد ما يحميه، وما لم نقم به بعد.
آخر تحديث: 24 أغسطس 2026
عزل مساحات العمل، تفرضه قاعدة البيانات
الطريقة المعتادة التي تتسرّب بها بيانات التطبيقات متعددة المستأجرين هي أن استعلامًا ما في مكان ما نسي عبارة WHERE tenant_id = ?. ونحن لا نعتمد على التذكّر.
كل جدول يحتوي على بيانات العملاء مفعّل فيه أمان مستوى الصفوف (Row-Level Security) في PostgreSQL بشكل إلزامي. وتُنفَّذ استعلامات التطبيق داخل معاملة بدور مخصّص في قاعدة البيانات لا يملك أي صلاحية لتجاوز هذه السياسات، مع ربط هوية صاحب الطلب بالمعاملة. فالاستعلام الذي ينسى التصفية لا يُرجع شيئًا بدل أن يُرجع اجتماع شخص آخر، لأن قاعدة البيانات هي التي ترفضه، لا الشيفرة هي التي تمتنع عن الطلب.
هذا أمر مُتحقَّق منه لا مُفترض. فاختبار آلي يُنشئ مساحتي عمل ويُثبت أن كل قراءة وكتابة عبر الحدود بينهما تُرفض فعلًا. ويعمل على قاعدة البيانات الحقيقية، ويُفشل البناء إن كان أي جدول يفتقد سياسة.
التشفير
- أثناء النقل: بروتوكول TLS في كل مكان، مع HSTS حتى لا يتراجع المتصفح أبدًا إلى HTTP العادي.
- عند التخزين: قاعدة البيانات وتخزين الملفات كلاهما مشفّران عند التخزين من قِبل المنصة.
- التسجيلات: التسجيلات المرفوعة محفوظة في حاوية خاصة دون رابط عام. ويتم التشغيل عبر روابط موقّعة قصيرة الأجل لا تُصدر إلا بعد التحقق من العضوية. أما تسجيلات المكالمات المباشرة فيحتفظ بها مزوّد التسجيل لدينا، Recall.ai، وتُشغَّل عبر رابط جديد قصير الأجل، بعد التحقق من العضوية أيضًا.
- بيانات اعتماد الأطراف الثالثة: رموز Slack وAsana وTrello وClickUp وHubSpot التي تربطها مساحة العمل مشفّرة كلٌّ على حدة بخوارزمية AES-256-GCM بمفتاح محفوظ خارج قاعدة البيانات، فاختراق قاعدة البيانات وحده لا يُتيح رموزًا صالحة.
- مفاتيح API: تُعرض مرة واحدة عند إنشائها وتُحفظ فقط كبصمة SHA-256، فلا يستطيع أحد، ونحن منهم، قراءة أي مفتاح. والمفتاح للقراءة فقط، ولا يرى إلا مساحة عمله، ويمكن إلغاؤه في أي وقت. ويُشفَّر سر توقيع نقطة نهاية webhook مثل بيانات اعتماد الأطراف الثالثة أعلاه.
- كلمات المرور: bcrypt بمعامل كلفة 12. ولا تُحفظ رموز إعادة التعيين إلا بصيغة بصمة SHA-256، فالنسخة الاحتياطية المسروقة لا تحتوي على أي رابط إعادة تعيين صالح.
التحكم في الوصول
أربعة أدوار داخل مساحة العمل: المالك والمشرف والعضو والقارئ. لا يرى الفوترة إلا المالك. ولا يرى بيانات اعتماد التكاملات إلا المالكون والمشرفون، وتبقى مُقنَّعة حتى بالنسبة إليهم.
إدارة المنصة حدٌّ منفصل تمامًا عن أي دور في مساحة العمل. فلا سبيل لمالك مساحة العمل إليها، ولا يستطيع أحد منح نفسه إياها عبر التطبيق، ويوقف مُشغّل في قاعدة البيانات أي محاولة لذلك. وتُسجَّل كل عملية إدارية في سجل تدقيق يذكر منفّذها وهدفها وما تغيّر.
روابط المشاركة
يمكن لمالك مساحة العمل أو مشرفها نشر اجتماع واحد عبر رابط يستطيع كل من يملكه فتحه دون تسجيل الدخول. وهو معطّل افتراضيًا في كل اجتماع، وهو الطريقة الوحيدة التي يخرج بها محتوى من مساحة العمل دون حساب.
يحمل الرابط 32 بايتًا عشوائيًا، فلا يمكن تخمينه ولا حصره. ونشر اجتماع واحد لا يكشف شيئًا آخر: فالصفحة المشتركة لا تتضمن أي تنقّل إلى مساحة العمل، ولا قائمة أعضاء، ولا أي اجتماع آخر. والتفريغ الكامل خيار ثانٍ منفصل عن المشاركة نفسها، ويُستبعد ما لم يُحدَّد صراحةً. وتُوسم الصفحات المشتركة بـ noindex حتى لا تدخل محركات البحث. ويمكن تحديد تاريخ انتهاء للرابط، وإلغاؤه يسري فورًا على الجميع، بمن فيهم من حفظه. وتُسجَّل كل مشاركة وتعديل وإلغاء في سجل التدقيق.
إساءة الاستخدام والسلامة
- يُتحقَّق من توقيع كل webhook وارد قبل الوثوق بمحتواه: Recall.ai وCreem وStripe وPayPal على حدّ سواء. والطلب غير الموقّع أو المُعدَّل يُرفض ولا يُعالج.
- يخضع تسجيل الدخول وإنشاء الحساب وإعادة تعيين كلمة المرور والدعوات وكل ما يُطلق استدعاءً لنموذج لحدٍّ من عدد الطلبات.
- يُعطي نموذج إعادة تعيين كلمة المرور الجواب نفسه سواء كان للعنوان حساب أم لا، فلا يمكن استخدامه لمعرفة من هم عملاؤنا.
- رابط webhook الخاص بـ Slack الذي تقدّمه مساحة العمل مقصور على نطاق Slack نفسه، فلا يمكن توجيه الحقل إلى عنوان داخلي لإجبار خوادمنا على الاتصال به.
- يجب أن يكون عنوان webhook الذي تقدّمه مساحة العمل بصيغة https، ويُرفض إن أشار إلى شبكة خاصة أو إلى localhost أو إلى عنوان بيانات وصفية سحابي. ويُتحقَّق من ذلك عند الحفظ ثم مرة أخرى لحظة الاتصال، على العنوان الذي يُحلّ إليه الاسم فعلًا، ولا تُتبع إعادات التوجيه أبدًا. ويُوقَّع كل إرسال ليتحقق المستلم من أنه صادر عنا.
- النص الذي يصل إلى متصفح أو صندوق بريد من تفريغ أو نموذج لغوي يُهرَّب عند الإخراج، ولا يُدرج أبدًا كشيفرة ترميز.
ماذا يحدث لبياناتك
لا نُدرّب أي نموذج على اجتماعاتك، ومزوّدو المعالجة لدينا ممنوعون تعاقديًا من ذلك. ولا أحد لدينا يقرأ تفريغاتك. وحذف الاجتماع يحذف التسجيل والتفريغ والملخص والمهام، وتنتهي صلاحية النسخ الاحتياطية خلال 30 يومًا. وتتضمن سياسة الخصوصية جدول الاحتفاظ الكامل وقائمة المعالجين الفرعيين.
ما لم نقم به بعد
نفضّل أن نخبرك بهذا على أن نتركك تفترض خلافه:
- لا شهادة SOC 2 ولا ISO 27001. لم نخضع لأيٍّ من هذين التدقيقين. وإن كانت إجراءات الشراء لديكم تشترط إحداهما، فلسنا جاهزين لكم بعد.
- لا اختبار اختراق من طرف ثالث بعد. الضوابط المذكورة أعلاه حقيقية ونختبرها بأنفسنا، لكن لم يحاول أي طرف خارجي كسرها بعد.
- لا SSO ولا SCIM. تسجيل الدخول عبر Google والبريد الإلكتروني، لا SAML.
- لا التزام تعاقدي بنسبة التوفّر. راجع الشروط.
هذه البنود مُدرجة في خارطة الطريق بهذا الترتيب تقريبًا.
الإبلاغ عن ثغرة
إن وجدت شيئًا، فأخبرنا على security@notepik.com وامنحنا مهلة معقولة لإصلاحه قبل النشر. سنؤكد الاستلام خلال يومي عمل ونُبقيك على اطّلاع حتى إغلاقه.
لا نُدير حاليًا برنامج مكافآت مدفوعًا لاكتشاف الثغرات، ولن نهدّد أبدًا أي شخص يُبلغ بحسن نية عن مشكلة حقيقية.