You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/website/security.mdx
+19-7Lines changed: 19 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,20 +78,26 @@ BugDrop is built with a privacy-first approach:
78
78
79
79
### Screenshot masking
80
80
81
-
You can mark sensitive elements so BugDrop visually covers them in supported screenshot modes. Add the `data-bugdrop-mask` attribute to any element you want covered:
81
+
You can mark sensitive elements so BugDrop visually covers them in supported screenshot modes. Add `data-bugdrop-redact` or `data-bugdrop-mask` to any element you want covered:
82
82
83
83
```html
84
-
<inputtype="email"data-bugdrop-mask />
84
+
<inputtype="email"data-bugdrop-redact />
85
85
86
86
<divdata-bugdrop-mask>
87
87
<span>Customer name</span>
88
88
<span>customer@example.com</span>
89
89
</div>
90
90
```
91
91
92
-
When a user submits feedback, BugDrop paints an opaque rectangle over each tagged
93
-
element's bounding box on the captured PNG before showing the user the annotator
94
-
preview. The user sees what is masked and can audit it before submitting.
92
+
Supported explicit attributes are `data-bugdrop-redact`, `data-bd-redact`,
93
+
`data-bugdrop-redacted`, and `data-bugdrop-mask`.
94
+
95
+
When a user submits feedback, BugDrop plans redactions from matching DOM
96
+
elements, then paints an opaque rectangle over each target's measured bounding
97
+
box on supported captured PNGs. In manual screenshot flows, the masked image is
98
+
shown in the annotator preview so the user can audit it before submitting. In
99
+
automatic screenshot mode, BugDrop applies supported masks but submits without
100
+
showing the preview step.
95
101
96
102
Masking is best-effort visual coverage, not a data-loss-prevention or security
97
103
boundary. Users should still review screenshots before submitting when the manual
@@ -108,8 +114,14 @@ prevents gaps from CSS `gap` or non-masked siblings inside a masked container.
108
114
109
115
**Known limitations:**
110
116
111
-
- Elements inside Shadow DOM and cross-origin iframes are not traversed in this
112
-
iteration.
117
+
- Elements inside open Shadow DOM are traversed when the browser exposes the
118
+
shadow root. Closed Shadow DOM cannot be traversed; mark the host element if
119
+
the whole custom control should be covered.
120
+
- Iframe contents are not traversed. Mark the iframe element itself if the whole
121
+
embedded frame should be visually covered.
122
+
- BugDrop does not inspect pixels or text inside canvas, image, video, plugin,
123
+
or iframe content. Mark the containing DOM element if that entire region should
124
+
be visually covered.
113
125
- Mask rectangles are collected at the start of capture. If the page reflows or reveals
114
126
sensitive elements between collection and the moment `html-to-image` finishes
115
127
rendering, the mask may not cover the final pixels. Keep masked content stable during
0 commit comments