> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elding.app/llms.txt
> Use this file to discover all available pages before exploring further.

# What Elding protects

> A key eventually leaks wherever it lives. Elding keeps it out of your application.

Your API keys are valuable: they provide access to OpenAI, Stripe, Resend, and other paid
HTTP services. The problem is that a key eventually **leaks from wherever it is stored**. Elding
keeps it outside your application, so there is **nothing there to steal**.

These are the leaks it prevents.

## 1. Your AI agent sees your keys

You code with Cursor, Claude Code, or Copilot. The AI reads your code, terminal, and logs.
If your key is present, **the AI can see it**, and it may end up in a prompt, history, or
another system.

<Check>With Elding, the AI only sees a `{{OPENAI_KEY}}` placeholder, never the real key.</Check>

## 2. You commit a key by mistake

The classic mistake is pushing a `.env` file to GitHub. Automated bots can find and steal
the key within minutes.

<Check>No `.env` file and no real key in your project means nothing sensitive to commit.</Check>

## 3. A compromised npm package steals your keys

You install a dependency that silently reads `process.env` and sends your keys to an
attacker-controlled server. This happens **in real incidents**.

<Check>The key is not inside your application, so the package finds nothing.</Check>

## 4. Your key appears in logs

A `console.log`, crash report, or monitoring service such as Sentry can write your key into
logs that many people can access.

<Check>Logs only capture the placeholder.</Check>

## 5. Your key is sent to the wrong destination

Malicious code could try to send your OpenAI key somewhere other than `api.openai.com`.
Without protection, the key could be exfiltrated.

<Check>Each key is locked to its domain. Sending it elsewhere is blocked.</Check>

## Summary

<Note>
  A key leaks from wherever it lives: a file, memory, or logs. Elding ensures it **does not
  live anywhere in your application**. A gateway injects it from the outside at the last
  moment. Regardless of who inspects your application, there is **nothing to see**.
</Note>

## What about when the gateway doesn't apply?

A few providers with special authentication (Twilio, Azure…) go through
[`secret()`](/en/sdk/secret): the key then enters memory for the duration of a call. You give up
zero-knowledge for that specific key, but it stays **centralized, rotatable, encrypted at rest,
audited, and wiped after 5 minutes** — far better than a `.env`. Every other provider keeps the
full protection of the gateway.

<Card title="How it works" icon="shield" href="/en/concepts/proxy">
  A simple explanation of the gateway.
</Card>
