> For the complete documentation index, see [llms.txt](https://docs.superuser.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.superuser.app/agents/getting-started-with-agents/secrets-and-security.md).

# Secrets and security

Some tools require **secrets** like API keys or database passwords in order to be used correctly.

* Only **open source** tools can request secrets
* You can **always** inspect the code that you share your secrets with
* If package code changes, **your installation will be invalidated**, so your agent will **never** run untrusted code with your secrets
* Secrets are stored on an **API keychain** which only exposes secrets **specifically requested** by the tool, which is set by the developer.

To manage secrets, first find a package that requires secrets like **PostgreSQL**:

<figure><img src="https://2741000272-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo83iXdlzzJ0kHPTlJw9I%2Fuploads%2FzstGMCfkRHYOwBQRSAwP%2FSCR-20260407-bsay.png?alt=media&amp;token=11c47828-052a-40c3-9976-6d2b349cedb6" alt=""><figcaption></figcaption></figure>

Click **\[ Install ]**. If the package requires secrets, a new **Keychain** tab will appear:

<figure><img src="https://2741000272-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo83iXdlzzJ0kHPTlJw9I%2Fuploads%2F75tpYqi68373KPDnHkwW%2FSCR-20260407-bskc.png?alt=media&amp;token=afaf986a-5849-4e94-9e7d-f89b9bbaecb8" alt=""><figcaption></figcaption></figure>

Click this tab to view your API keychain.

<figure><img src="https://2741000272-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo83iXdlzzJ0kHPTlJw9I%2Fuploads%2FZ0nBpzMScDxnqhdPlfq7%2FSCR-20260407-bthq.png?alt=media&amp;token=b9078b42-7269-49af-aa7d-6b401e0aac50" alt=""><figcaption></figcaption></figure>

Here you can save your secrets. **If a secret is not required, just save the empty textbox**. For example, in the PostgreSQL example above, PG\_SSH\_TUNNEL\_URL and PG\_SSH\_TUNNEL\_PRIVATE\_KEY can be saved as empty strings if the connection URL does not require a proxy.
