Skip to content

वर्गीकरण प्रणाली

डेटा वर्गीकरण प्रणाली Triggerfish के सुरक्षा मॉडल की नींव है। सिस्टम में प्रवेश करने वाला, उसमें गुज़रने वाला, या बाहर जाने वाला प्रत्येक डेटा एक वर्गीकरण लेबल रखता है। ये लेबल निर्धारित करते हैं कि डेटा कहाँ प्रवाहित हो सकता है -- और इससे भी महत्वपूर्ण, कहाँ नहीं हो सकता।

वर्गीकरण स्तर

Triggerfish सभी deployments के लिए एकल चार-स्तरीय क्रमबद्ध पदानुक्रम का उपयोग करता है।

स्तररैंकविवरणउदाहरण
RESTRICTED4 (उच्चतम)अधिकतम सुरक्षा की आवश्यकता वाला सबसे संवेदनशील डेटाM&A दस्तावेज़, बोर्ड सामग्री, PII, बैंक खाते, चिकित्सा रिकॉर्ड
CONFIDENTIAL3व्यापार-संवेदनशील या व्यक्ति-संवेदनशील जानकारीCRM डेटा, वित्तीय, HR रिकॉर्ड, अनुबंध, कर रिकॉर्ड
INTERNAL2बाहरी साझाकरण के लिए नहींआंतरिक विकी, टीम दस्तावेज़, व्यक्तिगत नोट्स, संपर्क
PUBLIC1 (न्यूनतम)किसी के लिए भी देखना सुरक्षितमार्केटिंग सामग्री, सार्वजनिक प्रलेखन, सामान्य वेब सामग्री

No Write-Down नियम

Triggerfish में सबसे महत्वपूर्ण सुरक्षा अपरिवर्तनीय:

डेटा केवल समान या उच्चतर वर्गीकरण वाले चैनलों या प्राप्तकर्ताओं

तक प्रवाहित हो सकता है। यह एक निश्चित नियम है -- इसे कॉन्फ़िगर, ओवरराइड, या अक्षम नहीं किया जा सकता। LLM इस निर्णय को प्रभावित नहीं कर सकता। :::

वर्गीकरण पदानुक्रम: PUBLIC → INTERNAL → CONFIDENTIAL → RESTRICTED। डेटा केवल ऊपर की ओर प्रवाहित होता है।

इसका अर्थ है:

  • CONFIDENTIAL डेटा वाला उत्तर PUBLIC चैनल पर नहीं भेजा जा सकता
  • RESTRICTED पर tainted session RESTRICTED से नीचे किसी भी चैनल पर आउटपुट नहीं कर सकता
  • कोई admin ओवरराइड नहीं, कोई एंटरप्राइज़ escape hatch नहीं, और कोई LLM workaround नहीं

प्रभावी वर्गीकरण

चैनल और प्राप्तकर्ता दोनों वर्गीकरण स्तर रखते हैं। जब डेटा सिस्टम से बाहर जाने वाला होता है, तो गंतव्य का प्रभावी वर्गीकरण निर्धारित करता है कि क्या भेजा जा सकता है:

EFFECTIVE_CLASSIFICATION = min(channel_classification, recipient_classification)

प्रभावी वर्गीकरण दोनों में से निचला है। इसका अर्थ है कि उच्च-वर्गीकरण चैनल के साथ निम्न-वर्गीकरण प्राप्तकर्ता को अभी भी निम्न-वर्गीकरण माना जाता है।

चैनलप्राप्तकर्ताप्रभावीCONFIDENTIAL डेटा प्राप्त कर सकता है?
INTERNALINTERNALINTERNALनहीं (CONFIDENTIAL > INTERNAL)
INTERNALEXTERNALPUBLICनहीं
CONFIDENTIALINTERNALINTERNALनहीं (CONFIDENTIAL > INTERNAL)
CONFIDENTIALEXTERNALPUBLICनहीं
RESTRICTEDINTERNALINTERNALनहीं (CONFIDENTIAL > INTERNAL)

चैनल वर्गीकरण नियम

प्रत्येक चैनल प्रकार के लिए अपने वर्गीकरण स्तर को निर्धारित करने के विशिष्ट नियम हैं।

Email

  • डोमेन मिलान: @company.com संदेश INTERNAL के रूप में वर्गीकृत हैं
  • Admin कॉन्फ़िगर करता है कि कौन से डोमेन आंतरिक हैं
  • अज्ञात या बाहरी डोमेन EXTERNAL पर डिफ़ॉल्ट होते हैं
  • बाहरी प्राप्तकर्ता प्रभावी वर्गीकरण को PUBLIC तक कम कर देते हैं

