Skip to main content

Teams

A team is the unit of ownership and access. Datasources belong to a team, and only members of that team can query them. Moving a datasource between teams changes who can reach it.

Datasources

A datasource is one database connection plus the rules describing what is visible through it. TeamDuo connects with read-only credentials; it issues SELECT statements and nothing else.

Exposure

Exposure is the explicit list of tables and columns an agent may read. Nothing is visible by default — a newly connected datasource exposes nothing until someone chooses what to share. Alongside each exposed table and column, teams can record notes: what the table represents, which column is the real join key, what a status value means, which rows are test data. These notes travel with describe_datasource, so an agent reads them before writing SQL.

Query enforcement

Every query is checked against the exposure rules before it runs. A query that references an unexposed table or column is refused, with an explanation naming what was blocked. Refusals are informative by design — the agent is expected to narrow the query, not to retry it unchanged.
Exposure controls what agents can read, not what they can infer. Treat any column you expose as visible to everyone on the team.