# Configure data controls

> Choose how long each key’s requests are kept, and whether Eevo may learn from them.

## Per key: how long requests are kept

Each API key has a retention, set when you create it on **API keys** and changeable later: Not stored, 30 days, 90 days, 1 year or Unlimited. It covers the request, the answer, the metadata, chosen decision notes and revision notes. When it ends, the content is deleted; the time, model, tokens and cost stay for usage and billing.

- Use **Not stored** for sensitive integrations. The log then shows the decision without content, and the result view and PNG links are not available. One exception: a Default mode decision that is still running when the first response ends (202) keeps its answer until you fetch it once, or for one hour at the latest, then deletes it. It can be chosen once your organization has bought credit; until then, requests are stored.
- Use one key per integration, so each gets the retention it needs and can be revoked alone.

## Connector retention

MCP connectors signed in with OAuth (Claude, ChatGPT and other clients connected without a key) and the console's API playground have no key, so they use the organization's **connector retention**, set on **Data controls**. It takes the same values, "Not stored" again only once your organization has bought credit.

## Per organization: whether Eevo may learn

On **Data controls**, the training setting says whether Upright may use the requests and answers your organization stores to train future Eevo models, in anonymized form. Only content that is still stored is ever used: data from keys set to "Not stored" never is, even with the setting on, and nothing is used after it has been deleted. Turning it off applies to every decision from then on, and the console records each change.

## What is always kept

Usage data stays for billing and statistics whatever the retention: the time, model, tokens, cost, the best option per stakeholder, whether it was followed, and the kinds of things a revision missed. It holds no text from your request.
