Skip to main content

Teams

A team owns datasources and decides who can query them. Members of a team can query every datasource it owns; removing someone removes that access immediately. If two groups need different slices of the same database, give them separate teams with separate datasources and different exposure rules, rather than one shared team.

Datasources

A datasource is one database connection plus the rules describing what is visible through it. TeamDuo supports PostgreSQL, MongoDB, and BigQuery, connecting with a read-only credential you create. They share one exposure model and one guarantee, but they enforce it by genuinely different means — see Security model. Each source keeps its own vocabulary. What TeamDuo stores as one concept is reported as schema/table on PostgreSQL, database/collection on MongoDB, and dataset/table on BigQuery, so an agent is never told “schema” about a collection.

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. Exposure is enforced on every query, and a query referencing anything outside it is refused by name.

Documentation

Exposure decides what an agent may read; documentation decides whether it reads it correctly. TeamDuo profiles your data, drafts documentation per table, and serves what you publish to every agent querying that database. This is the part a competitor can’t replicate cheaply. A SELECT-only role takes an afternoon; knowing that status = 3 means refunded does not. See Documentation.

Artifacts

An artifact is a dashboard an agent writes, stored as queries and presentation, never rows. It runs its queries as whoever opens it, so it stays current and shows each viewer only what they’re allowed to see. See Artifacts.

Query enforcement

Every query is checked before it runs. A refusal names what was blocked — “table public.salaries is not exposed”, “this query would scan 42 GB, the limit is 1 GB” — because an agent that is told why corrects itself, and one given a generic error retries blind.

Audit

Every query is recorded with the datasource, the actor, the statement, the row count, and the duration — and never a cell of your data. Review the log after widening exposure, to see what the new surface is actually used for.
Exposure controls what agents can read, not what they can infer. Treat any column you expose as visible to everyone on the team.