Last updated · 2026-08-31
04 · In practice
juuna records real sessions with masking on by default and keeps the recordings on your own dedicated instance: every input value is masked before it leaves the browser, no recording stores an IP, and everything expires on schedule.
I
The mechanism
The SDK records with rrweb: one snapshot of the page’s structure, then the stream of mutations, scrolls and clicks that follows. Playback rebuilds the session pixel for pixel. Recording is opt-in per product, sampled at whatever rate you set, and capped at 30 minutes per session, so a forgotten tab cannot record an afternoon.
Masking happens in the visitor’s browser, before anything is sent. Every input value is masked by default, and passwords are masked whatever you configure. Per element you can go further: one class removes an element from recordings entirely, one ignores its inputs, one masks its text, and a single option masks all visible text on the page.
Replay chunks post to their own endpoint on your instance, deliberately apart from analytics: a replay failure can never break your app or your event stream. A live panel follows a session while the visitor is still on the site.
II
The custody
On your instance and nowhere else. Recordings sit in your own Postgres on your own machine, are pruned after about 30 days by default, and on the Max plan you choose the retention yourself. An erasure request deletes a person’s recordings along with their events and traits.
Replay is part of the analytics, not a bolt-on: the replay index lists sessions beside the same traffic, funnel and vitals views, and the click heatmaps borrow replay’s page snapshots as their backdrop. One tool, one visitor model, one database.
III
The honest part
Two limits worth knowing before you buy. Microsoft Clarity offers basic session replay for free, on Microsoft’s infrastructure and terms; if zero is the budget, it exists. And PostHog’s replay carries deeper debugging, console logs and network capture; juuna records what the visitor saw and did, not the devtools underneath.
And one responsibility that stays yours: masking defaults, retention caps and IP-free recordings are juuna’s job, but telling users about recording and deciding whether your jurisdiction requires consent for it is yours. Replay is off until you switch it on, which is the right default for exactly that reason.
IV
The ledger
§
Asked and answered
Keep reading
Heatmaps · GDPR analytics · juuna vs Hotjar · juuna vs PostHog · The integration docs · Pricing
Flat plans, everything included; every paid plan is a dedicated instance of your own.