# Settings and model keys

> The Settings screen holds what is yours across every agent: the model your acquire jobs run on, set by bringing your own provider key.

Source: https://docs.getgraft.ai/graft/console/settings-and-model-keys

**Settings** is the smallest screen in the console, and today it holds one card: **Your own model key**. Anything you set about yourself rather than about an agent or a connection goes here. Signing out is in the sidebar footer, beside your name.

## Your own model key

Graft's model authors tools in `acquire`. Which model that is depends on the deployment: Graft Cloud runs a fixed model on Graft's account, and a self-hosted Graft runs the provider and key its operator put in `.env`. A key you enter here overrides that for your jobs alone. When it is set, every `acquire` job of yours runs on your provider with your key, and the vendor documentation those jobs read goes to your provider rather than the deployment's. Without one, the deployment's fixed model authors for you.

The card shows *set* or *not set*. When a key is set it shows the provider, the authoring and triage model ids, the base URL if any, and the date the key was set. The key itself is never shown again after you enter it.

### Setting a key

Choose a **Provider**: *Anthropic*, or *OpenAI, or an OpenAI-compatible gateway*. Paste the **API key**; it is sent once, encrypted at rest, and never shown again. The two model fields are optional. **Authoring model** is the model that writes the tool; **Triage model** is the cheaper model that reads documentation first and never writes code. Left blank, each takes the provider's default: `claude-fable-5-1` and `claude-haiku-4-5-20251001` for Anthropic, `gpt-5.6-sol` and `gpt-5.4-mini` for OpenAI. For OpenAI a **Base URL** field appears; leave it blank for OpenAI itself, or give a gateway's URL to route through an OpenAI-compatible endpoint with the gateway's key.

**Set key** saves it, and your next `acquire` job runs on your provider. A model id Graft cannot check at save time fails the first job with the provider's own message, which `acquire_status` reports.

**Replace key** opens the form again with your provider and model ids filled and the key field empty. **Remove key** deletes it, and your jobs run on the deployment's fixed model again.

### What Graft does with it

The key is encrypted under your account, in a slot no connection can occupy, and stored as one row per person. Nothing on a request path can read it back: the console's own API answers the provider, the model ids and the date, never the key. The one place it is decrypted is the resolver that opens your `acquire` jobs, and it is handed your id and nothing else, so your key can only ever answer your jobs and never another person's.

> **Note**
>
> This is not the key a tool uses to reach a vendor. Vendor credentials are entered under **Connections** or through an agent's handoff, and are decrypted only in the proxy. The model key is what Graft's model authors with.

## Where next

- [Bring your own model key](https://docs.getgraft.ai/graft/cloud/bring-your-own-model-key.md): The same setting from Graft Cloud's side.
- [Configuration](https://docs.getgraft.ai/graft/self-hosting/configuration.md): The GRAFT_MODEL_* group a self-hosted deployment runs on when no personal key is set.
