Privacy
What MotionPR records, what it masks and redacts, and where data goes — with every privacy option.
On this page
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 withprivacy.maskSelectors. - Filled values (
fillsteps) are never written to captures or reports; Playwright error messages that echo them are redacted. - URLs: query-string values are replaced with
REDACTEDunless listed inprivacy.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
| Option | Default | Description |
|---|---|---|
privacy.maskInputs | true | Mask text inputs, textareas, selects and contenteditable regions in every screenshot |
privacy.maskSelectors | [] | Extra selectors to mask |
privacy.redactQueryParams | true | Replace query values in recorded URLs with REDACTED |
privacy.allowQueryParams | [] | Query parameters safe to record verbatim |
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.