Privacy

What MotionPR records, what it masks and redacts, and where data goes — with every privacy option.

On this page
  1. Options

MotionPR runs locally or in your CI. It sends nothing anywhere: no telemetry, no uploads.

  • Inputs: text inputs, textareas, selects and contenteditable regions are masked in every screenshot and frame (privacy.maskInputs, default on). Add selectors with privacy.maskSelectors.
  • Filled values (fill steps) are never written to captures or reports; Playwright error messages that echo them are redacted.
  • URLs: query-string values are replaced with REDACTED unless listed in privacy.allowQueryParams.
  • Scroll input: Lenis wheel/touch payloads are not recorded, only positions and state.
  • Reports are static files. Share them like any screenshot of your product.

Options

OptionDefaultDescription
privacy.maskInputstrueMask text inputs, textareas, selects and contenteditable regions in every screenshot
privacy.maskSelectors[]Extra selectors to mask
privacy.redactQueryParamstrueReplace query values in recorded URLs with REDACTED
privacy.allowQueryParams[]Query parameters safe to record verbatim
TypeScript
privacy: {
  maskSelectors: [".account-email", "[data-private]"],
  allowQueryParams: ["page", "tab"],
},

Captures and reports contain screenshots of your app. Treat them like any screenshot of your product: CI artifacts of a private repository are visible to everyone with read access to it.