Silent mic failures. Empty recording blobs. Media regressions after deploy. Sentry won't catch them. MediaVital Guard will.
npx @mediavital/guard setupBuilt for teams shipping media
Error monitoring tools catch exceptions. They don't catch silence. Browser media APIs fail without throwing — and your users pay the price.
User's microphone appears connected but captures silence. No error thrown. No exception in Sentry. Your recording is empty. You find out from a support ticket — 3 days later.
MediaRecorder.stop() fires. ondataavailable triggers. The blob exists — but it's 0 bytes. Your pipeline processes nothing. Your user thinks they recorded something.
Friday deploy. Chrome 124 changes getUserMedia behavior. Your WebRTC flow silently degrades. You don't know until Monday. Sentry shows zero errors because technically, nothing crashed.
Focused primitives for detecting, tracking, and replaying media failures in production.
Detects when getUserMedia returns a stream but audio levels read zero. Catches what no error handler can.
// 1. Install the SDK npm install @mediavital/guard // 2. Initialize the client import { Guard } from "@mediavital/guard"; const guard = new Guard();
Add the open-source MediaVital SDK to your app. Works with any framework.
One line to connect to MediaVital Guard. Auto-detects getUserMedia, MediaRecorder, and WebRTC.
Get real-time alerts, regression reports, and forensic timelines in the dashboard.
MediaVital Guard isn't a replacement for error monitoring. It covers the blind spot.
Catches what throws. Misses what doesn't.
Watches the signal itself, not just the errors around it.
| Capability | Sentry | MediaVital Guard |
|---|---|---|
| JavaScript exceptions | ✓ | ✓ |
| Network errors | ✓ | ✓ |
| Silent mic failures | — | ✓ |
| Empty recording blobs | — | ✓ |
| Media lifecycle tracking | — | ✓ |
| Version-based media regression | — | ✓ |
| Session-level forensic timeline | — | ✓ |
| Media-specific Slack alerts | — | ✓ |
One failed interview recording costs your team hours of rework and damages user trust. Guard pays for itself the first time it catches a silent failure before your users do.
Evaluate in staging or low-traffic apps.
Production-grade media reliability.
Frequently asked questions
No. MediaVital Guard is complementary. Sentry catches JavaScript errors and crashes. We catch the silent media failures that never throw exceptions — silent mics, empty blobs, degraded streams. We even enrich your existing Sentry events with media context.
The SDK is <5KB gzipped and runs passively. It hooks into existing browser APIs (getUserMedia, MediaRecorder) without adding overhead to your media pipeline. Audio level sampling runs at 10Hz — imperceptible to users.
Any browser-based JavaScript application. React, Vue, Angular, Svelte, plain JS — if it runs in a browser and uses media APIs, it works. We also support WebRTC libraries like SimplePeer and Twilio.
No audio, video, or media content ever leaves the browser. We only collect metadata: stream states, track health, blob sizes, timing events. Your users' media stays in your pipeline.
A session is one user visit where at least one media API (getUserMedia, MediaRecorder, or RTCPeerConnection) is initialized. Page navigations within the same visit don't create new sessions.
Most teams are live in under 15 minutes. Install the SDK, add your token, deploy. No configuration required to start detecting silent failures. Alert thresholds and Slack integration take another 5 minutes in the dashboard.
Every day without media monitoring is another day you're trusting browser APIs to never fail silently. They will. Be ready.
NO CREDIT CARD REQUIRED · DEPLOY IN 15 MINUTES