اختيار مستويات التصنيف
كل قناة وخادم MCP وتكامل و plugin في Triggerfish يجب أن يكون لديه مستوى تصنيف. تساعدك هذه الصفحة في اختيار المستوى المناسب.
المستويات الأربعة
| المستوى | ما يعنيه | البيانات تتدفق إلى... |
|---|---|---|
| PUBLIC | آمن لأي شخص لرؤيته | أي مكان |
| INTERNAL | لعينيك فقط — ليس حساساً، لكن ليس عاماً | INTERNAL, CONFIDENTIAL, RESTRICTED |
| CONFIDENTIAL | يحتوي بيانات حساسة لا تريد تسريبها أبداً | CONFIDENTIAL, RESTRICTED |
| RESTRICTED | الأكثر حساسية — قانوني، طبي، مالي، PII | RESTRICTED فقط |
يمكن للبيانات أن تتدفق للأعلى أو جانبياً فقط، وليس للأسفل. هذه هي قاعدة منع الكتابة للأسفل ولا يمكن تجاوزها.
سؤالان يجب طرحهما
لأي تكامل تُكوّنه، اسأل:
1. ما أكثر البيانات حساسية التي يمكن أن يُعيدها هذا المصدر؟
هذا يحدد مستوى التصنيف الأدنى. إذا كان خادم MCP يمكنه إعادة بيانات مالية، يجب أن يكون على الأقل CONFIDENTIAL — حتى لو كانت معظم أدواته تُعيد بيانات وصفية غير ضارة.
2. هل سأكون مرتاحاً إذا تدفقت بيانات الجلسة إلى هذه الوجهة؟
هذا يحدد مستوى التصنيف الأقصى الذي تريد تعيينه.
التصنيف حسب نوع البيانات
| نوع البيانات | المستوى الموصى | لماذا |
|---|---|---|
| الطقس، صفحات الويب العامة، المناطق الزمنية | PUBLIC | متاحة بحرية لأي شخص |
| ملاحظاتك الشخصية، الإشارات المرجعية | INTERNAL | خاصة لكن ليست ضارة إذا كُشفت |
| البريد، أحداث التقويم، جهات الاتصال | CONFIDENTIAL | تحتوي أسماء وجداول وعلاقات |
| بيانات CRM، خط المبيعات، سجلات العملاء | CONFIDENTIAL | حساسة تجارياً، بيانات عملاء |
| السجلات الطبية أو الصحية | RESTRICTED | محمية قانونياً (HIPAA، إلخ.) |
| أرقام الهوية الحكومية، SSN، جوازات السفر | RESTRICTED | خطر سرقة الهوية |
خوادم MCP
عند إضافة خادم MCP إلى triggerfish.yaml، يحدد التصنيف شيئين:
- Taint الجلسة — استدعاء أي أداة على هذا الخادم يُصعد الجلسة لهذا المستوى
- منع الكتابة للأسفل — جلسة ملوثة فوق هذا المستوى لا يمكنها إرسال بيانات إلى هذا الخادم
yaml
mcp_servers:
# PUBLIC — بيانات مفتوحة، بدون حساسية
weather:
command: npx
args: ["-y", "@mcp/server-weather"]
classification: PUBLIC
# INTERNAL — نظام ملفاتك، خاص لكن ليس أسراراً
filesystem:
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/docs"]
classification: INTERNAL
# CONFIDENTIAL — يصل لمستودعات خاصة، مشكلات العملاء
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "keychain:github-pat"
classification: CONFIDENTIAL
# RESTRICTED — قاعدة بيانات مع PII، سجلات طبية، وثائق قانونية
postgres:
command: npx
args: ["-y", "@mcp/server-postgres"]
env:
DATABASE_URL: "keychain:prod-db-url"
classification: RESTRICTEDDEFAULT DENY إذا حذفت classification، يُسجل الخادم كـ
UNTRUSTED و gateway يرفض جميع استدعاءات الأدوات. يجب اختيار مستوى صراحةً. :::
القنوات
تصنيف القناة يحدد السقف — أقصى حساسية للبيانات التي يمكن تسليمها لتلك القناة.
yaml
channels:
cli:
classification: INTERNAL # طرفيتك المحلية — آمنة للبيانات الداخلية
telegram:
classification: INTERNAL # بوتك الخاص — نفس CLI للمالك
webchat:
classification: PUBLIC # زوار مجهولون — بيانات عامة فقط
email:
classification: CONFIDENTIAL # البريد خاص لكن يمكن تحويلهالمالك مقابل غير المالك بالنسبة للمالك، جميع القنوات لها نفس مستوى
الثقة — أنت أنت، بغض النظر عن التطبيق الذي تستخدمه. تصنيف القناة يهم أكثر للمستخدمين غير المالكين (زوار على webchat، أعضاء في قناة Slack، إلخ.) حيث يحد من البيانات التي يمكن أن تتدفق إليهم. :::
ماذا يحدث عند الخطأ
منخفض جداً (مثل خادم CONFIDENTIAL مُعلم PUBLIC):
- البيانات من هذا الخادم لن تُصعد taint الجلسة
- يمكن للجلسة أن تُسرب بيانات مصنفة إلى قنوات عامة — خطر تسرب بيانات
- هذا الاتجاه الخطير
مرتفع جداً (مثل خادم PUBLIC مُعلم CONFIDENTIAL):
- Taint الجلسة يتصاعد بلا داعٍ عند استخدام هذا الخادم
- ستُحظر من الإرسال إلى قنوات أقل تصنيفاً بعد ذلك
- مزعج لكن آمن — خطأ في جانب المبالغة
عند الشك، صنّف أعلى. يمكنك دائماً خفضه لاحقاً بعد مراجعة البيانات
التي يُعيدها الخادم فعلاً. التصنيف المنخفض خطر أمني؛ التصنيف المرتفع مجرد إزعاج. :::
سلسلة Taint
فهم التأثير العملي يساعدك على الاختيار بحكمة:
1. الجلسة تبدأ بـ PUBLIC
2. تسأل عن الطقس (خادم PUBLIC) → taint يبقى PUBLIC
3. تفحص ملاحظاتك (filesystem INTERNAL) → taint يتصاعد لـ INTERNAL
4. تستعلم مشكلات GitHub (CONFIDENTIAL) → taint يتصاعد لـ CONFIDENTIAL
5. تحاول النشر على webchat (قناة PUBLIC) → محظور (انتهاك كتابة للأسفل)
6. تُعيد تعيين الجلسة → taint يعود لـ PUBLIC
7. تنشر على webchat → مسموحصفحات ذات صلة
- قاعدة منع الكتابة للأسفل — قاعدة تدفق البيانات الثابتة
- التكوين — مرجع YAML الكامل
- MCP Gateway — نموذج أمان خادم MCP
