> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uptopia.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Teams

> Owners, team members, roles, access control, and collaboration in UptopiaKit.

# Teams

Teams let you **share your app with other developers** and collaborate safely. Each app has one **App Owner** and a set of team members with roles that control what they can see and do.

## Limits

* You can add up to **30 team members per app**.
* There is **only one App Owner** — the creator of the app.

## Roles and permissions

* **Owner** (exactly one)
  * The user who created the app. **Full control**, including owner-only areas like Basic Settings.
  * Can manage statuses, manifests, version lifecycle, submissions, and team membership.
  * Note: If the app is set to **Inactive**, only the **Owner** can access it (see Basic Settings).

* **Admin**
  * **Full administrative permissions**: edit settings, add/remove members, manage App Events, submit the app for public review (Submissions), create IAP packages, and manage revenue (where available).

* **Developer**
  * Can **upload, view, and open versions in Development**.
  * Can **create and manage App Events**.
  * Cannot edit Basic Settings, cannot add members, and cannot perform Admin-only actions.

* **Tester**
  * Can **open versions in Testing** for verification.
  * Cannot upload or modify settings.

## Access and visibility

* **Released** versions are the only ones visible to the public. Everything else is private.
* **Development/Testing/Production** versions are accessible to the **Owner** and **Team Members** with the appropriate roles only.
* If an app is **Inactive**, versions cannot run and submissions are disabled; **only the Owner** can view app details.

See also: Versioning for how states affect access.

## Add a team member

Follow this flow to invite someone to your team:

1. Click **Add member**.
2. Search for the user by their **User ID** (the ID they shared with you).
   * If the user exists, you’ll see them in the search result.
   * If not, no result will be shown.
3. Select the **Role** for this app (Admin, Developer, or Tester).
4. Click **Invite**.

After sending the invite:

* The selected user will receive a **team invitation** notification.
* They can **Accept** or **Reject** the invitation.
* If they **Accept**, their profile and role are added to the app’s **Team Members** list.

## Security notes

* Team membership controls access to **non-public versions and assets**. Users only see what their role permits.
* All version assets are stored securely. **Only authorized team members can access them**; everything else remains private.

## Related topics

* Apps overview: [/kit/core-concepts/apps](/kit/core-concepts/apps)
* Versioning: [/kit/core-concepts/versioning](/kit/core-concepts/versioning)
* Submissions: [/kit/core-concepts/submissions](/kit/core-concepts/submissions)
* Basic Settings: [/kit/core-concepts/basic-settings](/kit/core-concepts/basic-settings)
