
Customer Assurance Operating System. अपने ग्राहकों द्वारा भेजी गई सुरक्षा प्रश्नावली का एक बार उत्तर दें।
अपने ग्राहकों द्वारा भेजी गई सुरक्षा प्रश्नावली का उत्तर, केवल एक बार दें।
हर कंपनी जो ग्राहक डेटा संभालती है, उसे बार-बार वही अनुरोध मिलते हैं: सुरक्षा प्रश्नावली, गोपनीयता मूल्यांकन, विक्रेता जोखिम समीक्षा, क्रय उचित परिश्रम, साक्ष्य अनुरोध। अधिकांश संगठन उनका उत्तर हाथ से देते हैं — ग्राहक से एक स्प्रेडशीट, नीतियों का एक फोल्डर, एक ईमेल थ्रेड, और किसी की स्मृति कि उन्होंने पिछली बार क्या कहा था।
CAOS इसे रिकॉर्ड की एक प्रणाली (system of record) में बदल देता है। प्रश्नावली संरचित, उत्तर देने योग्य कार्य बन जाती हैं। पूर्ण किए गए उत्तर और आपके अनुपालन दस्तावेज़ एक खोजने योग्य, उद्धरण योग्य संग्रह (corpus) बन जाते हैं। अगली प्रश्नावली उसी से शुरू होती है जो आप पहले कह चुके हैं, जिसमें हर दावा उस दस्तावेज़ या पिछले उत्तर पर वापस खोजा जा सकता है जिससे वह आया था।
यह सेल्फ-होस्टेड है। आपकी नीतियाँ, आपके उत्तर, और आपके ग्राहकों की प्रश्नावली आपके इंफ्रास्ट्रक्चर पर ही रहती हैं।
स्थिति: v0. CAOS प्रोडक्शन में चलता है, लेकिन यह रिपॉज़िटरी हाल ही में सार्वजनिक हुई है। इंटरफ़ेस, स्कीमा, और कॉन्फ़िगरेशन अभी भी बदल रहे हैं। बाहरी योगदान अभी खुले नहीं हैं — योगदान देखें।
बिना अनुमान लगाए प्रश्नावली पढ़ता है। ग्राहक की XLSX अपलोड करें और CAOS उसे सटीक रूप से प्रस्तुत करता है — शीट, पंक्तियाँ, सेल, छिपे हुए कॉलम, वैलिडेशन ड्रॉपडाउन। फिर आप चिह्नित करते हैं कि कौन-सी पंक्तियाँ उत्तर योग्य हैं और कौन-से सेल भरने हैं, रेंज में, एक-एक करके नहीं। कोई प्रति-ग्राहक पार्सर नहीं है, क्योंकि कोई मानक नहीं है: एक बोल्ड पंक्ति प्रश्न हो सकती है, एक खाली कॉलम उत्तर का लक्ष्य हो सकता है, और हर ह्यूरिस्टिक जो एक वर्कबुक को सही ढंग से समझती है, दूसरी को पूरे विश्वास के साथ गलत समझती है।
आपके पहले से पूरे किए गए कार्य से एक संग्रह (corpus) बनाता है। प्रश्नावली बंद करने पर उसकी उत्तरित पंक्तियाँ पुनः प्रयोग योग्य प्रश्नोत्तर (Q&A) के रूप में प्रकाशित होती हैं। अपलोड की गई नीतियाँ, प्रमाणपत्र, और रिपोर्ट उद्धरण योग्य अनुच्छेद बन जाते हैं। दोनों अपरिवर्तनीय रूप से संस्करणबद्ध हैं, इसलिए पिछली तिमाही में भेजा गया उत्तर आज भी उस दस्तावेज़ के संदर्भ में स्वयं को स्पष्ट करता है जो तब प्रचलित था।
सही पिछला उत्तर ढूँढता है। रिट्रीवल लेक्सिकल और सिमेंटिक खोज को एक साथ चलाता है, उनकी रैंकिंग को मिलाता है, और शीर्ष उम्मीदवारों को फिर से रैंक करता है। अनुपालन भाषा को दोनों की आवश्यकता होती है: सटीक टोकन जैसे "SOC 2 Type II" जिन्हें एम्बेडिंग धुंधला कर देती हैं, और पर्यायवाची भाव जिन्हें कीवर्ड खोज पूरी तरह से चूक जाती है।
आधारित (grounded) उत्तरों का मसौदा तैयार करता है। वैकल्पिक। मॉडल आपके संग्रह को सीमित, अनुमत-सूचीबद्ध (allow-listed) टूल के माध्यम से खोजता है और उद्धरणों के साथ उत्तर का मसौदा तैयार करता है — साथ ही एक लेबल जो बताता है कि उसका अधिकार कहाँ से आया: Knowledge grounded, Mixed, General guidance, या Based on current answer। एक General guidance उत्तर आपके संगठन के बारे में कोई दावा नहीं करता, और ऐसा कहता भी है।
Google Chat में उत्तर देता है। एक /ciso स्लैश कमांड उसी आधारित संग्रह तक पहुँचता है, जिसमें वेब ऐप में एक स्थायी बातचीत में वापस जाने का लिंक होता है।
ग्राहक की अपनी वर्कबुक में वापस निर्यात करता है। उत्तर मूल फ़ाइल संरचना में, आपके द्वारा मैप किए गए सेल में लिखे जाते हैं — न कि उसके CAOS-आकार के अनुमानित रूप में।
सब कुछ रिकॉर्ड करता है। डेटाबेस-लागू अपरिवर्तनीयता के साथ एक append-only ऑडिट लॉग, जिसमें उत्तरों के सटीक पहले-और-बाद के मान होते हैं।
CAOS नौ डोमेन मॉड्यूल में व्यवस्थित है। उनमें से तीन — Evidence, Knowledge, और Tasks — वैश्विक हैं: वे प्रोजेक्ट्स के स्वामित्व में नहीं हैं, क्योंकि उनका मूल्य एंगेजमेंट्स के बीच फैलने से आता है।
| मॉड्यूल | स्वामित्व | दस्तावेज़ |
|---|---|---|
| Identity | Auth मोड, सत्र, भूमिकाएँ, उपयोगकर्ता, बाहरी विषय बाइंडिंग | दस्तावेज़ |
| Projects | एंगेजमेंट कंटेनर; क्लोज़ कैस्केड | दस्तावेज़ |
| Questionnaires | वर्कबुक पढ़ना, पंक्ति मैपिंग, उत्तर देने का कार्यक्षेत्र, निर्यात | दस्तावेज़ |
| Evidence | पुनः प्रयोग योग्य अनुपालन आर्टिफैक्ट्स का वैश्विक भंडार | दस्तावेज़ |
| Knowledge | स्रोत, अनुच्छेद, एम्बेडिंग, रिट्रीवल, बहिष्करण, उद्धरण | दस्तावेज़ |
| AI | CISO वार्तालाप, जनरेशन, ग्राउंडिंग लेबल | दस्तावेज़ |
| Chat | Google Chat सत्यापन, पहचान बाइंडिंग, डिलीवरी | दस्तावेज़ |
| Tasks | मॉड्यूलों में अनुरोधित मानव कार्य | दस्तावेज़ |
| Audit | Append-only ईवेंट लॉग | दस्तावेज़ |
Internet
│
┌─────┴─────┐
│ nginx │ TLS · static frontend · /api proxy
└─────┬─────┘
┌──────────────┼──────────────┐
│ │ │
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴──────┐
│ Frontend │ │ API │ │ Taskiq │
│ React │ │ FastAPI │ │ workers │
│ static │ │ :18800 │ │ │
└───────────┘ └─────┬─────┘ └─────┬──────┘
│ │
┌─────┴──────────────┴─────┐
│ │
┌─────┴──────┐ ┌──────┴─────┐
│ PostgreSQL │ │ Redis │
│ pgvector │ │ queue+cache│
└────────────┘ └────────────┘
│
┌─────┴─────┐
│ Providers │ Bedrock · local models · Google Chat
└───────────┘
बैकएंड — Python 3.12+, FastAPI, SQLAlchemy 2 async, PostgreSQL with pgvector, Redis, Taskiq वर्कर्स। प्रत्येक मॉड्यूल domain → application → infrastructure → presentation में विभाजित होता है, एक-दिशीय निर्भरताओं के साथ। domain किसी पर निर्भर नहीं करता।
फ्रंटएंड — React 19, TypeScript, Vite, Tailwind v4, shadcn/ui, Zustand। ऐप-व्यापी सत्र और शेल स्थिति src/app में रहती है; फीचर और सर्वर-कैश स्थिति फीचर स्टोर्स में रहती है; लंबे समय तक चलने वाले पेज वर्कफ़्लो फीचर कंट्रोलर्स में रहते हैं।
दोनों रिट्रीवल चैनल PostgreSQL में रहते हैं। कोई अलग वेक्टर डेटाबेस नहीं है — एक स्टोर का अर्थ है एक ट्रांजैक्शन सीमा और एक बैकअप।
बाहरी विक्रेताओं को दूर रखा जाता है। हर एकीकरण एक Platform Protocol (जो CAOS अपेक्षा करता है, उत्पाद भाषा में), एक Adapter Protocol, और एक Vendor Implementation को अलग करता है — यह एकमात्र परत है जो SDK आयात करती है। यही कारण है कि एम्बेडिंग और रीरैंकिंग पिन किए गए स्थानीय मॉडलों पर या Bedrock पर चलती हैं, बिना किसी एप्लिकेशन कोड के जो जानता हो कि कौन-सा।
विवरण: आर्किटेक्चर · एकीकरण सीमाएँ
एक दस्तावेज़ खोजने योग्य बन जाता है। अपलोड → अपरिवर्तनीय संस्करण → टिकाऊ इंजेशन जॉब → कमिट → वर्कर को भेजना → ≤1,500 वर्णों के अनुच्छेद निकालना, प्रत्येक में एक उद्धरण लोकेटर (PDF पृष्ठ, DOCX अनुच्छेद, XLSX शीट/पंक्ति/सेल) रखते हुए → एम्बेडिंग उत्पन्न करना → खोजने योग्य। जॉब भेजने से पहले कमिट करता है, इसलिए कतार विफलता एक अदृश्य लंबित पंक्ति के बजाय दृश्यमान पुनः प्रयास योग्य स्थिति बन जाती है।