Skip to content

Team terminology

"Team" means three unrelated things here. Decide which one you mean before writing code that says team.

If you mean Use Where it lives
A Keycloak service account on the session SessionTeam UserSession.teams
The people responsible for a product today contact fields and members on each product document
A team of people as a record Team does not exist yet

1. SessionTeam is a service account, not people. A composite type on UserSession holding a clientId and roles, populated in app/core/auth-options.ts from access token entries prefixed z_pltsvc-tsa-. It was called Team until this name was needed for meaning 3. See service accounts.

2. Product contact fields are where a product's real people live today. On each product: projectOwnerId, primaryTechnicalLeadId, secondaryTechnicalLeadId, expenseAuthorityId (public cloud only), and a members array. Access to a product is decided from these fields.

3. Team does not exist yet. Planned work adds Team, System, and Resource joined by typed relationships. Until then, meaning 2 is the system of record for people.