SDK
Install once. Every other surface reads from that one stream.
Read the SDK docs
Olive
Codebuff
Attensira
Assemble
Opennote
Stratify
Gatekeep
Olive
Codebuff
Attensira
Assemble
Opennote
Stratify
Gatekeep
Olive
Codebuff
Attensira
Assemble
Opennote
Stratify
GatekeepWhat it captures
Replay, issues, analytics, and the agents all read the same stream. Nothing here is a second integration you enable later.
Session replay
rrweb DOM chunks, batched and flushed on idle, posted to the ingestion endpoint rather than streamed continuously.
Autocaptured events
$pageview, $click, $form_submitted, $rageclick, $deadclick and more, without you instrumenting a single handler.
Errors and crashes
Unhandled exceptions and crashes with the breadcrumbs that preceded them, fingerprinted server-side into issues.
Console and network
Console warnings and errors plus failed requests, attached to the session's timeline.
Core Web Vitals and spans
Performance measured in real browsers on real connections, not in a synthetic lab run.
Presence
Heartbeats roughly every thirty seconds keep idle tabs in the live set, and unload ends the session cleanly.
Install
init creates a singleton and starts immediately — there is no separate start() to remember and no bootstrap request to wait on before recording begins.
import { HumanBehaviorTracker } from "humanbehavior-js";
const tracker = HumanBehaviorTracker.init(
process.env.NEXT_PUBLIC_HUMANBEHAVIOR_API_KEY!,
{
release: process.env.NEXT_PUBLIC_APP_VERSION,
environment: "production",
},
);HumanBehaviorTracker.init(apiKey, {
redactionStrategy: {
// Default. Every input value is masked in the browser.
mode: "privacy-first",
// Open only the fields you have decided are safe.
unredactFields: ['input[name="email"]', "#public-search"],
},
});Getting it in
Run npx @humanbehavior/wizard
It authorizes the project in your browser, detects your framework, and applies the install — or use --dry-run to see what it would change first.
It knows your framework
Next.js, Nuxt, Vue, Remix and React Router 7, SvelteKit, Angular, Astro, Gatsby, plain React, and vanilla HTML each get their correct provider placement.
Upload source maps
The upload-sourcemaps CLI ships with the wizard, so stack traces resolve to your files instead of minified bundle offsets.
Details
Keep going
Everything here reads from the same recorded session — there is nothing to stitch together between surfaces.
One SDK, one afternoon. We will walk your team through it on a call and leave you with the recording of your own product.