figma guide
Designing privileged access management and JIT access UI in Figma: requests, approvals, and handoff
Design privileged access management and just-in-time access UI in Figma with elevation requests, time-bound grants, approval chains, session recording, and Dev Mode specs for enterprise Security admin.
- Published
- Updated
- Jul 21, 2026
- Read time
- 7 min
- Level
- Intermediate
Quick answer
Privileged access management (PAM) UI lets members request temporary elevation—not carry standing admin rights—and gives Security teams approval, time limits, and audit trails. Design a request form with resource, role, duration, and business justification; approval queue for Security Admin or manager sign-off; active elevation panel showing expiry countdown and scoped permissions; session context (IP, device, MFA re-auth); and auto-revoke when the window closes. Start from the Figma guides hub and pair with break-glass, team roles, access review, active sessions, and Dev Mode handoff.
Who this is for
- Product designers building elevation request flows, approval queues, and time-bound grant dashboards for enterprise IAM and Security admin consoles.
- Design system teams aligning elevation status badges with badges, modals, and progress indicators.
- Engineers implementing JIT grants, approval routing, MFA step-up, and automatic de-elevation tied to SCIM or internal RBAC.
Standing access vs JIT elevation
| Model | When to use | UI emphasis |
|---|---|---|
| Standing role | Daily job function (Billing Admin for finance) | Team roles assignment |
| JIT elevation | Infrequent production change, one-off admin task | Request → approve → time box → auto-revoke |
| Break-glass | Outage, approver unavailable | Emergency access with post-incident review |
AccessModelDecision
├── Daily admin work? → Standing role + quarterly [access review](/designing-access-review-and-certification-campaigns-ui-in-figma/)
├── One production deploy? → JIT elevation · 2 hours · Security Admin approval
└── Production down, on-call only? → Break-glass · 4 hours · mandatory post-review
Verdict: PAM UI should make JIT the default path for production and org-admin actions—standing privileged roles become the exception that triggers stronger certification campaigns.
Elevation request form (member view)
Members request elevation from settings or inline when blocked:
ElevationRequestForm
├── Resource: Production environment · Admin console · Billing API
├── Requested role: Production deploy · Security Admin · Billing write
├── Duration: ○ 1h ● 2h ○ 4h ○ Custom (max 8h)
├── Justification (required): Deploy hotfix INC-4821 — rollback auth service
├── Ticket link (optional): JIRA-9284
└── [ Submit for approval ] [ Cancel ]
| Field | Why it matters |
|---|---|
| Resource scope | Limit blast radius—one app, one env, not whole org |
| Duration cap | Prevents indefinite elevation; show org max (e.g. 8h) |
| Justification | Audit evidence; reject vague “need admin” |
| Ticket link | Ties elevation to change management |
| MFA step-up | Re-auth before submit—pair with 2FA settings |
Show what you already have vs what you’re requesting—avoid duplicate standing roles in the queue.
Link blocked actions inline: “You need Production deploy for 2 hours · [ Request elevation ]“—same pattern as session timeout re-auth.
Approval queue (Security Admin)
ApprovalQueue
├── Header: Elevation requests · 4 pending · 2 expiring today
├── Filters: Pending · Approved · Denied · Active · Expired
└── Row: Alex Chen · Production deploy · 2h · INC-4821 · Submitted 8m ago · [ Review ]
| Column | Content |
|---|---|
| Requester | Member, department, manager |
| Resource + role | Scoped entitlement being requested |
| Duration | Requested window; show org policy max |
| Justification | Business reason + ticket |
| Risk signals | New device, IP outside allowlist, contractor |
| Decision | Approve / Deny / Approve shorter duration |
Decision panel:
ApprovalPanel
├── Requester: Alex Chen · Eng · Last elevation: 14 days ago
├── Request: Production deploy · 2 hours · Justification: INC-4821 hotfix
├── Risk: Known device · MFA verified · IP in allowlist
├── Decision: ● Approve 2h ○ Approve 1h ○ Deny
├── Deny reason (required if deny): Change window not approved — use staging first
└── [ Confirm ] [ Delegate to on-call Security ]
Auto-approve rules (optional admin config): on-call rotation + matching ticket prefix + duration ≤ 1h—still log in audit log.
Use tables with SLA column (“Pending 22m · SLA 30m”) for on-call dashboards.
Active elevation state (member + admin)
Once approved, show countdown and scope everywhere the member works:
ActiveElevationBanner
├── ⚡ Elevated: Production deploy · Expires in 1h 14m · [ Extend ] [ End early ]
└── Scoped to: prod-us-east · Cannot modify billing or org roles
| State | UI treatment |
|---|---|
| Pending approval | Amber badge on profile; disable privileged actions |
| Active | Persistent banner + expiry countdown |
| Expiring soon (< 15m) | Pulse amber; optional extend request |
| Expired | Immediate lockout message; redirect to re-request |
| Ended early | Confirmation toast; log voluntary de-elevation |
Extend request: new approval if beyond original window—don’t silently extend. End early: one-click revoke; praise good hygiene in copy.
Admin active elevations dashboard:
ActiveElevationsDashboard
├── Summary: 7 active · 2 expiring in 15m · 0 overdue (should be 0)
├── Row: Alex Chen · Production deploy · 1h 14m left · INC-4821
└── Actions: [ Force revoke ] [ View session ] [ Contact requester ]
Force revoke requires reason + audit log entry—use for suspected compromise tied to suspicious login alerts.
PAM inventory (Security posture)
Admins need visibility into who can request what and standing vs JIT policy:
PAMPolicyCatalog
├── Resource: Production environment
├── Standing roles allowed: None (JIT only)
├── Max duration: 8 hours
├── Approvers: Security Admin · On-call rotation
├── Require ticket: Yes
└── [ Edit policy ] [ View request history ]
| Policy knob | Typical value |
|---|---|
| JIT-only resources | Production, billing write, org admin |
| Standing allowed | Staging read, analytics viewer |
| Approval chain | Manager + Security for break-glass tier |
| Cooldown | No re-request same role within 24h unless incident |
| Session recording | Optional flag for highest tier |
Wire overdue standing privileged roles to access review campaigns—PAM reduces standing count over time.
Link policy gaps to security posture dashboard: “3 members with standing Production Admin—migrate to JIT.”
Comparison: JIT vs break-glass vs standing admin
| Surface | Trigger | Approval | Duration | Post-action |
|---|---|---|---|---|
| JIT elevation | Planned task | Standard queue | Hours | Auto-revoke + audit |
| Break-glass | Emergency | Self-activate or on-call | Short | Mandatory review |
| Standing role | Job function | Admin assign | Until revoked | Access review |
Don’t merge break-glass into JIT request form—different mental model, different copy, stricter post-incident workflow.
Posture and compliance linkage
| Control | PAM evidence |
|---|---|
| SOC2 CC6.3 | Elevation request log with approver, duration, justification |
| Posture dashboard | Standing privileged role count; JIT adoption % |
| Compliance export | All elevations in date range with session metadata |
| Access review | Certify remaining standing privileged access |
PostureGapCard — Privileged access
├── 3 standing Production Admin roles (target: 0)
├── 12 JIT elevations this week · 100% with justification
└── [ View inventory ] [ Launch standing-role cleanup campaign ]
Pair with API keys—long-lived tokens are standing privilege; offer JIT-scoped tokens where possible.
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| Elevation without expiry | Same as standing admin | Hard duration cap + auto-revoke |
| Approve with no justification visible | Rubber-stamp approvals | Require ticket or incident ID |
| No active elevation banner | Member forgets they’re elevated | Persistent countdown UI |
| JIT and break-glass same form | Wrong urgency and audit path | Separate flows and copy |
| Extend without re-approval | Indefinite privilege creep | New request for extension |
| No force revoke | Can’t respond to incident | Admin action + audit reason |
| Standing roles hidden from PAM view | Posture blind spot | Unified privileged inventory |
| Elevation decoupled from sessions | Can’t correlate abuse | Tag session with elevation ID |
| Generic “Admin” scope | Over-privileged grants | Resource-scoped role picker |
| No cooldown after elevation | Repeated abuse window | 24h re-request block unless incident |
Recommended workflow
- Design elevation request form with resource scope, duration, and justification.
- Build approval queue with risk signals and approve/deny/shorter-duration paths.
- Add active elevation banner with countdown, extend, and end-early actions.
- Create PAM policy catalog showing JIT-only vs standing-allowed resources.
- Wire admin active elevations dashboard with force revoke and session link.
- Connect standing privileged inventory to access review and posture gaps.
- Annotate auto-revoke timing and audit events in Dev Mode.
FAQ
Can managers approve JIT for their reports?
Depends on policy—high-tier production often requires Security Admin only; staging may allow manager approval.
JIT for contractors?
Yes with shorter max duration (e.g. 2h) and mandatory Security approval—show contractor badge in queue.
What happens at expiry mid-action?
Grace period optional (5m warning modal)—then hard revoke; unsaved work is an engineering concern, not UI excuse for open-ended access.
Link to custom roles?
Elevation requests pick from templates—“Production deploy” maps to permission bundle, not raw checkbox list.
Record sessions during elevation?
Disclose in banner—“Session may be recorded for audit” on highest tier; link to privacy settings.
Next steps
- Design break-glass emergency access and account recovery UI in Figma — outage path vs planned JIT
- Design access review and certification campaigns UI in Figma — certify remaining standing privilege
- Design team member roles and permissions UI in Figma — standing assignment vs elevation
- Design active sessions and device management UI in Figma — correlate elevation with live sessions
- Design security posture dashboard and compliance checklist UI in Figma — privileged access KPIs
§ Keep reading