Session recording

Session recording is the capture side of session replay: collecting a user's page state and interactions as structured events while they browse. The recording is the stored artifact; replay is what you do with it. In practice the two terms are often used interchangeably for the whole record-and-replay workflow.

How it works

A script on the page (in rrweb, the record() function) serializes the DOM once, then listens for mutations, mouse and touch activity, scrolls, viewport changes, and input events, emitting each as a JSON object with a timestamp. The emit callback is where an application decides what to do with events: batch them, compress them, and send them to storage. Recording runs continuously and quietly; the design goal is that users never notice it. The recording guide covers the main options.

Where you encounter it

Every session replay product starts here, and the recording layer is where privacy controls live, because whatever is never captured can never leak. Masking happens at record time in the browser, not later on the server; see data masking.