Choose the right SDK
Supported platforms, versions, requirements and what the Belvador SDK sends — and does not send.
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 app | Install | Guide |
|---|---|---|
| Lovable app, or any TanStack Start app on Cloudflare Workers | @belvador/tanstack-start | TanStack Start and Lovable |
| React rendered in the browser (Vite, Create React App, other SPA setups) | @belvador/react | React 18 and React 19 |
| Browser JavaScript without React | @belvador/browser | JavaScript in the browser |
| A Cloudflare Worker that is not TanStack Start | @belvador/cloudflare | Cloudflare Workers |
| A Node.js server | @sentry/node + Belvador DSN and scrubbing hook | Node.js |
| Python | sentry-sdk + Belvador DSN and scrubbing hook | Python |
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#
| Package | Version | Runs in | Your app needs | Runtime flags |
|---|---|---|---|---|
@belvador/browser | 0.6.1 | Browser | None | None |
@belvador/react | 0.6.1 | Browser | react ^18.0.0 or ^19.0.0 | None |
@belvador/cloudflare | 0.6.1 | Cloudflare Workers | None | nodejs_compat |
@belvador/tanstack-start | 0.6.1 | Browser + Cloudflare Workers | react ^18.0.0 or ^19.0.0; @tanstack/react-router ^1.168.0; @tanstack/react-start ^1.168.0 | nodejs_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_compatis 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#
| Data | Sent |
|---|---|
| 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 |
| Attachments | Only when you turn it on |
| Trace headers (traceparent, sentry-trace) to your own APIs | Only when you turn it on |
| Tracing / performance | No — dropped inside your app |
| Session replay | No — dropped inside your app |
| Logs | No — dropped inside your app |
| Profiling | No — 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 part | Reports |
|---|---|
init() in the browser | Uncaught errors and unhandled promise rejections |
React ErrorBoundary | Errors thrown while rendering, with the component stack |
| React 19 root hooks | Errors React handles itself: uncaught, caught by boundaries, recoverable |
TanStack Start defaultOnCatch | Errors shown by route error boundaries |
| TanStack Start middleware | Errors thrown in server functions and server routes, with the server stack |
Cloudflare withBelvador | Errors 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#
SDK API reference — every exported function.
SDK options — release, environment, sampling, breadcrumbs, attachments.
Data protection — what is removed before sending.
Spotted something wrong or missing? Tell us: hello@belvador.dev