> Documentation index: https://docs.beetl.io/llms.txt

# Retention and deletion

> How long each kind of data is kept, and what deleting removes.

Source: https://docs.beetl.io/security/retention-and-deletion/
Last updated: 2026-11-10

This page lists how long you can open each kind of data in Beetl, what deleting something in the
app removes, and how to have Beetl erase the data it holds for you.

## How long data is kept

| Data                                                                                           | Available for               |
| ---------------------------------------------------------------------------------------------- | --------------------------- |
| Query results, including pipeline previews, results from chat and MCP, and automation evidence | 7 days after the query ran  |
| Sync runs and their logs                                                                       | 30 days                     |
| Pipeline runs                                                                                  | No time limit               |
| Automation runs and reports                                                                    | No time limit               |
| App runs                                                                                       | No time limit               |
| Report documents (PDFs)                                                                        | Until you delete the report |
| Chat conversations, in AI Chat and in the sidebar                                              | Until you delete them       |
| API keys                                                                                       | Until you delete them       |
| Datasets, pipelines, automations, connections and File Sets                                    | Until you delete them       |

A query result cannot be pinned or extended, and a drill-down expires no later than the result it
came from. After 7 days the result no longer opens. An automation report keeps its link to each
result, but evidence older than a week will not open, so re-run the automation or the query before
you rely on an older number. Test runs from the automation editor keep no results. To keep a number
longer, write it to a dataset; datasets do not expire. See [Query results](https://docs.beetl.io/concepts/query-results)
and [Runs](https://docs.beetl.io/concepts/runs-and-jobs).

Each chat conversation belongs to the person who started it. **Delete** in the AI Chat list
removes a conversation and its Timeline permanently. **Clear** in the Assistant sidebar does the
same for the sidebar's conversation after you confirm. Query results the assistant produced keep
their own 7-day clock.

An API key works until you delete it in Settings → User. Delete keys you no longer use; see
[MCP setup](https://docs.beetl.io/mcp/setup).

## What deleting removes

Deleting in the app takes the item out of use. It never deletes files in your own bucket or data in
your own systems.

| You delete                       | What happens                                                                                                                                                        |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A dataset                        | It disappears from the app and its name is freed. Its files stay in storage. The output link that wrote to it is removed, and pipelines that read it start to fail. |
| A registered or external dataset | It is removed from Beetl. Your files and your database are never touched.                                                                                           |
| A sync                           | Its output link is removed and the dataset it wrote is kept.                                                                                                        |
| A File Set                       | Its file processors are deleted and the datasets they wrote are kept. Files uploaded to the set stay in storage.                                                    |
| A file processor                 | It stops processing. The dataset it wrote is kept.                                                                                                                  |
| A connection                     | Allowed once it has no syncs. A webhook connection stops accepting deliveries, and its dataset is kept.                                                             |
| A pipeline                       | It stops running and its generated pipeline document is removed. The datasets it wrote are kept.                                                                    |
| An automation                    | It stops running and leaves the Automations list. You cannot delete one while a run is in progress.                                                                 |
| An app                           | It stops running. Its output datasets are kept.                                                                                                                     |
| A report                         | It stops running and its documents are deleted.                                                                                                                     |
| A report template                | Reports that import it stop rendering until you replace it.                                                                                                         |
| An object store                  | Allowed once no dataset uses it. Beetl forgets the store and never deletes anything in the bucket.                                                                  |
| A chat conversation              | Deleted permanently, as described above.                                                                                                                            |
| An API key                       | Revoked at once. A client still using it gets `401`.                                                                                                                |

Because a deleted dataset's files stay in storage, deleting it in the app does not erase the data
in it. In your own bucket, delete the files there. For data in Beetl's hosted store, ask Beetl as
described below.

To stop publishing a column, write to a new destination and delete the old dataset; see
[Redact columns](https://docs.beetl.io/pipelines/redact-columns).

## Having data erased

Beetl erases stored data on request. To have Beetl erase the data it holds for your tenant, contact
Beetl. Do this when you leave Beetl, when a data subject asks you to delete their
personal data, or when data was loaded by mistake. Say which datasets or File Sets the request
covers, or ask for the whole tenant.

Data in your own bucket and your own systems stays under your control, so delete it there. That
includes the datasets Beetl wrote to a bucket you made the default store.

## Related

- [Query results](https://docs.beetl.io/concepts/query-results): The 7-day clock and who can open a result.

- [Runs](https://docs.beetl.io/concepts/runs-and-jobs): Where each kind of run history lives.

- [Datasets and tiers](https://docs.beetl.io/concepts/datasets-and-tiers): Soft delete and what happens to pipelines that read a deleted dataset.
