# Security and governance

> Read-only from the first query, and a person decides what ships. Every call logged, the tenant from the sign-in, self-hosting on Enterprise.

Read-only from the first query, and a person decides what ships.

An agent saves a change to the draft. A person says "Looks right, publish it.", and the agent publishes it with `publish_draft`.

## Governance

- **Hosted and shared.** Share any chart or dashboard by link, with your team or customers.
- **Edit in Bonnard.** Edit saved dashboards in Bonnard’s web app.
- **A grant per data source.** Anyone without one is refused.
- **Every call, logged.** Who used it, when, which tools, and what failed, per data source and per customer.
- **Draft first.** A change sits in a draft nobody is served.
- **A person publishes.** Publishing from an AI client is off until an admin turns it on.

## Security

- **OAuth 2.1, PKCE mandatory.** Tokens are audience-bound per server.
- **Bring your own IdP.** OAuth, API keys or trusted JWTs. SSO supported.
- **AES-256-GCM at rest.** Credentials encrypted. API keys stored only as hashes.
- **Read-only.** SELECT statements only; on SQL Server, the login’s grants enforce it. SSL by default, from a fixed IP.
- **Set per database.** Row-level security, or a dataset or database per tenant.
- **Tenant from the sign-in.** An IdP sign-in maps to the right tenant. Scale and Enterprise plans.

## Every call, with who and when

Failed queries show where your data model needs work.

## Serve your customers

The tenant comes from the sign-in, never from the agent or the question. Every query runs under that tenant, with row-level security or a separate dataset or database per tenant.

| Engine | Row-level security | Dataset per tenant | Database per tenant |
| --- | --- | --- | --- |
| PostgreSQL | Yes | No | No |
| Redshift | Yes | No | No |
| SQL Server | Yes | No | No |
| Azure SQL Database | Yes | No | Yes |
| BigQuery | No | Yes | No |
| MySQL | No | No | No |
| ClickHouse | No | No | No |
| MotherDuck | No | No | No |
| PostHog | No | No | No |

## Self-hosted

On Enterprise: self-hosting, VPC or on-prem, with dedicated support and an SLA.

- Helm chart or Docker Compose
- Your Postgres, your network
- One organisation, closed sign-up
- Staff SSO

```bash
helm install bonnard ./charts/bonnard \
  --set bootstrap.ownerEmail=you@example.com \
  --set secrets.existingSecret=bonnard-secrets \
  --set imagePullSecrets[0].name=ghcr-pull
```

[Get in touch](/get-in-touch)

## Start scaling accurate data today

Free for your first 3,000 calls. No seat limits.
