## समग्र फ़्लो
## चरणबद्ध निर्देश
### 1. Client-Side Encryption
क्रेडेंशियल्स को ट्रांसमिशन से पहले आपके डिवाइस पर एन्क्रिप्ट किया जाता है। सादा‑पाठ (plaintext) सीक्रेट्स कभी भी नेटवर्क पर नहीं भेजे जाते।
### 2. एन्क्रिप्टेड क्रेडेंशियल्स के साथ अनुरोध
SDK आपके अनुरोध को एन्क्रिप्टेड क्रेडेंशियल्स के साथ Dedalus को भेजता है।
### 3. स्कोप्ड टोकन जारी करना
DAuth एन्क्रिप्टेड क्रेडेंशियल्स को स्टोर करता है और एक स्कोप्ड टोकन जारी करता है जो:
- विशिष्ट MCP सर्वरों से जुड़ा होता है
- आपके Client की कुंजी (DPoP) से क्रिप्टोग्राफिक रूप से जुड़ा होता है
- केवल अधिकृत ऑपरेशनों के लिए उपयोग किया जा सकता है
### 4. MCP सर्वर टोकन प्राप्त करता है
आपका MCP सर्वर scoped टोकन प्राप्त करता है और उसे DAuth की public keys के विरुद्ध सत्यापित करता है। सर्वर को कभी भी raw credentials दिखाई नहीं देते।
### 5. सीलबंद निष्पादन
जब MCP सर्वर को किसी बाहरी API (GitHub, Slack, आदि) को कॉल करने की ज़रूरत होती है, तो वह एक sealed enclave में डिस्पैच करता है:
- हार्डवेयर-समर्थित कुंजियों का उपयोग करके क्रेडेंशियल्स को डिक्रिप्ट करता है
- TLS कनेक्शन के माध्यम से बाहरी API को कॉल करता है
- केवल प्रतिक्रिया ही वापस भेजता है
- क्रेडेंशियल्स को तुरंत मेमोरी से पूरी तरह हटा देता है
## सुरक्षा गुण
| गुण | इसका अर्थ |
|---|---|
| Client-side encryption | क्रेडेंशियल्स आपके डिवाइस से बाहर भेजे जाने से पहले ही एन्क्रिप्ट हो जाते हैं |
| Scoped tokens | टोकन विशिष्ट सर्वर और कनेक्शन तक सीमित होते हैं |
| Sealed execution | डीक्रिप्शन आइसोलेटेड हार्डवेयर सीमाबद्ध वातावरण के अंदर होता है |
| Sender-constrained (DPoP) | चोरी किए गए टोकन निजी कुंजी के बिना बेकार होते हैं |
| No credential persistence | सीक्रेट्स आवश्यकता पड़ने पर ही डीक्रिप्ट होते हैं और उपयोग के बाद तुरंत हटा दिए जाते हैं |
## यह क्यों मायने रखता है
पारंपरिक आर्किटेक्चर में आपके एप्लिकेशन को क्रेडेंशियल्स को सीधे प्रबंधित करना पड़ता है:
## DAuth का उपयोग
इम्प्लीमेंटेशन से जुड़े विवरणों के लिए Authorization देखें:
AuthorizationConfigके साथ DAuth सक्षम करें- सर्वर स्तर और प्रत्येक tool के लिए scopes कॉन्फ़िगर करें
- अपने टूल्स में प्रमाणित उपयोगकर्ता के claims तक पहुँचें