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

# Accuracy and trust

> How Basedash generates answers, shows its work, and keeps your data safe

Basedash answers questions by running real SQL against your data, and it shows you every query it ran. This page explains how answers are generated, how to check them, and what the AI can and can't do.

## How answers are generated

When you ask a question in [chat](/docs/features/chat), Basedash gives the AI:

* The schema of each [data source](/docs/data-sources/introduction) you can access, including table and column descriptions from your database or dbt
* Your organization's [models](/docs/features/models), with their measures, segments, and verification status
* [AI context](/docs/features/ai-context) for your organization, your groups, and you
* The names of your [skills](/docs/features/skills), which the AI loads when they're relevant
* Existing charts and dashboards it can reuse

The AI then writes SQL, runs it against your live data, reads the results, and repeats until it can answer. Numbers in an answer come from those query results, not from the model's memory.

## Check the work

Every answer shows what the AI did:

* **Progress steps** show each action while the AI works, such as "Reading Revenue model" or "Reading Activation rate skill".
* **Sources** lists every query, with the data source, the row count, a preview of the results, and the full SQL.
* Charts keep their SQL, so you can open the chart editor and change the query.

If an answer looks wrong, check the SQL in **Sources** first. Most wrong answers come from a wrong assumption, such as which table holds revenue or which statuses count as active. Fix it for next time with a [model](/docs/features/models) or [AI context](/docs/features/ai-context).

## Use verified definitions

[Models](/docs/features/models) are the most reliable way to make answers consistent. When a model defines a metric like monthly recurring revenue, the AI queries the model instead of writing its own version. Admins can mark models as verified, and the AI prefers verified models when more than one could answer a question.

Use [AI context](/docs/features/ai-context) for terminology and rules, and [skills](/docs/features/skills) for repeatable analysis methods. If you tell the AI something in a conversation that conflicts with a skill, your instruction wins.

## Read-only by default

The AI's regular queries are read-only. It can only change data in one case, and only with your approval:

* The data source is Postgres, Redshift, or Supabase.
* You have **Can edit** access to the data source. See [data source access control](/docs/administration/data-source-access-control).
* The data source has no schema-, table-, or column-level access rules.
* You're chatting in the Basedash web app. Changes can't be made from Slack, the API, or automations.

When those conditions are met, the AI can propose a single `INSERT`, `UPDATE`, or `DELETE` statement. Basedash checks the statement, then shows an approval card with the data source, a description of the change, and the exact SQL. Nothing runs until you click **Approve and run**. Every approved change is recorded in the [audit log](/docs/administration/audit-logs).

To keep a data source strictly read-only, give members **Can view** access only, or connect it with a database user that has read-only permissions.

## Your data access applies

The AI works with the same data access as the person asking:

* [Data source access control](/docs/administration/data-source-access-control) decides which data sources, schemas, tables, and columns the AI can query for you.
* [Row-level security](/docs/administration/row-level-security) filters the rows it sees.
* [Data visibility](/docs/administration/data-visibility) hides schemas, tables, and columns from the AI for everyone.

[Insights](/docs/features/insights) and [automations](/docs/features/automations) run without anyone present, so they use the data access of a specific member. Each page explains which one.

## How your data is handled

Basedash sends table and column names, AI context, and query results to its AI providers to generate answers. Neither Basedash nor its AI providers use your data to train models. See [Security and compliance](/docs/administration/security#ai-data-usage-and-privacy).

## FAQ

<AccordionGroup>
  <Accordion title="How can I be confident the numbers in chat aren't made up?">
    Every number comes from a query that Basedash ran against your data. Open
    **Sources** under the answer to see each query and its results. Basedash
    also evaluates every new AI model release against its own benchmark before
    using it.
  </Accordion>

  <Accordion title="The AI picked the wrong table. How do I fix it for everyone?">
    Create a [model](/docs/features/models) for the metric and have an admin verify
    it, or add [AI context](/docs/features/ai-context) to the table that explains
    what it contains and when to use it.
  </Accordion>

  <Accordion title="Can the AI delete or change data without asking?">
    No. Regular queries are read-only. Changes need an approval in the web app,
    edit access to the data source, and a supported database. See [Read-only by
    default](#read-only-by-default).
  </Accordion>

  <Accordion title="Can the AI see data I don't have access to?">
    No. The AI uses your data access, including object-level access rules and
    row-level security.
  </Accordion>
</AccordionGroup>

## Related

* [Chat](/docs/features/chat)
* [Models](/docs/features/models)
* [Data source access control](/docs/administration/data-source-access-control)
* [Security and compliance](/docs/administration/security)
* [BI Bench on basedash.com](https://www.basedash.com/bi-bench)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.