Bonnard

To control who can use your app in Claude, ChatGPT or another AI client, set its audience. Bonnard refuses a connection from anyone outside it, whichever AI client they use.

You choose the audience when you create an app, and change it on the app’s Overview tab.

Audience options

Audience options
AudienceWho can connect
InternalMembers of your workspace, whatever their role, signed in with their Bonnard account. No customer can.
All customersUsers of every customer on the Customers page, including customers you add later.
Specific customersUsers of the customers you select. A customer you add later is left out until you select it.

New apps on a No tenancy database start on Internal, so you can try one before any customer sees it.

On the production URL, members of your workspace sign in to Internal apps only. They test the others on the staging URL. An admin’s personal API key also works on an All customers app on a No tenancy database.

On a database with tenancy, each customer also needs a tenant (the value that marks its data in your database), set as its Tenant binding on Customers. Without one, its users get no data. The Audience card warns when a customer in the audience has none.

Change the audience

  1. In the console at app.bonnard.ai, open Apps, then your app.
  2. On the Overview tab, choose an option in the Audience card.
  3. For Specific customers, select each customer under Customers. Select all picks every current customer, and Clear empties the list.
  4. Select Save audience.

The change reaches both URLs at once, published or not. Anyone it leaves out is refused from their next call.

With no customers yet, the card shows No customers yet and an Add customer button.

Which audiences each database allows

The database’s tenancy decides which options the Audience card offers.

Audiences by database tenancy
Database tenancyAudiences offeredNew apps start on
No tenancy, any engineInternal, All customers, Specific customersInternal
Multi-tenant (RLS): PostgreSQL, Redshift, SQL ServerAll customers, Specific customersAll customers
Schema per tenant: PostgreSQL, Redshift. Database per tenant: ClickHouse, DuckDB / MotherDuck, MySQL / MariaDB, SQL ServerAll customersAll customers
Dataset per tenant: BigQueryCustomer access, set per customerCustomer access
PostHogInternalInternal

On a database with tenancy, every query runs as one customer, so Internal is not offered. Where one option is left, the audience is locked to it.

BigQuery with Dataset per tenant

Here a customer gets data only once you map it to a dataset. In the Audience card, under Per-customer dataset mapping:

  1. Select + Add customer and pick a customer with a tenant binding.
  2. Enter its dataset and service account, then select Save audience.
  3. Select Check credentials to test the saved service accounts.

Import mappings CSV saves many rows at once and checks them. Bonnard publishes the app only once at least one customer is mapped. Setting up the datasets: BigQuery.

When someone is not in the audience

The app refuses the connection with This MCP server is not available to you. Ask the server owner to add you to its audience. Each refusal shows as a denied call in Observability.

The App access column on Customers lists the published apps whose audience includes each customer.