diff --git a/.github/ISSUE_TEMPLATE/pepc-for-clipboard-read.md b/.github/ISSUE_TEMPLATE/pepc-for-clipboard-read.md new file mode 100644 index 000000000..767c93ed0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/pepc-for-clipboard-read.md @@ -0,0 +1,10 @@ +--- +name: PEPC for clipboard read +about: new issue +title: "[PEPC for clipboard read]
| + | 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: Clear intent by clicking the <permission> element to show the prompt again. |
+
| No intent to use clipboard on site | +❌ False positive: Permission granted without user intent. Solution: <permission> element requires explicit user click on clearly labeled button to show prompt. |
+ ✅ True negative: Intent correctly captured. | +
+
+
+### PEPC prompts for clipboard-read permission:
+
+- Prompt shown at the first clipboard read access on a domain:
+
+
+- Prompt shown when clipboard-read permission was already granted but user clicks on permission element:
+
+
+- Prompt shown when clipboard-read permission was already denied but user clicks on permission element:
+
+
+## Alternatives considered:
+As this proposal is only to support new type in PEPC, all the alternatives in the [PEPC explainer](#https://github.com/WICG/PEPC/blob/main/explainer.md) remain applicable.
+
+[PEPC Alternative considerations](https://github.com/WICG/PEPC/blob/main/explainer.md#alternative)
+
+## 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. Apart from the requirements for clipboard-read, all accessibility, privacy, or security concerns and mitigations which were applicable to any PEPC element are also applicable here.
+
+[PEPC Security and Abuse Mitigations](https://github.com/WICG/PEPC/blob/main/explainer.md#security-and-abuse-mitigation)
+
+## References and Acknowledgements
+Reference : [PEPC explainer](https://github.com/WICG/PEPC/blob/main/explainer.md)
+
+Many thanks for valuable feedback and advice from:
+- [Rohan Raja](https://github.com/roraja)
diff --git a/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/first-prompt.gif b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/first-prompt.gif
new file mode 100644
index 000000000..35361ba92
Binary files /dev/null and b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/first-prompt.gif differ
diff --git a/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-denied.gif b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-denied.gif
new file mode 100644
index 000000000..40d2b6b17
Binary files /dev/null and b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-denied.gif differ
diff --git a/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-granted.gif b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-granted.gif
new file mode 100644
index 000000000..63d322bef
Binary files /dev/null and b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/permission-granted.gif differ
diff --git a/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/use-clipboard-read.png b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/use-clipboard-read.png
new file mode 100644
index 000000000..36d383756
Binary files /dev/null and b/ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/img/use-clipboard-read.png differ
diff --git a/README.md b/README.md
index 4cfa37957..4dfd44582 100644
--- a/README.md
+++ b/README.md
@@ -96,6 +96,8 @@ we move them into the [Alumni section](#alumni-) below.
| [FormControlRange](FormControlRange/explainer.md) |  | [New Issue...](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?assignees=t-andresre&labels=FormControlRange&template=form-control-range.md&title=%5BFormControlRange%5D+%3CTITLE+HERE%3E) | DOM |
| [WebModelContext](WebModelContext/explainer.md) |  | [New Issue...](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?assignees=leotlee&labels=WebModelContext&title=%5BWebModelContext%5D+%3CTITLE+HERE%3E) | AI Agents |
| [SelectiveClipboardFormatRead](ClipboardApi/SelectiveClipboardFormatRead/explainer.md) |  | [New Issue...](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?assignees=ragoulik&labels=SelectiveClipboardFormatRead&template=selective-clipboard-format-read.md&title=%5BSelective+Clipboard+Format+Read%5D+%3CTITLE+HERE%3E) | Editing |
+| [PepcForClipboardRead](ClipboardAPI/PageEmbeddedClipboardReadPermissionControl/explainer.md) |  | [New Issue...](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?assignees=ragoulik&labels=PepcForClipboardRead&template=pepc-for-clipboard-read.md&title=%5BPEPC+for+clipboard+read%5D+%3CTITLE+HERE%3E) | Editing |
+
# Brainstorming 🧠