Skip to content

Choose the right SDK

Supported platforms, versions, requirements and what the Belvador SDK sends — and does not send.

Markdown
On this page

Belvador has its own SDK packages for JavaScript runtimes and works with the official Sentry SDKs for Node.js and Python. Pick the row that matches where your code runs.

Which package do I need?#

Your appInstallGuide
Lovable app, or any TanStack Start app on Cloudflare Workers@belvador/tanstack-startTanStack Start and Lovable
React rendered in the browser (Vite, Create React App, other SPA setups)@belvador/reactReact 18 and React 19
Browser JavaScript without React@belvador/browserJavaScript in the browser
A Cloudflare Worker that is not TanStack Start@belvador/cloudflareCloudflare Workers
A Node.js server@sentry/node + Belvador DSN and scrubbing hookNode.js
Pythonsentry-sdk + Belvador DSN and scrubbing hookPython

An app with a browser part and a server part needs both parts wired. @belvador/tanstack-start covers both for TanStack Start. For other stacks, install the browser package in the frontend and the server SDK on the server — both can use the same project DSN.

Packages, versions and requirements#

PackageVersionRuns inYour app needsRuntime flags
@belvador/browser0.6.1BrowserNoneNone
@belvador/react0.6.1Browserreact ^18.0.0 or ^19.0.0None
@belvador/cloudflare0.6.1Cloudflare WorkersNonenodejs_compat
@belvador/tanstack-start0.6.1Browser + Cloudflare Workersreact ^18.0.0 or ^19.0.0; @tanstack/react-router ^1.168.0; @tanstack/react-start ^1.168.0nodejs_compat
  • The packages are ES modules for a bundler (Vite, esbuild, Wrangler). Install the exact version shown — npm install <package>@0.6.1 — so every build ships the same audited code.

  • nodejs_compat is a Cloudflare Workers compatibility flag; it gives every request its own scope so user, tags and context never leak between requests.

  • Version 0.x: the API can still change before 1.0.

What the SDK sends#

DataSent
Errors (exceptions, uncaught errors, manual captures)Yes
Job check-ins (withMonitor, captureCheckIn, heartbeat — server side only)Yes
Automatic breadcrumbs (console, clicks, fetch, XHR, navigation)Only when you turn it on
AttachmentsOnly when you turn it on
Trace headers (traceparent, sentry-trace) to your own APIsOnly when you turn it on
Tracing / performanceNo — dropped inside your app
Session replayNo — dropped inside your app
LogsNo — dropped inside your app
ProfilingNo — dropped inside your app

Anything that is not an error is dropped inside your app, before it is sent. Your node also stores only error events, attachments and delivery reports, whatever an SDK sends.

What is captured automatically#

Installing a package is not enough on its own: each runtime part reports the errors it can see once it is wired in.

Wired partReports
init() in the browserUncaught errors and unhandled promise rejections
React ErrorBoundaryErrors thrown while rendering, with the component stack
React 19 root hooksErrors React handles itself: uncaught, caught by boundaries, recoverable
TanStack Start defaultOnCatchErrors shown by route error boundaries
TanStack Start middlewareErrors thrown in server functions and server routes, with the server stack
Cloudflare withBelvadorErrors thrown in fetch, scheduled, queue, email and tail handlers

Not reported automatically: errors your code catches and handles (call captureException when you still want them), redirects, notFound(), and TanStack Start errors or responses with a status below 500.

Built on the Sentry JavaScript SDK#

Each package is a thin layer over the open-source Sentry JavaScript SDK (MIT), pinned to version 10.76.2 after review. Belvador adds the privacy rules, the errors-only policy, bounded sending and its own DSN checks. Events go only to your Belvador DSN; no Sentry account is involved, and Belvador is not affiliated with Sentry.

Because the protocol is the same, other Sentry SDKs also work with a Belvador DSN — see Migrate from Sentry. Belvador has only verified the setups on these pages.

Next#

Spotted something wrong or missing? Tell us: hello@belvador.dev