Disable Sentry session replay for Epure
Zero replay sample rates. Epure does not store replays.
On this pageShowHide
Session replay records DOM and clicks. Epure does not store replay items. Zero the replay sample rates so the browser stops recording when the other end will not keep the data. Keep exception Issues working with ErrorBoundary / captureException.
Incident anecdote
Tuesday, 16:40 PT. Support pinged for "the replay of the checkout glitch." On Epure there is no replay product, so there was nothing to open. There was a TypeError issue with a climbing count and chargeCard as the top in-app frame. We patched from the stack in twenty minutes. The replay request was suite habit. Habit is how replaysOnErrorSampleRate: 1.0 survives in a boilerplate Sentry.init long after the team stopped watching recordings.
After the patch we grepped the monorepo for replay. Two frontends still sampled. We set both rates to 0, redeployed, and wrote one line in the on-call doc: "Epure does not store replays; do not ask for them here."
Client bundle still recording
Wednesday morning the on-call doc was already stale. A Next.js app had zeroed @sentry/node on the server and left the browser bundle on @sentry/react with replaysOnErrorSampleRate: 1.0. Support asked for a replay again after a UI-only validation error that never hit the server. Wrong: assume server init covers the tab. Right: grep replaysSessionSampleRate and replaysOnErrorSampleRate under app/, src/, and any instrumentation-client file. Zero both rates in the client Sentry.init, redeploy the browser assets, and confirm the network panel no longer posts replay envelopes.
Dual-send Cloud bill
Friday finance pinged a Sentry Cloud replay overage. Epure Issues looked fine. Dual-send had left the Cloud DSN with replaysSessionSampleRate: 0.1 during a soak week nobody ended. Wrong: zero only the Epure init. Right: grep every DSN and every replay rate. Zero the Cloud init or remove the soak transport. Verify with one captureException on Epure (HTTP 202, Issues row) and with the browser network panel showing no replay uploads to either host.
Runnable init (React)
import * as Sentry from "@sentry/react";Sentry.init({dsn: process.env.SENTRY_DSN,tracesSampleRate: 0,profilesSampleRate: 0,replaysSessionSampleRate: 0,replaysOnErrorSampleRate: 0,});
Install pin matching this site: npm install @sentry/react@7.120.0. Wrap the tree in Sentry.ErrorBoundary when you verify render throws. Full hub: React integration.
Runnable init (browser)
Same four rate keys on @sentry/browser@7.120.0. One Sentry.init, one DSN. No custom client construction. Vanilla pages without a React boundary still need captureException in the handlers you care about.
When replay is the right buy
Keep Sentry Cloud or another suite when support closes tickets from recordings as the normal workflow, or when you debug UI-only issues with no server exception. That job is real. Buy it on purpose. Error tracking vs APM vs replay.
Failure modes
- Empty Replay UI on Epure - expected. Not an ingest bug. Fix the expectation; use Issues.
- Sentry Cloud still bills replay - dual-send left replay rates high on the Sentry DSN. Zero there too or drop the dual-send.
- CORS blocks envelopes - OPTIONS must succeed from the page origin. Replay rates will not fix CORS. Check browser network panel.
- PII fear - replay can capture form fields. Zeroing rates removes that client behavior toward every host you configure.
- Server green, client still recording - Next.js / Vite client init missed; grep the browser bundle entrypoints.
Verify exceptions still ingest
Throw in render under ErrorBoundary or call captureException. Expect HTTP 202 and an Issues row. Verify. If 401/403, Invalid DSN. If 202 and empty list, Events not showing. Optionally confirm the network panel shows no /envelope replay item types after the rate change.
Variety note
Tracing guide uses wrong-then-right pairs. Profiling guide uses an ordered checklist. This guide leads with the support incident on purpose. Keep the three shapes distinct.
Browser-only note
Replay keys live on browser SDKs. Server Node init does not need replay rates, but your Next.js client bundle does. Indies and startups often fix the server and forget the client. Grep replaysOnErrorSampleRate in app/ and src/ as well as server/.
Privacy and counsel
If counsel already disliked replay for PII reasons, zeroing rates is both a product-scope move and a privacy move. Document that in the security questionnaire: "Session replay is not enabled; sample rates are 0; Epure does not store replay items."
Source maps still matter
Zeroing replay does not forgive missing source maps. Minified component stacks still need maps for the same release if you want readable Issues. Sourcemaps. Replay was never a substitute for a demangled frame on a server-backed throw.
Mesh
Pair with Disable tracing and Disable profiling. Keep anecdote-first shape here.