Product
BetaSelector-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.
{
"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
Prefer stable, dedicated selectors
data-private to sensitive elements rather than relying on fragile class names that change with styling.Test before you rely on it
Next steps
Redaction is available in beta as selector-based masking. Broader options are on the roadmap alongside webhooks.