Skip to main content
Relyv SDK

One script tag. Pixel-perfect replay.

The Relyv browser SDK captures DOM mutations, network calls, console logs, and rage clicks — with PII masked on the device, not the server. Loads in 14 KB gzipped.

Quickstart

Drop this snippet just before </head> on every page you want to record. Replace YOUR_PROJECT_KEY with the key from your project's install page.

HTMLCopy & paste
<script>
  (function(r,e,l,y,v){r[v]=r[v]||function(){(r[v].q=r[v].q||[]).push(arguments)};
  var s=e.createElement(l),f=e.getElementsByTagName(l)[0];s.async=1;s.src=y;f.parentNode.insertBefore(s,f);})
  (window,document,'script','https://relyv.ai/sdk/v1/relyv.min.js','relyv');
  relyv('init', { projectKey: 'YOUR_PROJECT_KEY' });
</script>

Prefer npm? See the bundler instructions — same API, tree-shakeable, TypeScript types included.

What it captures

DOM mutations

Every node added, removed, or changed — keyframed for instant scrubbing. No video, no pixels: a deterministic replay you can step through.

Network & console

XHR, fetch, WebSocket frames, and every console.* call — synced to the exact mutation that triggered them.

Rage clicks & frustration

Local micro-classifier flags rage clicks, dead clicks, and U-turns without sending raw events to the server.

PII redaction by default

Inputs are masked on the device with a WASM micro-LLM — emails, SSNs, and card numbers never leave the browser.

Built for production

  • 14 KB gzipped — half the size of every alternative we measured.
  • Async-loaded — never blocks paint, never blocks the main thread.
  • WAL-backed upload — resilient to flaky networks and tab closes.
  • CSP-friendly — works under script-src 'self' relyv.ai.
  • Open to inspect — sourcemap published alongside every release.

Ready to install?

Sign up free and get your project key in under a minute.