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.