allow
वे टूल जिन्हें आपने पहले से मंज़ूरी दी
Bash(git commit:*) जैसा नियम उस कमांड को बिना रुके जाने देता है। नियम कमांड पर ही लागू होता है। चलने के बाद वह कमांड जो खोलती है, वह इसके दायरे से बाहर है।
Claude Code
परमिशन सिस्टम तय करता है कि Claude Code कौन-से टूल चला सकता है। और वे टूल जहाँ तक पहुँच सकते हैं, वह है आपकी मशीन का हर सीक्रेट। Sallyport चाबियों को वहाँ ले जाता है जहाँ एजेंट उन्हें कभी नहीं पढ़ेगा।
जिस टूल की आपने अनुमति नहीं दी, उसे चलाने से पहले Claude Code पूछता है। नियम settings.json में allow, ask और deny सूचियों के रूप में रहते हैं, और उन्हें ठीक से सेट करना सार्थक है।
allow
Bash(git commit:*) जैसा नियम उस कमांड को बिना रुके जाने देता है। नियम कमांड पर ही लागू होता है। चलने के बाद वह कमांड जो खोलती है, वह इसके दायरे से बाहर है।
ask
डिफ़ॉल्ट स्थिति। Claude Code आपको टूल कॉल दिखाता है और रुक जाता है। आप एक कार्रवाई की समीक्षा कर रहे हैं, उसी क्षण, रात दो बजे जो भी संदर्भ आपके पास हो उसी के साथ।
deny
एक deny नियम Read टूल को ./.env से दूर रखता है। वह उसी फ़ाइल से किसी अनुमति-प्राप्त शेल कमांड को दूर नहीं रखता, और आपकी डिपेंडेंसी जो प्रोसेस शुरू करती हैं उन पर उसका कोई ज़ोर नहीं।
bypass
--dangerously-skip-permissions फ़्लैग सवाल को पूरी तरह हटा देता है। उसके लिए नीचे अलग सेक्शन है।
ये सारे नियम एजेंट के टूल पर लागू होते हैं। इनमें से कोई भी उस फ़ाइल पर लागू नहीं होता जिसे टूल पढ़ता है। आपके API टोकन .env में हैं, SSH की ~/.ssh में, और दोनों को आपकी पहचान से चल रही कोई भी प्रोसेस पढ़ सकती है, प्रॉम्प्ट हो या न हो।
लोग इसे अच्छे कारणों से चुनते हैं: लंबे रीफ़ैक्टर और रात भर चलने वाले रन, जहाँ एक कन्फ़र्मेशन डायलॉग का मतलब है काम सुबह तक ठप। यह जानना ज़रूरी है कि बदले में आपने क्या दिया।
Claude Code पहले भी आपकी फ़ाइलें पढ़ सकता था, आपका शेल चला सकता था और नेटवर्क तक जा सकता था। फ़्लैग वह ठहराव हटा देता है जहाँ आपको यह दिख जाता।
प्रॉम्प्ट एजेंट को .env खोलते हुए पकड़ने का एक मौक़ा था। वह फ़ाइल के चारों ओर दीवार कभी नहीं था। आपकी पहचान से चलने वाली कोई भी प्रोसेस उसे पढ़ सकती है, वह डिपेंडेंसी भी जिसे npm ने तब इंस्टॉल किया जब आप प्रॉम्प्ट पढ़ रहे थे।
किसी फ़ेच की गई पेज में एक प्रॉम्प्ट इंजेक्शन, किसी ट्रांज़िटिव डिपेंडेंसी में एक ज़हरीला README, और वे निर्देश ऐसे सेशन में आ गिरते हैं जिसके पास आपके क्रेडेंशियल हैं और कोई प्रॉम्प्ट बचा नहीं।
YOLO मोड आपसे भाँपने का मौक़ा छीन लेता है। चाबियाँ डिफ़ॉल्ट मोड में भी पहुँच में थीं।
सिक्योरिटी रिव्यू
Claude Code एक diff पढ़कर उसमें कमज़ोरियाँ बताएगा, और आपको यह करने देना चाहिए। वह काम उस कोड के बारे में है जो आप भेज रहे हैं। एजेंट खुद चलते हुए किस तक पहुँच सकता है, इस पर वह कुछ नहीं कहता, और यही इस पेज का विषय है। ये अलग-अलग समस्याएँ हैं, और एक को हल करने से दूसरी का कुछ नहीं होता।
क्रेडेंशियल Sallyport के पास रहता है और कॉल भी वही करता है। Claude Code एक कार्रवाई माँगता है और नतीजा वापस पाता है। उसके एनवायरनमेंट में कोई चाबी आती ही नहीं, इसलिए छूटे हुए प्रॉम्प्ट, ज़हरीली डिपेंडेंसी या इंजेक्ट किए गए निर्देश के पास ले जाने को कुछ बचता नहीं।
01
api.stripe.com पर http.request, या prod-03 पर ssh.exec। यह MCP से आता है, ठीक वैसे ही जैसे Claude Code कोई और टूल बुलाता है।
02
वॉल्ट बंद हो तो सब कुछ अस्वीकार। हर कॉल पर मंज़ूरी के लिए चिह्नित की हर बार एक कार्ड दिखाती है। बाकी हालात में हर एजेंट रन पर एक कार्ड, जिस पर कॉल करने वाले का कोड-साइनिंग अधिकार लिखा होता है।
03
क्रेडेंशियल ऐप के भीतर, निष्पादन के समय जुड़ता है। वह एजेंट के एनवायरनमेंट में नहीं जाता, और दूसरे होस्ट पर रीडायरेक्ट उसे साथ नहीं ले जाता।
04
कार्रवाई होते ही एन्क्रिप्ट और हैश-चेन। एजेंट के अपने बयान पर भरोसा किए बिना आप पता कर सकते हैं कि क्या चला।
उसके बाद Claude Code को जैसे चाहें चलाइए, प्रॉम्प्ट चालू रखें या बंद। जो फ़ैसला मायने रखता था, वह एजेंट से बाहर चला गया।
Sallyport मेन्यू बार में रहता है और वॉल्ट अपनी ही प्रोसेस में रखता है। न कोई डेमन, न कोई अकाउंट।
ऑनबोर्डिंग वॉल्ट बनाती है और उसका Touch ID गेट चालू कर देती है।
brew install --cask olegsotnikov/tap/sallyportClaude Code को इससे http.request, ssh.exec और वे सारे अपस्ट्रीम MCP सर्वर मिल जाते हैं जिन्हें आप Sallyport से गुज़ारते हैं।
claude mcp add sallyport -- /Applications/Sallyport.app/Contents/MacOS/sp mcpक्रेडेंशियल वॉल्ट में रखें, उसके होस्ट से बाँधें, और .env से हटा दें। जो डराते हैं उन्हें हर कॉल पर मंज़ूरी के लिए चिह्नित कर दें।
stripe → api.stripe.com · हर कॉल पर मंज़ूरीलगभग दो मिनट। उसके बाद आपको सिर्फ़ Sallyport के प्रॉम्प्ट दिखते हैं, और हर एक असली इन्फ़्रास्ट्रक्चर के बारे में होता है: यह चाबी, यह होस्ट, यह कॉल।
मुफ़्त डाउनलोड। Apple Silicon, macOS 14 या नया। कोई खाता नहीं, कभी नहीं।
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon