My learning 0 of 20 lessons complete
Start lesson 1 →
Back to compare picker

Permission recovery vs Permission denied state vs Session timeout warning vs Retry

Permission recovery is the request, approval, account-switch, and fallback workflow after authorization blocks a task. Permission denied state explains the boundary, session timeout warning handles authentication expiry, and retry repeats a failed operation only when repetition can change the result.

Learn the decision

Match the interaction to the person's task

Permission recovery is the request, approval, account-switch, and fallback workflow after authorization blocks a task. Permission denied state explains the boundary, session timeout warning handles authentication expiry, and retry repeats a failed operation only when repetition can change the result.

Permission recovery

Use it when: A denied user can request access, switch accounts, ask an admin, join a group, or use a safe fallback to continue.

Make this state clear: Recovery start state with original blocked task and current account.

Observe the result: A user requests Finance viewer access with a reason, sees the request is pending with Priya, receives approval, opens the report from the same recovery panel, and lands back on the original report.

Study the full pattern →

Permission denied state

Use it when: A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.

Make this state clear: Whole-object access denied state.

Observe the result: A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner.

Study the full pattern →

Session timeout warning

Use it when: An authenticated session can expire because of inactivity, overall lifetime, assurance policy, or reauthentication requirement.

Make this state clear: Early idle warning with remaining time and current save state.

Observe the result: A user pauses while gathering documents, sees the remaining time, extends the session once, then saves the draft before policy requires reauthentication.

Study the full pattern →

Retry

Use it when: A load, save, submit, upload, export, sync, payment, or background request failed for a transient or uncertain reason.

Make this state clear: Retryable failed state with affected operation, object, and preserved request context.

Observe the result: A second failure increases the wait before the next attempt and then offers cached export, background notification, or support reference after attempts are exhausted.

Study the full pattern →

Practice the judgment: Imagine this situation: A permission denied message sends a request but loses pending status after reload, producing duplicate owner notifications. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Permission recoveryPermission denied stateSession timeout warningRetry
UI or UX UI + UX - Guided workflow for regaining or routing around missing accessUI + UX - Authorization and access-boundary stateUI + UX - Authenticated-session expiry and reauthentication boundary warningUI + UX - Scoped failed-operation retry control
UI guidance Show a recovery workspace after denial with the current account, current role, requested role, safe owner or admin destination, request reason, policy limits, status timeline, and original blocked task.Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed.Show a visible countdown or clear expiry time before inactivity, absolute session, or reauthentication limits can interrupt work; place the warning near the current task or as a focused dialog when immediate action is required.Place Retry next to the failed operation, object, or request summary, and name the exact action being retried such as Retry export or Retry payment authorization.
UX guidance Use permission recovery when users can take a concrete step to regain access, use another identity, request a different role, escalate a policy block, or continue with a safe fallback after an authorization denial.Use permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action.Use session timeout warning to balance security, privacy, accessibility, and continuity when an authenticated session is about to expire or require reauthentication.Help the person reach a clear task outcome.
Good UI A restricted report recovery panel shows alex@northwind.example lacks Finance viewer access, lets the user request Viewer or Editor with a reason, names Priya as the approver, shows request ACC-2048 as pending, and returns to the report after approval.A report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account.A benefits form shows Your session will end in 2 minutes, says the draft is saved, and offers Stay signed in, Save and sign out, and Sign out.A report export card says Export CSV failed, keeps the saved filters visible, shows Attempt 1 of 3, and offers Retry export with request EXP-2048.
Bad UI A blocked report only has Retry, so the user repeats the same denied request.A denial page says Something went wrong and shows Retry even though the user lacks a required group.The countdown shows time remaining after the server has already expired the session.Retry creates duplicate records, payments, invitations, exports, or queued jobs.
Good UX A user requests Finance viewer access with a reason, sees the request is pending with Priya, receives approval, opens the report from the same recovery panel, and lands back on the original report.A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner.A user pauses while gathering documents, sees the remaining time, extends the session once, then saves the draft before policy requires reauthentication.A second failure increases the wait before the next attempt and then offers cached export, background notification, or support reference after attempts are exhausted.
Bad UX A user repeatedly clicks Retry on a permission denial because the UI treats authorization as a transient load failure.Every workspace control is disabled after one missing permission, including safe navigation and read-only tasks.A user returns from a phone call to find the form gone and a generic access denied page.The app retries aggressively every second during an outage and makes the service harder to recover.
Best fit A denied user can request access, switch accounts, ask an admin, join a group, or use a safe fallback to continue.A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.An authenticated session can expire because of inactivity, overall lifetime, assurance policy, or reauthentication requirement.A load, save, submit, upload, export, sync, payment, or background request failed for a transient or uncertain reason.
Avoid when The user is unauthenticated and the next step is sign-in or session extension.The operation failed for network, server, validation, data, or timeout reasons after permission was granted.The user lacks authorization while still signed in.The error is caused by invalid user input and correction is required.
Required state Recovery start state with original blocked task and current account.Whole-object access denied state.Early idle warning with remaining time and current save state.Retryable failed state with affected operation, object, and preserved request context.
Accessibility burden Move focus to the recovery heading when the workflow opens from a denial.Move focus to the permission message when it replaces page content or blocks a workflow.Warn users early enough to respond and avoid relying on a rapidly changing countdown as the only information.Expose pending, failed again, cooldown, succeeded, exhausted, and non-retryable outcomes through status text or live regions.
Common misuse Offering Retry for an unchanged authorization denial.Treating authorization denial as a generic retryable error.Using a client-only timer that disagrees with the server session.Offering Retry for every error regardless of whether the user or system state can change.

