Skip to content

Sessions और Taint

Sessions Triggerfish में वार्तालाप स्थिति की मूलभूत इकाई हैं। प्रत्येक session स्वतंत्र रूप से एक taint स्तर ट्रैक करती है -- एक वर्गीकरण वॉटरमार्क जो session के दौरान एक्सेस किए गए डेटा की उच्चतम संवेदनशीलता को रिकॉर्ड करता है।

Session Taint मॉडल

Taint कैसे काम करती है

जब कोई session किसी वर्गीकरण स्तर पर डेटा तक पहुँचती है, तो पूरी session उस स्तर पर tainted हो जाती है। Taint तीन नियमों का पालन करती है:

  1. प्रति-वार्तालाप: प्रत्येक session का अपना स्वतंत्र taint स्तर है
  2. केवल वृद्धि: Taint session के भीतर बढ़ सकती है, कभी कम नहीं हो सकती
  3. पूर्ण रीसेट सब कुछ साफ़ करता है: Taint और वार्तालाप इतिहास एक साथ साफ़ किए जाते हैं
Taint वृद्धि: PUBLIC → INTERNAL → CONFIDENTIAL → RESTRICTED। Taint केवल बढ़ सकती है, कभी कम नहीं होती।

सुरक्षा Taint को चुनिंदा रूप से कम नहीं किया जा सकता। पूरे

वार्तालाप इतिहास को साफ़ किए बिना session को "un-taint" करने का कोई तंत्र नहीं है। :::

Session प्रकार

Session प्रकारविवरणप्रारंभिक Taintपुनरारंभ के बाद बनी रहती है
MainOwner के साथ प्राथमिक सीधी वार्तालापPUBLICहाँ
Channelप्रति कनेक्टेड चैनल एक (Telegram, Slack, आदि)PUBLICहाँ
Backgroundस्वायत्त कार्यों के लिए शुरू (cron, webhooks)PUBLICकार्य की अवधि
AgentMulti-agent रूटिंग के लिए प्रति-agent sessionsPUBLICहाँ
GroupGroup chat sessionsPUBLICहाँ

Background sessions हमेशा PUBLIC taint से शुरू होती हैं, parent

session के taint स्तर की परवाह किए बिना। :::

Taint वृद्धि उदाहरण

Taint वृद्धि उदाहरण: session PUBLIC से शुरू, Salesforce एक्सेस के बाद CONFIDENTIAL तक बढ़ती है, फिर PUBLIC WhatsApp चैनल पर आउटपुट अवरुद्ध करती है

पूर्ण रीसेट तंत्र

Session रीसेट taint कम करने का एकमात्र तरीका है:

  1. Lineage रिकॉर्ड संग्रहीत करें -- session का सभी lineage डेटा ऑडिट storage में संरक्षित
  2. वार्तालाप इतिहास साफ़ करें -- संपूर्ण संदर्भ विंडो मिटाई जाती है
  3. Taint को PUBLIC पर रीसेट करें -- session ताज़ा शुरू होती है
  4. उपयोगकर्ता पुष्टि आवश्यक -- SESSION_RESET hook निष्पादन से पहले स्पष्ट पुष्टि आवश्यक

अंतर-Session संचार

स्रोत Session Taintलक्ष्य Session चैनलनिर्णय
PUBLICPUBLIC चैनलALLOW
CONFIDENTIALCONFIDENTIAL चैनलALLOW
CONFIDENTIALPUBLIC चैनलBLOCK
RESTRICTEDCONFIDENTIAL चैनलBLOCK

डेटा Lineage

Triggerfish द्वारा प्रोसेस किया गया प्रत्येक डेटा तत्व उत्पत्ति मेटाडेटा रखता है -- डेटा कहाँ से आया, कैसे रूपांतरित किया गया, और कहाँ गया इसका पूर्ण रिकॉर्ड।

Lineage ट्रैकिंग नियम

घटनाLineage कार्य
एकीकरण से डेटा पढ़ा गयामूल के साथ lineage रिकॉर्ड बनाएँ
LLM द्वारा डेटा रूपांतरितरूपांतरण जोड़ें, इनपुट lineages लिंक करें
कई स्रोतों से डेटा एकत्रितLineage मर्ज करें, वर्गीकरण = max(inputs)
चैनल को डेटा भेजा गयागंतव्य रिकॉर्ड करें, वर्गीकरण सत्यापित करें
Session रीसेटLineage रिकॉर्ड संग्रहीत, संदर्भ से साफ़

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

जब कई स्रोतों से डेटा संयोजित किया जाता है, तो एकत्रित परिणाम सभी इनपुट का अधिकतम वर्गीकरण विरासत में लेता है:

इनपुट 1: INTERNAL    (आंतरिक विकी)
इनपुट 2: CONFIDENTIAL (Salesforce रिकॉर्ड)
इनपुट 3: PUBLIC      (मौसम API)

एकत्रित आउटपुट वर्गीकरण: CONFIDENTIAL (इनपुट का अधिकतम)

Taint Persistence

Session taint StorageProvider के माध्यम से taint: नेमस्पेस में संरक्षित होती है। इसका अर्थ है कि taint daemon पुनरारंभ से बचती है -- पुनरारंभ से पहले CONFIDENTIAL थी session पुनरारंभ के बाद भी CONFIDENTIAL है।