// Platform — Capture

Every bug, captured whole. One click. Full context.

The moment an issue is flagged, Rebase captures everything an engineer needs to reproduce it — with no extra steps for the person reporting.

Flag it on the page

Anyone on your team clicks the element that looks wrong — right on the live site.

Rebase captures the session

The last 50 actions, console entries and requests are merged into one time-ordered timeline, with a screenshot from the moment of the click.

A structured ticket lands

The report arrives triaged and reproducible — in Rebase and in your issue tracker.

// The whole session

The session tells the story.

Reporters never have to describe a bug from memory. Actions, errors and failed requests are merged into one causal timeline — Clicked 'Save' → POST /orders returned 500 → TypeError follows — so the fix starts from evidence, not a guess.

  • Dead clicks and rage clicks detected and labelled
  • GraphQL-aware — operations named, 200s with an errors array caught
  • The tail survives reloads: 15 actions and 10 errors persist
Rebase · acme.comRB-128

Pay now button does nothing on checkout

HighBug2 duplicates
browserChrome 140 · macOS 15
console2 errors · 1 warning
networkPOST /api/orders → 500
timelineclick → 500 → TypeError
screenshotviewport · Rebase UI filtered out

captured automatically · one click

// Nothing hidden

See what you send.

Before a report goes anywhere, reporters can open the Data points summary and see exactly what rides along — the step timeline, console, network and device tabs, with counts.

  • The flagged element, its framework component and its file:line
  • Anchors re-attach via four selector strategies, with a ghost-marker fallback
  • Deep context: ARIA, computed styles, an 8-level ancestor breadcrumb

// The details

Captured with every report. Automatically.

  • A causal timeline — actions, errors and failed requests, in order
  • Dead-click and rage-click detection, with proof attached
  • The tail survives reloads — a page-load boundary marks the break
  • Requests classified: HTTP error, timeout, aborted, offline or blocked
  • GraphQL requests named by operation, body errors caught
  • Deep element context, up to 8 ancestor levels
  • A device & environment snapshot, taken once at submit
  • Screenshots up to 5 MB, re-encoded server-side

Frequently asked questions

Have more questions? Contact us

The flagged element, the last 50 user actions, the last 50 console errors and warnings, the last 50 network requests, a device and environment snapshot, and a screenshot — merged into one time-ordered timeline: Clicked 'Save' → POST /orders returned 500 → TypeError follows.

Rebase runs on public HTTPS domains — production and staging. On localhost the widget explains itself in the console instead of failing silently, so the tag is safe to keep in development.

Capture runs on every visitor session of a set-up site, but filing a report requires sign-in — a 6-character email code, no password. Invited teammates are signed in straight from their invite link.

Everything typed is masked before it ever enters the capture buffer, and password, card and one-time-code fields are hard-blocked — no configuration captures them. Everything is scrubbed a second time on the server.

// Keep exploring

The rest of the platform. It all works together.

Start shipping feedback faster.

Start your 7-day free trial.