Open-source SDK + Hosted PlatformNew

Production reliability for browser media.

Silent mic failures. Empty recording blobs. Media regressions after deploy. Sentry won't catch them. MediaVital Guard will.

$npx @mediavital/guard setup
LIVE MEDIA MONITOR · SESSION #A4F2-9CSTREAM HEALTHY
AUDIO LEVEL 0.512RECORDER BLOB 0 KBTRACKS 2 / 2 LIVESAMPLING 10 HZSDK <5 KB GZIP

Built for teams shipping media

VercelLinearLoomDescriptMiroVercelLinearLoomDescriptMiroVercelLinearLoomDescriptMiroVercelLinearLoomDescriptMiro
The Problem[1/6]

Your media is failing in production. Silently.

Error monitoring tools catch exceptions. They don't catch silence. Browser media APIs fail without throwing — and your users pay the price.

01 · NO EXCEPTION

Silent Mic Failures

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.

02 · ZERO BYTES

Empty MediaRecorder Blobs

MediaRecorder.stop() fires. ondataavailable triggers. The blob exists — but it's 0 bytes. Your pipeline processes nothing. Your user thinks they recorded something.

03 · POST-DEPLOY

Post-Deploy Regressions

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.

What Sentry sees

  • No unhandled exceptions
  • No network errors
  • All API calls 200 OK

What actually happened

  • Microphone stream: silent for 47 seconds
  • MediaRecorder blob: 0 bytes
  • User interview recording: lost
What It Does[2/6]

Everything your error tracker can't see.

Focused primitives for detecting, tracking, and replaying media failures in production.

01
01 · DETECTION

Silent Mic Detection

Detects when getUserMedia returns a stream but audio levels read zero. Catches what no error handler can.

How It Works[3/6]

Three lines of code. Full media visibility.

quickstart.ts
1
2
3
4
5
6
7
8
// 1. Install the SDK
npm install @mediavital/guard

// 2. Initialize the client
import { Guard }
  from "@mediavital/guard";

const guard = new Guard();
01 / INSTALL

Install the SDK

Add the open-source MediaVital SDK to your app. Works with any framework.

02 / INITIALIZE

Initialize on load

One line to connect to MediaVital Guard. Auto-detects getUserMedia, MediaRecorder, and WebRTC.

03 / SHIP

Ship with confidence

Get real-time alerts, regression reports, and forensic timelines in the dashboard.

Complementary, Not Competing[4/6]

Sentry catches crashes. We catch silence.

MediaVital Guard isn't a replacement for error monitoring. It covers the blind spot.

Legacy · Error monitoring alone

Catches what throws. Misses what doesn't.

  • Exceptions, stack traces, breadcrumbs
  • Nothing thrown means nothing seen
  • Crashes, not silence

MediaVital Guard

Watches the signal itself, not just the errors around it.

  • Audio levels, track states, blob sizes
  • Flags failures that never throw
  • One SDK: detect, alert, replay
CapabilitySentryMediaVital 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
Pricing[5/6]

Less than the cost of one lost recording.

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.

Free

Evaluate in staging or low-traffic apps.

$0 /mo
1,000 SESSIONS / MONTH
  • Core SDK features
  • Silent mic detection
  • Empty blob detection
  • 7-day data retention
  • Community support
Start Free
Most Picked

Pro

Production-grade media reliability.

$149 /mo
50,000 SESSIONS / MONTH
  • Everything in Free
  • Regression detection
  • Forensic session timeline
  • Slack alerts
  • Sentry enrichment
  • 90-day data retention
  • Priority support
  • Custom alert thresholds
Get Pro
FAQ[6/6]

Frequently asked questions

The fine print, in plain English.

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.

Your interviews can't tell you their mic is silent.

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

Total silent failures caught1,505,650★ GitHub — Open Source SDK