Skip to content

Capture: redact sensitive values before they enter the trace #503

Open

Description

@vishnuv688

Part of #494.

Problem

A trace records everything the run showed or typed, credentials included, and there is no redaction anywhere in capture. Measured on the Python login example, its demo credential appears about 103 times across six places in one trace: the page's own text, the DOM mutation stream, Element.fill arguments, the transcript, the captured test source and the element list. Blanking <input type="password"> values covers 2 of those.

A hosted, shareable player makes this matter more, since traces get passed around.

Proposal

A redaction policy applied at capture, in the page collector and the command-argument serializer: for example a maskInputs option and masking selectors, so masked values never enter the archive.

Activity

  1. self-assigned this
    on Oct 29, 2026
  2. vishnuv688 commented on Oct 30, 2026

    @vishnuv688
    MemberAuthor

    Decision: mask typed input by default. Values typed into password and other form fields never enter the trace (DOM mutations and anchors, command arguments, transcript, element list). A maskSelectors option masks more, and an explicit opt-out restores full capture. Applies to all four adapters.

  3. vishnuv688 commented on Nov 2, 2026

    @vishnuv688
    MemberAuthor

    Implemented in #530. It closes this issue when merged.

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions