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.

Sizing and retention

These figures are the object store. The app servers do not hold recordings. A bundled or single-virtual-machine install starts with a 500 GB SSD for MinIO, separate from the Postgres and ClickHouse volumes. An external install sizes the bucket you bring.

Rule of thumb: about 0.8 MB per stored session without canvas, 3–6 MB with canvas at the default level.

WebRTC call observability adds roughly 3 to 5 KB per minute per call at the default five-second sampling cadence, which is not material next to the DOM stream: a one-hour call is a few hundred kilobytes. Plan storage from sessions and canvas, not from calls.

Stored sessions / monthRetentionReplay storage held
100 K30 days~80 GB
1 M30 days~0.8 TB
1 M90 days~2.4 TB
5 M90 days~12 TB
50 M30 days~40 TB

MinIO in erasure-coded mode needs roughly 1.5× the raw figure in physical disk. ClickHouse holds flattened events, typically 5–10% of replay volume.

ComponentLimit
ClickHouse12 GB
Postgres4 GB
MinIO2 GB
Valkey1 GB
LiveKit (audio only)0.5 GB
Our five services4 GB total
Operators and add-ons2 GB
Headroom6.5 GB

The chart refuses to install the bundled profile on a node smaller than 16 GB.

Per project, in days:

DataRangeEnforcement
Replay chunks, canvas, transcripts1–400Amazon and MinIO: tag lifecycle plus a daily cleanup. Google Cloud and Azure: the daily cleanup
Flattened events1–400ClickHouse TTL
Aggregates30–800ClickHouse TTL on materialized views
Audit log6 yearsNever shortened

Retention classes are 7, 14, 30, 60, 90, 180, 365, 400 days, and pinned. Changing a project’s retention applies to new objects immediately. On Amazon and MinIO, existing objects are re-tagged in the background. Legal holds use Object Lock, which MinIO supports with the same API.