> ## Documentation Index
> Fetch the complete documentation index at: https://docs.observerbee.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sessions

> What a recorded session contains and how session data is stored.

A session is one user's continuous visit to your product, recorded by the [SDK](/sdk/installation) as a stream of rrweb events: full DOM snapshots, incremental DOM mutations, clicks, scrolls, inputs (subject to [masking](/sdk/privacy-masking)), route changes, and any [custom events](/sdk/configuration#track-eventname-properties) you track.

Sessions are the raw material for everything else in Observerbee. The [state engine](/concepts/state-engine) replays them to build your product's screen graph, and the path engine mines that graph for [journeys and goals](/concepts/journeys-and-goals).

## What a session includes

* **Replay events**: everything needed to reconstruct what the user saw and did, minus masked or blocked content, which never leaves the browser.
* **Identity**: anonymous by default; your own user ID and traits if you call [`identify()`](/sdk/identifying-users).
* **App version**: detected automatically or set via config, so sessions can be tied to releases.
* **Geo**: resolved at country level. City-level resolution is coming soon.
* **Environment**: live or test, determined by the API key used to record. See [Environments](/concepts/environments).

## Session boundaries

A session continues across page loads within the same visit (`persistSession`, on by default). After 30 minutes of inactivity (configurable via `maxIdleTime`), activity counts as a new session.

## Storage

* Raw session replays are stored as compressed archives.
* When the state engine processes a session, it captures screenshots of each meaningful screen; these are stored and used for analysis and shown in the dashboard.

## Delivery guarantees

Sessions survive flaky networks and killed tabs: events are persisted in the browser before sending, and stranded data is delivered on a later page load, up to 7 days after the session. See [Reliability](/sdk/reliability) for the full picture.
