Skip to content
OpenAppPhysical access, fully managed
Login

Anti-tailgating cooldown

Type
anti_tailgating_cooldown
Category
Agent safety
Enforced at
Access-time
Tiers
OrgIntegration
Enforcement
Enforce
Default
Not configured — no per-door cooldown after a successful open.

Records the last successful open per entity and denies another open until cooldown_seconds have passed. Combination takes the maximum cooldown. By default every principal except organization admins is bound; admins are bound only when applies_to includes admin. Active emergency free egress skips this deny. Disabled rows never block.

When it is enforced

Evaluated when someone opens a door or gate or triggers an entity action. If this policy applies, the open is denied even when roles and grants would otherwise allow it.

Where to set it

Settings → Policies (org) or the integration Policies tab.

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

Arguments

The config object on create/update. Row fields outsideconfig are enforcement (this type acceptsenforce; any other value is rejected with 400), enabled (disabled rows never apply), and capability.

NameTypeRequiredValuesDescription
cooldown_secondsintegerYes—Minimum seconds between successful opens of the same entity. Integer from 1 through 31536000.
applies_tostring[]No
agentapi_keyinvitationmemberresidentadminall
Principal kinds this row binds, as a non-empty array of agent, api_key, invitation, member, resident, admin, all. Other kinds, a bare string, and empty arrays are rejected. `all` matches every kind this policy can bind. A caller is every kind it is at once, and a row binds when any of them is listed. When omitted, the default applies. Default: Everyone except admins: a caller who is an admin is not bound unless applies_to names admin.

How overlapping rows combine

Most-restrictive: maximum of cooldown_seconds across applicable rows. Disabled rows never block.

Example

A guest who just opened the lobby cannot open it again for 15 seconds. An org admin still can. Emergency free egress skips the wait.

config
{
"cooldown_seconds": 15
}

Integrations

This type is documented on these connectors: