General
Q: What is Session Replay?
A: Sentry’s Session Replay provides a video-like reproduction of user interactions on a site or web app, giving developers the details they need to resolve errors and performance issues faster. All user interactions - including page visits, mouse movements, clicks, and scrolls - are captured, helping developers connect the dots between a known issue and how a user experienced it in the UI.
Q: Is Session Replay a screen recording? Does it capture pixels, or something else?
A: Session Replay is not a “screen” recording, but rather a recording of the web browsers’ DOM. It is not an actual video, but instead a reconstruction of the web page as the user saw it. As such, it does not have pixel-perfect accuracy and some deviations may occur.
Q: How do you protect user data?
A: We offer a range of privacy controls to let developers ensure that no sensitive user information leaves the browser. By default, our privacy configuration is very aggressive and masks all text and images, but you can – for example – choose to just mask user input text. More in our docs here. We also provide server-side scrubbing to additionally filter on the server in case anything slips by.
Additionally, we offer a self-serve deletion capability of individual replays in the UI.
Session Replay adheres to the same security standards and is subject to the same compliance requirements as all of our software. Please see here for further details.
Q: How can I provide my feedback on Session Replay?
A: For bugs and other feedback, please open a GitHub issue on the sentry-javascript repo (if it’s SDK-related) or sentry repo.
Q: Can I use Session Replay and comply with the GDPR and CCPA?
A: Yes, we offer a Data Processing Addendum (DPA) to cover GDPR and CCPA requirements for any personal data sent to Sentry, including via our Session Replay product. You can enter into our DPA by following the instructions here.
Pricing
Q: How much does Session Replay cost?
A: Please check out our pricing page for details.
Q: When will the free preview period end? How much time will I have before Session Replay transitions to a paid product?
A: If you were using Session Replay in beta, your free preview period will be extended for 2 billing cycles past the GA date of February 13th, 2023. To continue using Session Replay, you’ll need to manually opt-in to the paid version. We will not automatically charge your account.
Technical
Q: What is the performance overhead of using Session Replay?
A: Session Replay adds a small amount of performance overhead to your web application. The performance overhead basically scales linearly with the amount of DOM complexity your application has. The more DOM state changes that occur in the application lifecycle, the more events that are captured, transmitted, etc.
We employ standard optimizations such as data compression, which is performed in a web worker outside of the browser’s UI thread in such a way that minimizes impact on your application. We are always looking at ways to reduce performance overhead.
Q: How does Session Replay work if adblock is installed on an end-user’s browser?
A: If adblock is installed on an end-user’s browser, we will not be able to record their sessions; the same is true for Sentry errors. Here is a workaround we have available.
Q: Does Session Replay support capturing canvas content?
A: Canvas is supported in SDK versions >= 7.98.0
. Please see the canvas setup documention to get started with canvas recordings.
Q: My custom CSS/Images/Fonts/Media are not appearing when I view the replay, is it broken?
A: The replay ‘video’ is actually a video-like reproduction of the HTML on your website. This means that all the external resources your site uses (CSS/Images/Fonts) will be rendered by the corresponding <style>, <img> and <video> tags on your site.
Add sentry.io
to your CORS policy so the iframe hosted on sentry.io can fetch and display these resources.
Note that only static, publicly hosted videos (for example, src="./my-video.mp4"
) can be captured by Replay. Streamed videos and similar are not supported.
Due to browser limitations, SVGs containing <use>
tags with links to your domain cannot be accessed from other origins, even if you add sentry.io
to your CORS policy. This is a known issue and we are working on a solution.
Q: Does Session Replay use cookies?
A: No, we don’t use cookies. We use session storage. We use it in order for recordings to span between page refreshes. It persists for as long as the tab/window is active.
Q: I use another session replay product. Can I safely try Sentry’s Session Replay while running another session replay product?
A: While we don’t recommend running two session replay products in parallel, you can roll a random number to initialize one session replay product or the other to mitigate performance concerns.
const useSentryReplay = Math.random() > 0.5;
if (useSentryReplay) {
getCurrentHub().getClient().addIntegration(new Replay());
} else {
// initialise other replay product
}
Q: Can I record sessions from a browser extension?
A: No, the replay SDK is built to work on a website, and not on injected script via browser extension or other mechanism. In fact, Sentry’s Session Replay product can help developers find out when a third-party Chrome Extension causes issues with their websites which are otherwise hard to debug or reproduce.
Platform support
Q: What platforms does Session Replay support?
A: Session Replay supports all browser-based applications. This includes static websites, single-page-aplications and also server-side-rendered, that includes frameworks such as: Django, Spring, ASP.NET, Laravel, Express and Rails. If you don't use npm
or yarn
, you can use our Loader script tag on your main HTML template.
The Sentry SDK that records the replay runs on the client's browser, and it’s built-in to @sentry/browser
and our browser framework SDKs:
Q: Is Session Replay available on mobile?
A: Session Replay is not available on native mobile apps. There are no plans yet to change this. If you’re interested in mobile support on Session Replay, please leave a thumbs up or a comment in the GitHub issue of the specific mobile platform(s): Android, iOS, React Native, Flutter and .NET MAUI. We’ll update those issues if our plans change in the future.