Specific capability being requested.
pack-local-utility pattern
PermissionExplainer
Explain a browser, file, download, or site permission before requesting it.
pack/local-utility · candidate · @sanchika/patternsProduct job
Understand a permission's purpose, scope, affected data, denial behavior, and fallback before deciding.
Explain a browser, file, download, or site permission before requesting it.
Anatomy and required fields
Why the workflow needs it.
Where and for how long it applies.
Data or browser capability the permission can access.
Data or locations outside the permission scope.
What happens when permission is denied.
Inspectable source or policy link.
Manual or reduced-capability path.
Permission request control.
- permission
- purpose
- scope
- dataTouched
- dataNotTouched
- denialBehavior
- sourcePolicy
- fallback
- requestAction
Default and edge states
Permission is needed.
- permission required
- purpose
- fallback
The workflow can continue without the permission.
- optional
- reduced capability
- continue action
Permission is available.
- granted
- scope
- revoke path
Permission is unavailable.
- denied
- effect
- manual path
The browser cannot offer the permission.
- unavailable
- reason
- manual path
No permission request has occurred.
- not requested
- purpose
- review action
Composed synthetic exemplar
State coverage
Default and consequential edges remain inspectable.
Trust, source, and consumer obligations
- Credentials and portal session remain with the government portal and the user's browser.
- Name any network request, permission, artifact destination, and telemetry behavior before the action.
- Prove portal behavior, permissions, network requests, downloads, telemetry, release evidence, and every custody statement.
- Keep permission, purpose, and fallback before the request control.
- Do not hide scope inside hover-only help.
- Retain numbered order, text labels, link underlines, focus, and custody boundaries with system colors.
- Preserve custody order, permission scope, denial behavior, and local destination without animated connectors.
Compact API reference
- Package
@sanchika/patterns- CSS
@sanchika/patterns/styles.css- Base class
sk-pattern-permission-explainer- Group
pack-local-utility