Product

Beta

Selector-based redaction

Tell SessionShot which elements to hide, and they are masked inside the browser before the screenshot or PDF is rendered — the sensitive pixels never exist in the output.

What redaction means here

Redaction runs server-side in the capture worker, before the output is produced. You pass CSS selectors in the request; matching elements are masked in the rendered page. This is different from blurring an image after the fact — the underlying content is never drawn into the capture.

What teams redact

Billing information

Blank out card details, invoice amounts, or plan pricing before sharing a dashboard capture.

Customer emails and names

Share the shape of a customer list without exposing the people in it.

Internal notes

Hide internal-only comments and flags when capturing support or admin views.

Visible IDs and tokens

Mask identifiers that appear in the UI so captures can circulate more freely.

How it looks in a request

Redaction is part of the capture request body. Placeholders only — see the API reference for the full schema.

request body — redaction
{
  "url": "https://app.example.com/billing",
  "redaction": {
    "selectors": [".billing-info", ".customer-email", "[data-private]"]
  },
  "output": { "format": "png", "fullPage": true }
}

Best practices

Avoid secrets in URLs entirely

Redaction hides page elements, not the URL you asked for. Never put tokens or secrets in query strings — use the request's auth fields for session state instead.

Prefer stable, dedicated selectors

Add explicit attributes like data-private to sensitive elements rather than relying on fragile class names that change with styling.

Test before you rely on it

Selectors are applied as-is: if a selector stops matching after a UI change, the element will appear in captures. Redaction reduces exposure — it is not a data-loss-prevention guarantee. Review captures of sensitive pages before wiring them into production workflows.

Next steps

Redaction is available in beta as selector-based masking. Broader options are on the roadmap alongside webhooks.