Skip to content

Harden screenshot redaction architecture#183

Merged
neonwatty merged 3 commits into
mainfrom
codex/issue-152-redaction-hardening
May 19, 2026
Merged

Harden screenshot redaction architecture#183
neonwatty merged 3 commits into
mainfrom
codex/issue-152-redaction-hardening

Conversation

@neonwatty
Copy link
Copy Markdown
Collaborator

Closes #152

Summary

  • Create immutable redaction snapshots at capture start and carry the same redaction metadata through the capture result used by annotation.
  • Detect unsupported marked surfaces, including wrapper-marked canvas/image/video/iframe descendants, and warn during manual review without rescanning live DOM.
  • Add edge fixture and E2E coverage for open Shadow DOM, closed-shadow host masking, selected-area warning scoping, auto-mode masking, and DOM mutation during capture.
  • Clarify screenshot masking guarantees and limitations in developer docs.

Verification

  • npm run validate
  • npx playwright test e2e/widget.spec.ts --project=chromium -g "open shadow|closed shadow|marked unsupported surfaces|marked wrapper|selected-area capture warns|selected-area capture does not warn|auto mode applies|capture-start redaction geometry"
  • CI=true make test-e2e-shard SHARD=1/2
  • CI=true make test-e2e-shard SHARD=2/2

@neonwatty neonwatty added this pull request to the merge queue May 19, 2026
Merged via the queue into main with commit 4fcaf7d May 19, 2026
7 checks passed
@neonwatty neonwatty deleted the codex/issue-152-redaction-hardening branch May 19, 2026 16:09
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.37.4 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Follow-up: harden screenshot redaction architecture

1 participant