FAQ
Does Backstory record video? No. It records the DOM and its changes, interactions, and context, then reconstructs them in a sandboxed player. Canvas and WebGL are recorded as commands or encoded frames only when visible and allowlisted.
Can it crash my page? The recorder runs in a Web Worker with a hard memory budget and a five-level governor. Under pressure it thins pointer samples, lowers canvas quality, and eventually abandons a range while recording an explicit gap. A watchdog stops it entirely if it misbehaves. A load test on every merge asserts flat memory under a slowed network.
What about passwords and PHI? Masking runs on the device before upload. Password and card fields are always masked. Strict mode masks all text. A server-side scanner quarantines suspected leaks as defense in depth.
How long can a session be? A visit is unbounded. Storage is split into 4-hour segments at checkpoint boundaries, so the seam is invisible in the Player. Kiosks and telehealth workstations can run for days; monitor mode makes idle hours nearly free.
Why do other tools cut at four hours? Player memory, pipelines that run at session end, daily retention partitions, analytics semantics, recorder state growth, clock drift, and billing. Segments solve each of those without cutting the visit.
Which browsers? Current Chrome and Safari are checked every night: real public pages are recorded and replayed in each and compared with the live page. Firefox runs in the same check. Older browsers are feature-detected; WebCodecs and WebTransport paths fall back gracefully, and anything the recorder cannot capture shows as a gap in the player instead of a wrong picture.
Do I need Kafka? No. Object storage is the durable log; a Postgres table holds chunk pointers. Self-hosting needs Postgres, ClickHouse, and an S3-compatible store.
Can I bring my own AI key? Yes on Business and Enterprise. PHI organizations route only to Bedrock in their region.
Is the AI going to make things up? Every claim requires a citation to a transcript step, enforced by schema validation. Uncited claims are dropped and never rendered. Gaps in recording are explicit in the transcript.
How do I log a business event, not a console line? Backstory.track(name, props, { severity }). Those events have their own Custom events panel in replay and Live Assist, and they can fire alerts. See Custom events.
What does a stored session cost? See pricing. Sessions buffered but never uploaded are free.