Skip to content
OpenAppPhysical access, simplified
Login

No transitive delegation

Type
no_transitive_delegation
Category
Sharing
Enforced at
Authoring-time
Tiers
OrgIntegrationDevice
Enforcement
Enforce
Default
Not configured — ordinary role and user_sharing rules apply.

Tightens who may delegate. Creating an invitation requires org admin or apartment admin. Vendor users_admin writes except list require org admin. Runs in addition to user_sharing — both must pass.

When it is enforced

Evaluated when someone creates or updates an invitation, hold, or share. Requests that would exceed the limit are rejected — they are not silently rewritten.

Where to set it

Settings → Policies (org), the integration Policies tab, or — on PalGate — the device steward Policies tab.

Policies never grant access. See thepolicies architecture guidefor how org, integration, and device tiers combine.

Arguments

The config object on create/update. Shared row fieldsenforcement (enforce, require_approval,audit_only) and enabled apply to every type;audit_only and disabled rows never block.

NameTypeRequiredValuesDescription
applies_tostring or string[]No
agentapi_keyinvitationmemberresidentadminall
Principal kinds this row binds. Closed set: agent, api_key, invitation, member, resident, admin, all. Unknown strings and empty arrays are rejected. `all` matches every kind. When omitted, the type-specific default applies (see Default). Device-tier rows without `applies_to` often bind everyone, including admins. Default: Type-specific; org/integration rows often bind residents, not generic members.
outputstring or integerNoOptional channel or output id. When set, the policy binds only that output. When omitted, it binds every output of the tier target. A scoped row does not apply when the acting output is unknown.

How overlapping rows combine

Boolean OR across applicable enforcing rows. Compose with user_sharing.

Example

A member with users_admin cannot add a gate user unless they are an org admin. Listing users is still allowed.

config
{}

Integrations

This type is documented on these connectors:

The OpenAPI contract names this object InvitationAuthoringPolicyConfig:

{
"output": "main"
}

Only the optional applies_to and output scope fields are accepted; {} is valid. The policy limits invitation and vendor-user delegation without granting any role.