Back to compare picker

Permission request vs Consent prompt vs Permission sharing vs Permission recovery vs Permission denied state vs Notification preferences

Use permission request when the user is granting an operating-system or browser device resource such as camera, microphone, location, photos, contacts, notifications, Bluetooth, clipboard, or motion sensors; use consent prompt for optional data-use opt-in, permission sharing for durable access grants, permission recovery for owner or admin access requests, permission denied state for an authorization boundary, and notification preferences for channels, topics, frequency, and message subscriptions.

Learn the decision

Match the interaction to the person's task

Use permission request when the user is granting an operating-system or browser device resource such as camera, microphone, location, photos, contacts, notifications, Bluetooth, clipboard, or motion sensors; use consent prompt for optional data-use opt-in, permission sharing for durable access grants, permission recovery for owner or admin access requests, permission denied state for an authorization boundary, and notification preferences for channels, topics, frequency, and message subscriptions.

Permission request

Use it when: A feature needs operating-system, browser, or device authorization to access location, camera, microphone, photos, contacts, notifications, Bluetooth, clipboard, motion sensors, storage access, or another powerful feature.

Make this state clear: Contextual request state tied to the user action that needs the resource.

Observe the result: A user denies precise location, chooses approximate location instead, and the app still shows nearby pickup points with lower accuracy.

Study the full pattern →

Consent prompt

Use it when: The product needs a user's active agreement for optional data use, marketing, research participation, personalization, partner sharing, AI training, or sensitive-data processing.

Make this state clear: Pre-consent state with optional processing off and the core task still understandable.

Observe the result: A user consents to a beta research study, sees what data will be reviewed, receives a saved confirmation, and later withdraws from the account privacy page with the same purpose label.

Study the full pattern →

Permission sharing

Use it when: Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.

Make this state clear: Default access list state with users, groups, guests, anonymous access, roles, and effective access.

Observe the result: A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.

Study the full pattern →

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 →

Notification preferences

Use it when: Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source.

Make this state clear: Default notification preferences state.

Observe the result: A user keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours.

Study the full pattern →

Practice the judgment: Imagine this situation: A camera feature triggers contacts or precise location permission, creating a permission mismatch. 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 requestConsent promptPermission sharingPermission recoveryPermission denied stateNotification preferences
UI or UX UI + UX - Contextual operating-system or browser permission request for device resources, powerful browser features, private user data, or local capabilitiesUI + UX - Specific opt-in decision for optional data use, participation, communication, sharing, or trainingUI + UX - Durable permission administration for users, groups, roles, inherited access, effective access, and revocationUI + UX - Guided workflow for regaining or routing around missing accessUI + UX - Authorization and access-boundary stateUI + UX - User-controlled rules for notification type, channel, frequency, timing, privacy, and exceptions
UI guidance Render a permission request as a contextual feature gate that names the resource, user action, immediate benefit, system prompt timing, available choices, and fallback before invoking the OS or browser permission prompt.Render a consent prompt as a focused opt-in decision that names the requester, purpose, data involved, optionality, benefit, consequence of declining, withdrawal route, and consent record before the user chooses.Render permission sharing as an access-management surface with the protected resource, current direct grants, inherited grants, groups, guests, anonymous or link access, role or permission level, effective access, pending changes, and revoke or save actions.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.Render notification preferences as a structured matrix or grouped settings surface that shows notification type, source, delivery channel, device, frequency, quiet-time rule, preview privacy, override, and current saved state.
UX guidance Use permission request when a feature needs operating-system or browser authorization for resources such as location, camera, microphone, photos, contacts, notifications, Bluetooth, clipboard, motion sensors, or other powerful features.Use consent prompt when the product needs the user to knowingly agree to a specific optional data-processing purpose such as marketing, research participation, AI training, personalization, partner sharing, or sensitive-data use.Use permission sharing when authorized owners or admins need to grant, change, audit, or revoke durable access to a space, site, repository, folder, project, board, dataset, environment, or sensitive object.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.Make consequences explicit: what stops, what still arrives, which devices and channels are affected, when changes apply, and which admin, OS, or workspace policies override the user's choice.
Good UI A field service app asks for location only when the user taps Start route, explains that current location will verify arrival, then opens the system permission prompt and offers manual address entry if declined.An AI writing tool asks whether the user wants workspace snippets used to improve future suggestions, shows included data types, keeps the default off, and records the consent version after opt-in.A repository access page lists teams, outside collaborators, deploy keys, and direct users with Read, Triage, Write, Maintain, and Admin roles, showing that only Admin can manage access.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 notification preferences page groups Mentions, Assigned work, Followed threads, Security, Digest, and Marketing, with columns for In-app, Email, Push, Banner, and Digest frequency.
Bad UI An app asks for location, contacts, photos, and notifications on first launch before the user knows why any resource is needed.A modal says By continuing you agree to personalized offers and partner sharing, with a large Continue button and a small privacy policy link.A permissions page shows only individual names and Remove buttons even though group membership and parent folder inheritance still grant access.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.A preference changes email only but the label implies all notifications stopped.
Good UX A user denies precise location, chooses approximate location instead, and the app still shows nearby pickup points with lower accuracy.A user consents to a beta research study, sees what data will be reviewed, receives a saved confirmation, and later withdraws from the account privacy page with the same purpose label.A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.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 keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours.
Bad UX A user denies microphone access and the app loops the same system prompt every time they tap anything in the support screen.A user clicks Next to finish onboarding and unknowingly opts into marketing because the consent copy was bundled into the terms paragraph.A repository admin removes a collaborator but forgets a deploy key with write access because the access page treated machine credentials as unrelated settings.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 disables email for a noisy project and still receives duplicate push and desktop banners because those channels live in separate hidden settings.
Best fit A feature needs operating-system, browser, or device authorization to access location, camera, microphone, photos, contacts, notifications, Bluetooth, clipboard, motion sensors, storage access, or another powerful feature.The product needs a user's active agreement for optional data use, marketing, research participation, personalization, partner sharing, AI training, or sensitive-data processing.Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.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.Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source.
Avoid when The decision is consent to optional data use rather than access to a device or browser resource.The choice is only about non-essential cookies or device storage; use cookie banner.The user is requesting access after denial rather than administering access.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 product has only a few low-volume notifications that can be handled by defaults and inline controls.
Required state Contextual request state tied to the user action that needs the resource.Pre-consent state with optional processing off and the core task still understandable.Default access list state with users, groups, guests, anonymous access, roles, and effective access.Recovery start state with original blocked task and current account.Whole-object access denied state.Default notification preferences state.
Accessibility burden Use a labelled region or dialog title that names the resource and feature, such as Allow location for route check-in.Associate every checkbox or toggle with a complete purpose label and consequence description.Use labelled tables or grids with column headers for principal, source, role, capability, status, and actions.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.Group preferences with headings and fieldsets for event type, delivery channel, device, and frequency.
Common misuse Asking for multiple resources at launch before the user has attempted the relevant feature.Treating continued use, scrolling, closing, or inactivity as consent.Showing only direct users while group or inherited access remains active.Offering Retry for an unchanged authorization denial.Treating authorization denial as a generic retryable error.Offering one master notification switch for a complex collaboration product.