Permission recovery

UI or UX
UI + UX - Guided workflow for regaining or routing around missing access
UI guidance
Show a recovery workspace after denial with the current account, current role, requested role, safe owner or admin destination, request reason, policy limits, status timeline, and original blocked task.
UX guidance
Use permission recovery when users can take a concrete step to regain access, use another identity, request a different role, escalate a policy block, or continue with a safe fallback after an authorization denial.
Good UI
A restricted report recovery panel shows alex@northwind.example lacks Finance viewer access, lets the user request Viewer or Editor with a reason, names Priya as the approver, shows request ACC-2048 as pending, and returns to the report after approval.
Bad UI
A blocked report only has Retry, so the user repeats the same denied request.
Good UX
A user requests Finance viewer access with a reason, sees the request is pending with Priya, receives approval, opens the report from the same recovery panel, and lands back on the original report.
Bad UX
A user repeatedly clicks Retry on a permission denial because the UI treats authorization as a transient load failure.
Best fit
A denied user can request access, switch accounts, ask an admin, join a group, or use a safe fallback to continue.
Avoid when
The user is unauthenticated and the next step is sign-in or session extension.
Required state
Recovery start state with original blocked task and current account.
Accessibility burden
Move focus to the recovery heading when the workflow opens from a denial.
Common misuse
Offering Retry for an unchanged authorization denial.

Permission denied state

UI or UX
UI + UX - Authorization and access-boundary state
UI guidance
Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed.
UX guidance
Use permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action.
Good UI
A report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account.
Bad UI
A denial page says Something went wrong and shows Retry even though the user lacks a required group.
Good UX
A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner.
Bad UX
Every workspace control is disabled after one missing permission, including safe navigation and read-only tasks.
Best fit
A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.
Avoid when
The operation failed for network, server, validation, data, or timeout reasons after permission was granted.
Required state
Whole-object access denied state.
Accessibility burden
Move focus to the permission message when it replaces page content or blocks a workflow.
Common misuse
Treating authorization denial as a generic retryable error.

Session timeout warning

