Open capture
The MIT-licensed recorder turns browser state into rrweb events.
Build your own embedded replay
rrweb gives you the capture format and replayer. Your application keeps its own navigation, data model, permissions, and workflow around the playback experience, so replay ships as a feature you own instead of an iframe you embed from a session-replay SaaS.
Synced context
Public rrweb usage in analytics and observability products.
The rrweb replayer exposes the controls your product needs: play, pause, seek, speed, resize, and events that keep surrounding panels synchronized.
Control playback from your product
rrweb reconstructs the captured page inside a sandboxed iframe. Your application supplies the route, panels, controls, keyboard behavior, and visual system around it.
The replay belongs in your interface
rrweb supplies
you supply
A recording id identifies data. Resolve tenant and role access on your backend before you issue a short-lived playback response or proxy the event stream through your own API. Apply data masking before those events leave the recorded page.
Your backend decides who can watch
The recorder produces typed browser events. Your infrastructure stores and indexes them. The replayer can sit inside a bug report or interactive demo, inside the workflow and authorization boundary you control.
The MIT-licensed recorder turns browser state into rrweb events.
Store recordings beside your tenant, issue, run, or customer model.
Embed the replayer in your own route with your controls and permissions.
The same open recorder works with your infrastructure or ours.
Run capture, storage, indexing, authorization, and playback entirely behind your product’s existing infrastructure.
Use managed ingest, storage, and replay while keeping your product’s route, permissions, metadata, and user experience.
Yes. The rrweb recorder and replayer are MIT-licensed, which permits commercial use and modification. Check the licenses of any additional packages or backend components you adopt.
Both paths use the same rrweb recording format. You can self-host the recorder, storage, API, and replayer, or use rrweb Cloud for managed ingest and replay delivery while your product keeps its own route, permissions, and metadata.
Yes. The MIT-licensed replayer can be modified and placed inside your own interface. Your product controls the domain, typography, navigation, playback controls, and surrounding workflow. Check the licenses of any additional packages or backend components you use.
No. The replayer rebuilds the recorded DOM in a sandboxed iframe and simulates the recorded cursor and interactions visually. It does not rerun the original application scripts or network requests.
Resolve the signed-in user, tenant, and required scope on your server before returning recording data. Use short-lived URLs or authenticated endpoints and log access where recordings contain personal data.
A packaged product gives you replay on its domain, priced per seat or per session, reachable mostly through its own UI. rrweb gives you the open recorder, event format, and replayer, so playback ships as a native feature of your product, on your route, behind your permissions, in your storage. Choose the SaaS when a separate app is enough; choose rrweb when replay has to be part of what you ship.