Skip to content
You are reading the docs for Backstory 0.2 (private beta). Behavior may change before general availability; the changelog lists every change.

Configuration reference

OptionDefaultNotes
projectKeyrequiredPublic project key
ingestUrlSaaS ingestSelf-hosted: your gateway /v1/ingest
privacy.modestrictstrict (privacy on) | permissive (privacy off) (details)
privacy.allowUnmaskfalseHonor data-backstory-unmask in strict mode
consent.requiredfalseCapture nothing until Backstory.consent.grant()
recording.memoryBudgetMB24In-memory buffer ceiling; auto-lowers to 8 on low-memory devices
recording.batchMs / batchBytes1000 / 65536Chunk flush thresholds
recording.pointerHz20Pointer sampling rate at HEALTHY
recording.checkpointMinutes5Full snapshot interval
recording.segmentHours4Segment rollover (1–24)
network.captureMetatrueFetch/XHR/resource and WebSocket lifecycle/frame metadata; bodies and WebSocket message text are never captured by default
release, environment—Attached to every session and filterable in the dashboard
endUserId—Identify at init
debugfalseEnables the debug state and console diagnostics
workerUrlinlinedServe the Recorder Worker from your origin instead of a Blob URL

Invalid values fall back to defaults with a single console.warn; init never throws.

Remote configuration from the dashboard (recording on/off, sampling, collectors, canvas, kill switch) is fetched at init and merged over these values; see Recording controls.