Every registered app declares a scope level — personal,
organization, or both — and an organization install policy. Personal
installs always remain personal. An app may require every organization install to be organization-wide;
in that case the dialog states the fixed outcome instead of asking an invalid “me or everyone” question.
Choose where this app is installed.
The personal destination remains available. Because this app fixes
organization installs to everyone, there is no data-group="mode"
selector to imply that an organization-only self install is valid.
Choose where this app is installed.
A plain member cannot downgrade the organization policy to “install for me.” The write stays disabled while the organization destination is selected; choosing the still-available personal destination is the safe alternative.
Installing into Northwind Labs.
The self/everyone selector exists only for apps whose organization install policy explicitly permits both modes. It is not shown for organization-wide-only apps.
This app installs to your personal space. Only you will see it.
A single-scope app asks nothing. The dialog still confirms, because installing is a write the user should acknowledge.
Installed for everyone in Northwind Labs by Ada Rivera.
Install is idempotent per target, so re-opening shows the existing installation and offers the reverse action instead of a second install.
| App scopeLevel | Org policy | Requested scope | Mode | Outcome |
|---|---|---|---|---|
both | everyone | personal | self | Installed for the caller; org policy does not affect personal space. |
both | everyone | organization | everyone | Requires owner or admin, else 403. |
both | everyone | organization | self | 422 — organization policy does not permit a single-member install. |
both | both | organization | self | Requires active membership. |
both | both | organization | everyone | Requires owner or admin, else 403. |
personal | — | organization | — | 422 — scope not permitted for this app. |
organization | any | personal | — | 422 — scope not permitted for this app. |
| any | any | any | any | App not visible to the caller → 404, never 403 (id probing). |
visibility, org membership and
Permit still gate what a user may see and do; scope decides only where an app lands.[data-dialog='install-app'] · [data-scope-level] ·
[data-organization-install-mode='everyone'|'both'] ·
[data-scope='personal'|'organization'] · [data-mode='self'|'everyone'] ·
[data-guard='organization-wide'|'requires-org-admin'|'already-installed'] ·
[data-action='install'|'uninstall'|'cancel'].