Slack / Teams

  • कार्यक्षेत्र सदस्यता: समान कार्यक्षेत्र/tenant के सदस्य INTERNAL हैं
  • Slack Connect बाहरी उपयोगकर्ता EXTERNAL के रूप में वर्गीकृत हैं
  • अतिथि उपयोगकर्ता EXTERNAL के रूप में वर्गीकृत हैं
  • वर्गीकरण प्लेटफ़ॉर्म API से प्राप्त होता है, LLM व्याख्या से नहीं

WhatsApp / Telegram / iMessage

  • एंटरप्राइज़: HR निर्देशिका सिंक के विरुद्ध मिलाए गए फ़ोन नंबर आंतरिक बनाम बाहरी निर्धारित करते हैं
  • व्यक्तिगत: सभी प्राप्तकर्ता EXTERNAL पर डिफ़ॉल्ट होते हैं
  • उपयोगकर्ता विश्वसनीय संपर्कों को चिह्नित कर सकते हैं, लेकिन इससे वर्गीकरण गणित नहीं बदलता -- यह प्राप्तकर्ता वर्गीकरण बदलता है

WebChat

  • WebChat आगंतुक हमेशा PUBLIC के रूप में वर्गीकृत होते हैं (आगंतुक कभी owner के रूप में सत्यापित नहीं होते)
  • WebChat सार्वजनिक-उन्मुख इंटरैक्शन के लिए है

CLI

  • CLI चैनल स्थानीय रूप से चलता है और प्रमाणित उपयोगकर्ता के आधार पर वर्गीकृत होता है
  • प्रत्यक्ष टर्मिनल एक्सेस आमतौर पर INTERNAL या उच्चतर होता है

प्राप्तकर्ता वर्गीकरण स्रोत

एंटरप्राइज़

  • निर्देशिका सिंक (Okta, Azure AD, Google Workspace) स्वचालित रूप से प्राप्तकर्ता वर्गीकरण भरता है
  • सभी निर्देशिका सदस्य INTERNAL के रूप में वर्गीकृत हैं
  • बाहरी अतिथि और विक्रेता EXTERNAL के रूप में वर्गीकृत हैं
  • Admin प्रति-संपर्क या प्रति-डोमेन ओवरराइड कर सकते हैं

व्यक्तिगत

  • डिफ़ॉल्ट: सभी प्राप्तकर्ता EXTERNAL हैं
  • उपयोगकर्ता इन-फ्लो प्रॉम्प्ट या सहचर ऐप के माध्यम से विश्वसनीय संपर्कों को पुनर्वर्गीकृत करते हैं
  • पुनर्वर्गीकरण स्पष्ट और लॉग किया गया है

चैनल स्थितियाँ

प्रत्येक चैनल डेटा ले जाने से पहले एक स्थिति मशीन से गुज़रता है:

चैनल स्थिति मशीन: UNTRUSTED → CLASSIFIED या BLOCKED
स्थितिडेटा प्राप्त कर सकता है?agent संदर्भ में डेटा भेज सकता है?विवरण
UNTRUSTEDनहींनहींनए/अज्ञात चैनलों के लिए डिफ़ॉल्ट। पूरी तरह से अलग।
CLASSIFIEDहाँ (policy के अंतर्गत)हाँ (वर्गीकरण के साथ)समीक्षित और वर्गीकरण स्तर दिया गया।
BLOCKEDनहींनहींadmin या उपयोगकर्ता द्वारा स्पष्ट रूप से प्रतिबंधित।

सुरक्षा नए चैनल हमेशा UNTRUSTED स्थिति में आते हैं। वे agent से कोई

डेटा प्राप्त नहीं कर सकते और agent संदर्भ में डेटा नहीं भेज सकते। चैनल पूरी तरह से अलग रहता है जब तक admin (एंटरप्राइज़) या उपयोगकर्ता (व्यक्तिगत) स्पष्ट रूप से इसे वर्गीकृत नहीं करता। :::

वर्गीकरण अन्य प्रणालियों के साथ कैसे इंटरैक्ट करता है

वर्गीकरण एक स्वतंत्र सुविधा नहीं है -- यह पूरे प्लेटफ़ॉर्म पर निर्णयों को संचालित करता है:

प्रणालीवर्गीकरण कैसे उपयोग किया जाता है
Session taintवर्गीकृत डेटा तक पहुँचने से session उस स्तर तक बढ़ जाता है
Policy hooksPRE_OUTPUT session taint की तुलना गंतव्य वर्गीकरण से करता है
MCP GatewayMCP server उत्तर वर्गीकरण रखते हैं जो session को taint करता है
डेटा lineageप्रत्येक lineage रिकॉर्ड में वर्गीकरण स्तर और कारण शामिल है
NotificationsNotification सामग्री समान वर्गीकरण नियमों के अधीन है
Agent delegationCallee agent की वर्गीकरण सीमा caller की taint को पूरा करनी चाहिए
Plugin sandboxPlugin SDK सभी उत्सर्जित डेटा को स्वचालित रूप से वर्गीकृत करता है