Skip to main content
This guide covers how to configure Userplane’s blur feature in your application. Blur obscures sensitive content in screen recordings so that private data like passwords, payment details, and personal information is never captured in a readable state. Blurring is adaptive — the blur intensity adjusts based on the size of the content being obscured, so small text and large images are both properly hidden.

Prerequisites

The Userplane SDK or embed script must be on the page. See the Installation guide for setup.

Quick start

Add the data-userplane-blur attribute to any element you want blurred in recordings:
The element and all its children are blurred. That’s it — the SDK handles the rest automatically.

Blur methods

There are three ways to mark elements for blur: data attributes, CSS classes, and meta tags. You can mix and match these across your application.

Data attribute

Add data-userplane-blur to any HTML element. Accepted truthy values are true, 1, yes, or just the bare attribute with no value.
This is the most straightforward approach when you have direct access to the markup and want to blur specific elements.

CSS class

Add the userplane-mask class to any element:
This is useful when you prefer class-based styling conventions or need to toggle blur via JavaScript by adding/removing the class.

Meta tags

Define blur targets using CSS selectors in a <meta> tag in the document <head>. This lets you blur elements by class, ID, or any valid CSS selector without modifying the elements themselves.
You can use multiple meta tags. All selectors across all tags are collected and applied. This approach is useful when:
  • You want to centralize blur rules in one place rather than scattering attributes across components.
  • You need to blur third-party embedded content you don’t control.
  • You want non-developers (or a CMS) to manage blur targets without touching component code.

Choosing a method

All three methods can be used together. An element that matches any of them will be blurred.

Excluding elements from blur

To explicitly exclude an element from blur — even if a parent or broader selector would otherwise blur it — set the attribute to a falsy value:
Accepted falsy values are false, 0, and no. Unmask always takes precedence over mask when both match an element.

Automatic blur

When the Hide sensitive fields domain preference is enabled, the SDK automatically detects and blurs common sensitive elements without any code changes:
  • Password inputs (type="password")
  • Credit card fields (inputs with autocomplete values like cc-number, cc-exp, cc-csc)
  • Other browser-identified sensitive input types
This is controlled entirely from domain settings in Workspace Settings and requires no HTML changes.

Third-party tool compatibility

If your application already uses privacy attributes from another session replay or analytics tool, the SDK recognizes and respects those attributes automatically. You do not need to re-tag elements.

Supported providers and their selectors

Generic privacy attributes are also recognized: [data-private], .private, [data-sensitive], .sensitive.

Third-party unmask selectors

Some providers define unmask selectors, which the SDK also respects:

Dynamic content

Blur automatically handles content that is added to the page after initial load. This includes elements rendered by client-side frameworks (React, Vue, Angular, etc.), lazy-loaded content, and dynamically injected HTML. If a new element matches any active blur selector — whether from a data attribute, CSS class, meta tag, or third-party attribute — it is blurred as soon as it appears in the DOM. No additional setup is needed.

Common patterns

Blur a form section

Only the card section is blurred. The shipping address remains visible in the recording.

Blur with exceptions

The balance is blurred, but the account type label remains readable.

Centralized blur via meta tags

Then anywhere in your app:
Both elements are blurred without needing individual attributes.

Blur in a React component

The patient name and appointment date remain visible. Personal health information is blurred.

Verifying blur

To confirm blur is working correctly:
  1. Add a data-userplane-blur attribute to a test element.
  2. Create a recording using a recording link on the same domain.
  3. Play back the recording and verify the element is obscured.
Blurred elements appear with a visual blur effect in the recording — the element’s position and size are visible, but the content is unreadable.

Data blur in action — step 1

Data blur in action — step 2

Data blur in action — step 3

Data blur in action — step 4

Data blur in action — step 5