Permission request

UI or UX
UI + UX - Contextual operating-system or browser permission request for device resources, powerful browser features, private user data, or local capabilities
UI guidance
Render a permission request as a contextual feature gate that names the resource, user action, immediate benefit, system prompt timing, available choices, and fallback before invoking the OS or browser permission prompt.
UX guidance
Use permission request when a feature needs operating-system or browser authorization for resources such as location, camera, microphone, photos, contacts, notifications, Bluetooth, clipboard, motion sensors, or other powerful features.
Good UI
A field service app asks for location only when the user taps Start route, explains that current location will verify arrival, then opens the system permission prompt and offers manual address entry if declined.
Bad UI
An app asks for location, contacts, photos, and notifications on first launch before the user knows why any resource is needed.
Good UX
A user denies precise location, chooses approximate location instead, and the app still shows nearby pickup points with lower accuracy.
Bad UX
A user denies microphone access and the app loops the same system prompt every time they tap anything in the support screen.
Best fit
A feature needs operating-system, browser, or device authorization to access location, camera, microphone, photos, contacts, notifications, Bluetooth, clipboard, motion sensors, storage access, or another powerful feature.
Avoid when
The decision is consent to optional data use rather than access to a device or browser resource.
Required state
Contextual request state tied to the user action that needs the resource.
Accessibility burden
Use a labelled region or dialog title that names the resource and feature, such as Allow location for route check-in.
Common misuse
Asking for multiple resources at launch before the user has attempted the relevant feature.

Consent prompt

UI or UX
UI + UX - Specific opt-in decision for optional data use, participation, communication, sharing, or training
UI guidance
Render a consent prompt as a focused opt-in decision that names the requester, purpose, data involved, optionality, benefit, consequence of declining, withdrawal route, and consent record before the user chooses.
UX guidance
Use consent prompt when the product needs the user to knowingly agree to a specific optional data-processing purpose such as marketing, research participation, AI training, personalization, partner sharing, or sensitive-data use.
Good UI
An AI writing tool asks whether the user wants workspace snippets used to improve future suggestions, shows included data types, keeps the default off, and records the consent version after opt-in.
Bad UI
A modal says By continuing you agree to personalized offers and partner sharing, with a large Continue button and a small privacy policy link.
Good UX
A user consents to a beta research study, sees what data will be reviewed, receives a saved confirmation, and later withdraws from the account privacy page with the same purpose label.
Bad UX
A user clicks Next to finish onboarding and unknowingly opts into marketing because the consent copy was bundled into the terms paragraph.
Best fit
The product needs a user's active agreement for optional data use, marketing, research participation, personalization, partner sharing, AI training, or sensitive-data processing.
Avoid when
The choice is only about non-essential cookies or device storage; use cookie banner.
Required state
Pre-consent state with optional processing off and the core task still understandable.
Accessibility burden
Associate every checkbox or toggle with a complete purpose label and consequence description.
Common misuse
Treating continued use, scrolling, closing, or inactivity as consent.

