Skip to content
Shortspan

Search documentation

Find a page by title, section, or summary.

Access requests

Asking for temporary access, approving it, and what happens when the clock runs out.

Why time-boxed access

Standing production access is the thing worth avoiding. It accumulates: someone needs it once for an incident, nobody remembers to take it away, and eighteen months later half the team can reach production and nobody can say why.

An access request asks for one project, for a stated reason, for a bounded number of hours. Approval creates a grant that expires on its own, so nothing has to be revoked by hand and nothing is forgotten.

Requesting

Access → Request access, or from the CLI:

bash
shortspan access request \
  --reason "Investigating the 502s reported in INC-441" \
  --duration 4

Duration accepts 1, 2, 4, 8, 24, 48, or 72 hours and defaults to 8. A reason is required - an access request with no stated reason cannot be reviewed, only rubber-stamped.

Approving and denying

Project approvers are notified by email as soon as a request is submitted. They review it under Access, or from the CLI:

bash
shortspan access list
shortspan access approve <request-id>
shortspan access deny <request-id>

Approving creates a temporary grant scoped to the project, expiring at the requested time. Denying closes the request; the requester is notified either way, so nobody is left waiting on a decision that has already been made.

A requester cannot approve their own request. Both the decision and the identity of whoever made it are recorded permanently.

Expiry

A scheduled job runs every five minutes and expires grants whose time has passed. Reminders go out before a grant lapses, so nobody is cut off mid-incident with no warning.

Expiry ends the elevation only. Work already done is not undone, and audit entries from the grant period remain - which is the point of having recorded them.

Availability

Access requests and approval workflows are a Team plan feature. On Free and Pro - both single-seat tiers - there is nobody to request access from, so the workflow does not apply.

Something here wrong or missing? Tell us.