Skip to main content

Get Started

Autopilot is the session-recording SDK that powers session replay. It records what happens on a page — the initial DOM, every subsequent mutation, and user interactions such as scrolling, resizing, and pointer movement — then binary-encodes, compresses, and uploads that stream so a session can be replayed later.

Autopilot is not integrated on its own. It is loaded and initialized by the Pulse SDK, and it reuses Pulse's session context (session, device, and user identifiers) so that recordings line up with the rest of your analytics data. As an integrator you do not add a separate <script> tag or call an Autopilot init function — you enable Pulse, and Pulse brings up Autopilot when the relevant settings allow it.

What Autopilot records

  • Initial snapshot — a full walk of the document: the document node, elements, text nodes, attributes, and stylesheets.
  • Incremental mutations — node additions and removals, attribute and value changes, character-data changes, captured through a MutationObserver.
  • User interactions — scroll, resize, pointer (down, up, move, cancel, click), and tab visibility changes.

The recorded stream is encoded to a compact binary format, gzipped, and uploaded in batches, with session metadata posted alongside it for indexing.

Key characteristics

AspectBehavior
IntegrationLoaded by Pulse — no standalone script tag or init call
Session contextReuses Pulse session_id, device_id, user_id, app, country_code
EnablementGated by both a Pulse config flag and a remote setting; clients can opt out with autopilotTracking: { enabled: false } (see Initialization & Enablement)
PrivacySensitive input values are masked before recording (see Masking Sensitive Inputs)
Modesstandard (top frame) and iframe (cross-frame recording)

Next steps