Sessions और Taint
Sessions Triggerfish में वार्तालाप स्थिति की मूलभूत इकाई हैं। प्रत्येक session स्वतंत्र रूप से एक taint स्तर ट्रैक करती है -- एक वर्गीकरण वॉटरमार्क जो session के दौरान एक्सेस किए गए डेटा की उच्चतम संवेदनशीलता को रिकॉर्ड करता है।
Session Taint मॉडल
Taint कैसे काम करती है
जब कोई session किसी वर्गीकरण स्तर पर डेटा तक पहुँचती है, तो पूरी session उस स्तर पर tainted हो जाती है। Taint तीन नियमों का पालन करती है:
- प्रति-वार्तालाप: प्रत्येक session का अपना स्वतंत्र taint स्तर है
- केवल वृद्धि: Taint session के भीतर बढ़ सकती है, कभी कम नहीं हो सकती
- पूर्ण रीसेट सब कुछ साफ़ करता है: Taint और वार्तालाप इतिहास एक साथ साफ़ किए जाते हैं
सुरक्षा Taint को चुनिंदा रूप से कम नहीं किया जा सकता। पूरे
वार्तालाप इतिहास को साफ़ किए बिना session को "un-taint" करने का कोई तंत्र नहीं है। :::
Session प्रकार
| Session प्रकार | विवरण | प्रारंभिक Taint | पुनरारंभ के बाद बनी रहती है |
|---|---|---|---|
| Main | Owner के साथ प्राथमिक सीधी वार्तालाप | PUBLIC | हाँ |
| Channel | प्रति कनेक्टेड चैनल एक (Telegram, Slack, आदि) | PUBLIC | हाँ |
| Background | स्वायत्त कार्यों के लिए शुरू (cron, webhooks) | PUBLIC | कार्य की अवधि |
| Agent | Multi-agent रूटिंग के लिए प्रति-agent sessions | PUBLIC | हाँ |
| Group | Group chat sessions | PUBLIC | हाँ |
Background sessions हमेशा PUBLIC taint से शुरू होती हैं, parent
session के taint स्तर की परवाह किए बिना। :::
Taint वृद्धि उदाहरण
पूर्ण रीसेट तंत्र
Session रीसेट taint कम करने का एकमात्र तरीका है:
- Lineage रिकॉर्ड संग्रहीत करें -- session का सभी lineage डेटा ऑडिट storage में संरक्षित
- वार्तालाप इतिहास साफ़ करें -- संपूर्ण संदर्भ विंडो मिटाई जाती है
- Taint को PUBLIC पर रीसेट करें -- session ताज़ा शुरू होती है
- उपयोगकर्ता पुष्टि आवश्यक --
SESSION_RESEThook निष्पादन से पहले स्पष्ट पुष्टि आवश्यक
अंतर-Session संचार
| स्रोत Session Taint | लक्ष्य Session चैनल | निर्णय |
|---|---|---|
PUBLIC | PUBLIC चैनल | ALLOW |
CONFIDENTIAL | CONFIDENTIAL चैनल | ALLOW |
CONFIDENTIAL | PUBLIC चैनल | BLOCK |
RESTRICTED | CONFIDENTIAL चैनल | 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 है।
