# API Keys, Environment Variables और सुरक्षित setup — Claude API / OpenAI API की बुनियाद

Source: https://www.geekswithgeeks.com/hi/llm-apis/b-keys

> Keys बनाएँ, रखें और बिना लीक किए उपयोग करें।

## Key क्रेडिट कार्ड जुड़ा password है

**API key** आपके account की पहचान और बिलिंग करती है। जिसके पास है वह आपका पैसा ख़र्च और डेटा तक पहुँच सकता है, इसलिए इसे password की तरह मानें। नियम: प्रति application और परिवेश **अलग keys** बनाएँ; keys **environment variables** या **secrets manager** में रखें, source code, notebooks, screenshots या chat संदेशों में कभी नहीं; **browser या mobile apps में keys कभी न भेजें** (API अपने backend से बुलाएँ जो आपके users को authenticate करे); provider console में **ख़र्च सीमाएँ और alerts** लगाएँ; keys को निर्धारित समय पर और लीक की आशंका पर तुरंत **rotate** करें; और `.env` को `.gitignore` में जोड़ें। SDKs मानक variables (जैसे `ANTHROPIC_API_KEY` और `OPENAI_API_KEY`) स्वतः पढ़ते हैं, इसलिए आप कोड में key कम ही लिखते हैं।

## Key सुरक्षित पढ़ना (उदाहरण)

Variable ग़ायब हो तो साफ़ संदेश के साथ जल्दी विफल हों। यहाँ चलाया नहीं गया क्योंकि इसे आपका असली environment चाहिए।

```python
import os, sys

key = os.environ.get("ANTHROPIC_API_KEY")
if not key:
    sys.exit("ANTHROPIC_API_KEY is not set. Export it or load it from your secrets manager.")

# Never print the key. If you must log it for debugging, show only a prefix/suffix:
print("key loaded:", key[:4] + "..." + key[-2:])
```

## लीक हुई key: मिनटों में कार्रवाई करें

पहले console में उसे रद्द करें, नई बनाएँ, फिर दुरुपयोग के लिए usage logs देखें। Commit हटाना काफ़ी नहीं क्योंकि key पहले ही कॉपी हो चुकी हो सकती है।

**Quiz:** Web application में API key कहाँ रहनी चाहिए?

- [x] आपके backend में, environment variable या secrets manager में
- [ ] Browser JavaScript में
- [ ] सार्वजनिक GitHub repository में
- [ ] Page HTML comments में

*Answer:* आपके backend में, environment variable या secrets manager में. Client को भेजी कोई भी चीज़ निकाली जा सकती है; keys server-side रखें।
