Your Playwright traces contain your passwords. Scrub them before they leave CI.

Every trace.zip, HAR file, storageState.json and HTML report Playwright writes carries the values your tests typed, the cookies they received and the request bodies they sent. CI secret masking never touches those files. Trace Scrub rewrites them after the run, before they are uploaded anywhere, and gives you a report of what it replaced.

⚠️ This is not a theoretical gap. The Playwright maintainers have declined to build it three times (#19992, 69 upvotes, and again in #35848) and their official advice is to treat every trace and report as a secret. One team wrote that their secret scanners found report leaks "across teams" and that storing secrets in CI artifacts is prohibited by company policy. Another leaked a test account's Google password by following the documented auth setup.
What it does
npx trace-scrub ./test-results --env-secrets E2E_PASSWORD,E2E_TOKEN
# or as a reporter hook, runs onEnd before your upload step
Not in the first release

Pick one

$0
Scrub one trace for me
  • Send one trace.zip from a failed run (a staging account is fine)
  • You get it back redacted, plus the report of what was replaced, within 48 hours
  • No licence, no follow-up. I want to see what real traces leak
Email one trace.zip
Access is dropped once it is done, nothing is kept.
How the paid version works
  1. Pay above, then email ilya.ploskovitov@pii-shield.com from your work address with the organisation name
  2. You get the npm install token and the licence file within 24 hours
  3. Add one line before your artifact upload step. Done
Trace Scrub is best-effort redaction, not a guarantee that no secret survives, and not a substitute for restricting who can download your CI artifacts. It is built on the same detection engine as the open-source pii-shield log redactor. Not affiliated with Microsoft or the Playwright project.