UI or UX
UI + UX - Authenticated-session expiry and reauthentication boundary warning
UI guidance
Show a visible countdown or clear expiry time before inactivity, absolute session, or reauthentication limits can interrupt work; place the warning near the current task or as a focused dialog when immediate action is required.
UX guidance
Use session timeout warning to balance security, privacy, accessibility, and continuity when an authenticated session is about to expire or require reauthentication.
Good UI
A benefits form shows Your session will end in 2 minutes, says the draft is saved, and offers Stay signed in, Save and sign out, and Sign out.
Bad UI
The countdown shows time remaining after the server has already expired the session.
Good UX
A user pauses while gathering documents, sees the remaining time, extends the session once, then saves the draft before policy requires reauthentication.
Bad UX
A user returns from a phone call to find the form gone and a generic access denied page.
Best fit
An authenticated session can expire because of inactivity, overall lifetime, assurance policy, or reauthentication requirement.
Avoid when
The user lacks authorization while still signed in.
Required state
Early idle warning with remaining time and current save state.
Accessibility burden
Warn users early enough to respond and avoid relying on a rapidly changing countdown as the only information.
Common misuse
Using a client-only timer that disagrees with the server session.

Retry

UI or UX
UI + UX - Scoped failed-operation retry control
UI guidance
Place Retry next to the failed operation, object, or request summary, and name the exact action being retried such as Retry export or Retry payment authorization.
UX guidance
Help the person reach a clear task outcome.
Good UI
A report export card says Export CSV failed, keeps the saved filters visible, shows Attempt 1 of 3, and offers Retry export with request EXP-2048.
Bad UI
Retry creates duplicate records, payments, invitations, exports, or queued jobs.
Good UX
A second failure increases the wait before the next attempt and then offers cached export, background notification, or support reference after attempts are exhausted.
Bad UX
The app retries aggressively every second during an outage and makes the service harder to recover.
Best fit
A load, save, submit, upload, export, sync, payment, or background request failed for a transient or uncertain reason.
Avoid when
The error is caused by invalid user input and correction is required.
Required state
Retryable failed state with affected operation, object, and preserved request context.
Accessibility burden
Expose pending, failed again, cooldown, succeeded, exhausted, and non-retryable outcomes through status text or live regions.
Common misuse
Offering Retry for every error regardless of whether the user or system state can change.
Decision rules
  • Use permission recovery when a denied user can request a role, switch to an authorized account, contact an owner, escalate a policy block, or resume the original task after access changes.
  • Use permission denied state when the interface mainly needs to explain that the current account lacks the role, share, license, policy exception, or approval required for an object or action.
  • Use session timeout warning when authentication is expiring or expired; do not send users into access request flows when reauthentication is the recovery.
  • Use retry when the same authorized operation may succeed after a transient failure; do not use retry for unchanged authorization denials.
  • Permission recovery must track request ID, requested role, reason, owner or admin destination, pending status, approved or declined outcome, and return path to the blocked task.
  • Permission denied state may include Request access, but it does not replace the full request lifecycle when owner decisions, duplicate prevention, and resume behavior matter.
  • Session timeout warning preserves in-progress work and identity continuity; permission recovery preserves task intent while the authorization grant changes.
  • Retry can appear after approval or role refresh, but only because the permission state changed, not because the original denial should be repeated blindly.
  • Do not promise access when the request is only sent, pending, policy-blocked, or declined.
  • Do not expose restricted object titles, owner names, paths, or notification text in permission recovery when no-disclosure policy applies.
Inspect live examples
Failure modes
  • A denied user clicks Retry repeatedly because the UI never offers request access, switch account, or owner escalation.
  • A permission denied message sends a request but loses pending status after reload, producing duplicate owner notifications.
  • A session timeout is treated as missing permission, so users request access instead of reauthenticating and preserving work.
  • A retry button appears after a declined access request even though no authorization state has changed.
  • A request says access granted before an owner or policy engine approves it.
  • A recovery notification leaks a restricted file title to an account that should not know the file exists.

Saved items