---
title: Replays & the session player | ReplayPilot Docs
description: Watch what a visitor actually did, click by click, with playback controls.
canonical: https://replaypilot.com/docs/replays
---

# Replays & the session player | ReplayPilot Docs

Search docs…⌘KBrowse docs

Get started
- [Installation](/docs/getting-started)
- [What's new](/docs/whats-new)

Dashboard
- [Replays & the session player](/docs/replays)
- [Errors](/docs/errors)
- [Frustration signals](/docs/frustration)
- [Funnels](/docs/funnels)
- [Releases](/docs/releases)
- [Logs & network requests](/docs/logs)
- [Visitors](/docs/visitors)
- [Heatmaps](/docs/heatmaps)
- [Click map](/docs/click-map)
- [Cohort retention](/docs/cohorts)
- [Projects & project keys](/docs/projects)
- [Alerts](/docs/alerts)
- [Shared links](/docs/shared-links)

Integrations
- [Integrations](/docs/integrations)
- [MCP server](/docs/mcp-server)

Account & data
- [Billing & plans](/docs/billing)
- [Security & masking](/docs/security-masking)
- [Data retention & limits](/docs/retention-limits)
- [Team accounts](/docs/team-accounts)

# Replays & the session player

Watch what a visitor actually did, click by click, with playback controls.

## The replays list

Every recorded session shows up in the replays list, newest first. The list loads in pages, so you don't wait for your whole history to download at once.

You can narrow the list with these filters:

- **Error only**: sessions where something threw a JavaScript error.

- **Frustrated only**: sessions with a rage click or dead click. See [Frustration signals](/docs/frustration) for what those mean.

- **Browser**: Chrome, Firefox, Safari, or Edge.

- **Minimum duration**: hide sessions shorter than a length you set.

- **Search**: AI-powered: it matches on meaning, not just exact keywords, by searching against an AI-generated summary of each session rather than raw text.

- **Project**: if you record more than one site or app, filter to one. See [Projects & project keys](/docs/projects).

## Opening a session

Click any row to open the session detail page. This is where you watch the recording and see everything else ReplayPilot captured alongside it.

### The player

The player is built on [rrweb-player](https://github.com/rrweb-io/rrweb-player), an open-source library for replaying recorded sessions. You get standard playback controls: play, pause, seek to any point, and change the playback speed.

Some sessions have no recorded frames, for example when a visitor's tab closes before the recorder captures anything. In that case, the page shows "This recording has no playable frames" instead of a player. That's an honest empty state, not a bug.

### The "What happened" timeline

Next to the player, a timeline lists everything that happened during the session, in order: clicks, page navigations, form input, errors, custom tracked events, rage clicks, and dead clicks. Timecodes start at 00:00 using the first recorded rrweb event as the origin, matching the player and deep links.

### Console and network

Below the player, a panel with two tabs shows the browser console messages and network requests that happened during the session. Both come from the recording itself, not a live fetch, so they show exactly what the visitor's browser saw, even after the fact. See [Logs & network requests](/docs/logs) for more.

### AI summary

When available, a short AI-written summary of the session appears at the top of the page, badged "AI summary." It's a quick read of what happened, not a replacement for watching the recording yourself.

### Identified visitors

If your snippet calls identify() for a visitor, the session detail page shows a badge with who they are. Hover the badge to see their traits, such as their name, plan, or any other data you passed to identify().

### Sharing a session

Two options let you point someone at a specific session or moment:

- **Share externally** generates a link anyone can open, without an account. See [Shared links](/docs/shared-links) for how those links work and how to revoke them.

- **Copy link to this moment** copies a link that opens the recording already seeked to the timestamp you're on.

### Ask the AI assistant

Every dashboard page has a floating AI assistant bar. Ask it a plain-English question about your data, something like "which sessions had the most errors this week?". It answers from your project's own aggregate data, not a canned response. It works on every plan, metered by a monthly question quota. See [Billing & plans](/docs/billing) for your plan's limit, which is separate from the free AI summaries and search above.

## Session boundaries inside a tab

ReplayPilot keeps a recording active while a visitor is meaningfully interacting. After 20 seconds without meaningful visitor activity, it flushes and ends that session. Lightweight activity listeners stay in place. If the visitor returns later, ReplayPilot re-checks the project's Ignored Paths rules, then starts a new session ID with a fresh full-page snapshot. It never appends returning activity to the old finalized session.

Moving through several SPA routes without crossing that inactivity boundary can still remain one continuous recording, unless an Ignored Paths rule changes what ReplayPilot collects on the new route.

## Privacy

ReplayPilot masks passwords and card numbers automatically, before a session is ever stored. See [Security & masking](/docs/security-masking) for what's masked by default and how to mask more yourself.

[← What's new](/docs/whats-new)[Errors →](/docs/errors)