Permission sharing

UI or UX
UI + UX - Durable permission administration for users, groups, roles, inherited access, effective access, and revocation
UI guidance
Render permission sharing as an access-management surface with the protected resource, current direct grants, inherited grants, groups, guests, anonymous or link access, role or permission level, effective access, pending changes, and revoke or save actions.
UX guidance
Use permission sharing when authorized owners or admins need to grant, change, audit, or revoke durable access to a space, site, repository, folder, project, board, dataset, environment, or sensitive object.
Good UI
A repository access page lists teams, outside collaborators, deploy keys, and direct users with Read, Triage, Write, Maintain, and Admin roles, showing that only Admin can manage access.
Bad UI
A permissions page shows only individual names and Remove buttons even though group membership and parent folder inheritance still grant access.
Good UX
A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.
Bad UX
A repository admin removes a collaborator but forgets a deploy key with write access because the access page treated machine credentials as unrelated settings.
Best fit
Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.
Avoid when
The user is requesting access after denial rather than administering access.
Required state
Default access list state with users, groups, guests, anonymous access, roles, and effective access.
Accessibility burden
Use labelled tables or grids with column headers for principal, source, role, capability, status, and actions.
Common misuse
Showing only direct users while group or inherited access remains active.

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.

Notification preferences

UI or UX
UI + UX - User-controlled rules for notification type, channel, frequency, timing, privacy, and exceptions
UI guidance
Render notification preferences as a structured matrix or grouped settings surface that shows notification type, source, delivery channel, device, frequency, quiet-time rule, preview privacy, override, and current saved state.
UX guidance
Make consequences explicit: what stops, what still arrives, which devices and channels are affected, when changes apply, and which admin, OS, or workspace policies override the user's choice.
Good UI
A notification preferences page groups Mentions, Assigned work, Followed threads, Security, Digest, and Marketing, with columns for In-app, Email, Push, Banner, and Digest frequency.
Bad UI
A preference changes email only but the label implies all notifications stopped.
Good UX
A user keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours.
Bad UX
A user disables email for a noisy project and still receives duplicate push and desktop banners because those channels live in separate hidden settings.
Best fit
Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source.
Avoid when
The product has only a few low-volume notifications that can be handled by defaults and inline controls.
Required state
Default notification preferences state.
Accessibility burden
Group preferences with headings and fieldsets for event type, delivery channel, device, and frequency.
Common misuse
Offering one master notification switch for a complex collaboration product.
Decision rules
  • Choose permission request when a contextual timing decision leads into a system permission prompt for a device resource or powerful browser feature such as camera, microphone, location, photos, contacts, notifications, Bluetooth, clipboard, storage access, or motion sensors.
  • Choose consent prompt when the user is making an active opt-in for optional data use such as marketing, research participation, AI training, partner sharing, personalization, survey follow-up, or sensitive-data processing.
  • Choose permission sharing when the task is durable access grants for another user, group, guest, link, service account, key, role, scope, expiry, or revoke path.
  • Choose permission recovery when the current user lacks account access and asks an owner or admin for access after denial.
  • Choose permission denied state when the surface must explain an authorization boundary, required role, policy, license, share grant, wrong account, no-disclosure rule, request status, or read-only fallback.
  • Choose notification preferences when the user is selecting message channels, topics, frequency, quiet hours, digest behavior, subscriptions, preview privacy, or notification center routing rather than granting OS notification access.
  • A permission request must name the resource, user-triggered feature, system prompt timing, grant outcome, deny outcome, previously denied handling, settings route, manual fallback, limited access, while-in-use or one-time lifetime, and permission revoked state.
  • Do not substitute a privacy settings page, account-level privacy controls, consent record, legal acceptance, approval dialog, or durable sharing screen for a just-in-time platform permission prompt.
  • Do not treat grant as consent to unrelated data use, do not treat denial as a product-wide authorization failure, and do not use notification preferences to replace the initial OS notification permission request.
  • When a user denies permission, the product should preserve eligible work through manual fallback or lower-access behavior instead of repeat nag loops, blocked-on-deny flows, fake required copy, or permission mismatch prompts.
Inspect live examples
Failure modes
  • A camera feature triggers contacts or precise location permission, creating a permission mismatch.
  • The first-run flow asks for every device resource before any feature-triggered ask.
  • A consent prompt is used to request location access but never invokes or handles the system permission prompt.
  • A notification preferences page offers channels and topics even though OS notifications are denied and no settings route is shown.
  • A denied permission is treated like missing account authorization, sending the user to an owner or admin instead of a device settings route or manual fallback.
  • A permanent denial repeats the same prompt rather than explaining settings required recovery.

Saved items