diff --git a/ClipboardAPI/ResetClipboardPermissionStatus/Clipboard-permission-state-reset-on-reload.md b/ClipboardAPI/ResetClipboardPermissionStatus/Clipboard-permission-state-reset-on-reload.md new file mode 100644 index 00000000..5b6649bd --- /dev/null +++ b/ClipboardAPI/ResetClipboardPermissionStatus/Clipboard-permission-state-reset-on-reload.md @@ -0,0 +1,110 @@ +# Clipboard Permissions State Reset on Reload + +## Improving Permission Control for Clipboard + +## Authors: +- [Utkarsh Pathak](https://github.com/utpathak) +- [Abhishek Singh](https://github.com/abhishek06020) +- [Tanu Jain](https://github.com/tanujain_microsoft) +- [Rakesh Goulikar](https://github.com/ragoulik) + +## Participate + + + +## Table of Contents + +- [Introduction](#introduction) +- [User-Facing Problem](#user-facing-problem) +- [Goals](#goals) +- [Non-Goals](#non-goals) +- [Proposal](#proposal) +- [Alternatives Considered](#alternatives-considered) +- [Accessibility, Privacy, and Security Considerations](#accessibility-privacy-and-security-considerations) +- [References and Acknowledgements](#references-and-acknowledgements) + + + +## Introduction + +This proposal aims to improve the clipboard permission experience by allowing users to re-grant clipboard read permissions after previously denying them. The solution is to show the clipboard permission prompt again on a new reload of the website or renderer process, even if the user had previously denied access. + +## User-Facing Problem + +Users often deny clipboard permission prompts—sometimes accidentally, sometimes intentionally, and often due to unclear messaging. Once denied, clipboard operations silently fail with no further guidance, leaving users confused about what went wrong. + +Currently, after a user denies clipboard access, there is no straightforward way for them to recover or re-enable the permission without navigating browser settings, which is not intuitive for most users. This results in a broken user experience and recurring frustration. + +**User anecdote:** + +“I had a window pop up on a website where I was copying text and pictures to my clipboard. The popup window said something about the clipboard, and I mistakenly clicked block. Now I can no longer copy pictures to my clipboard on this website. How do I un-block the clipboard function on this website?” +Source: [How do I unblock the clipboard for a website - Microsoft Q&A](https://learn.microsoft.com/en-in/answers/questions/766718/how-do-i-unblock-the-clipboard-for-a-website) + +The table below outlines user problems and scenarios, mapped to their intent to use the clipboard and the corresponding permission state at that moment. + +
| + | Clipboard working on site | +Clipboard not working on site (site or OS permission missing) | +
|---|---|---|
| Intent to use clipboard on site | +✅ True positive: Intent correctly captured. | +❌ False negative: User intended to use clipboard but permission is blocked (Site/OS) or they changed their mind. Solution: Show the permission prompt again on reload to allow user to grant access. | +
| No intent to use clipboard on site | +❌ False positive: Permission granted without user intent. | +✅ True negative: Intent correctly captured. | +
+
+## Alternatives Considered
+
+- Keeping the current model, where denied permissions can only be reset via browser settings, was considered but found to be less user-friendly.
+- Prompting on every clipboard access request (without reload) was rejected to avoid prompt fatigue and poor UX.
+
+## Accessibility, Privacy, and Security Considerations
+
+This proposal does not introduce new risks or changes to accessibility, privacy, or security for clipboard operations. It maintains the fundamental permission and security requirements of the async Clipboard read API ([`navigator.clipboard.read()`](https://w3c.github.io/clipboard-apis/#dom-clipboard-read)), including the need for a secure context and a user gesture to access clipboard contents. All existing accessibility, privacy, and security considerations for clipboard access remain applicable.
+
+## References and Acknowledgements
+
+Reference: [Clipboard API](https://w3c.github.io/clipboard-apis/)
+
+Many thanks for valuable feedback and advice
\ No newline at end of file
diff --git a/ClipboardAPI/ResetClipboardPermissionStatus/img/clipboardResetPermission.png b/ClipboardAPI/ResetClipboardPermissionStatus/img/clipboardResetPermission.png
new file mode 100644
index 00000000..f6ac28ef
Binary files /dev/null and b/ClipboardAPI/ResetClipboardPermissionStatus/img/clipboardResetPermission.png differ