Content protection for video
Protected video, without the DRM headache.
Tegis is a drop-in gateway that bot-walls every play, signs every segment, and forensically watermarks every stream — so your content stays yours. Add it to your app in two SDK calls.
- Two SDKs, an afternoon
- Your keys stay yours
- No per-title fees
- attest real client verified
- mint grant · ttl 30s · ip-bound
- segment seg_0042.m4s · signed
- decrypt 1080p
- scraper 403 · url expired
A right-click away from everywhere.
Direct video URLs get scraped, hotlinked, and re-uploaded. Account sharing and headless bots drain your bandwidth and your catalog’s value. Full DRM is heavy, expensive, and miserable to integrate. There’s a lighter way.
How it works
From master file to protected playback.
Three moving parts. Your paywall and your signing key stay on your side the whole way through.
- Master
- Encrypted ABR ladder
- Signed segments
- Player
Ingest
Upload a master; Tegis transcodes it into an encrypted adaptive-bitrate ladder on zero-egress storage.
Mint
Your server calls mintEntitlement after your own paywall check. Your signing key never leaves your infrastructure.
Play
Drop in the player. It attests, mints a short-lived grant, fetches signed segments, and decrypts — scrapers get nothing but expired, IP-bound URLs.
Features
Everything that keeps your catalog yours.
Attestation bot-wall
Every playback proves it’s a real client before a single segment is served.
Signed, expiring URLs
IP-bound and short-lived; a leaked link is dead in seconds.
Forensic watermarking
Per-session marks trace any leak back to the account, across every quality.
Adaptive bitrate, automatic
One upload becomes a full 240p→4K ladder; viewers get the rung their connection can carry.
You hold the keys
Entitlements are signed by your key. Tegis never holds it.
Resilient by design
The data plane serves from a signed, cached bundle — no synchronous dependency on the control plane.
Two SDKs, an afternoon
@tegis/server + @tegis/player. That’s the integration.
Usage-based pricing
Pay for attestations, grants, segments, and egress. No seats, no minimums.
Integration
Two calls. That’s it.
Mint an entitlement on your server after your paywall check, then hand it to the player. No DRM license servers, no native SDKs, no weeks of plumbing.
// Your server — after your own auth/paywall check
import { mintEntitlement } from "@tegis/server"
const entitlement = await mintEntitlement({
tenantId, signingKey, subject: user.id, assetId, maxRes: "1080p",
})
// Your browser app
import { TegisPlayer } from "@tegis/player"
const player = new TegisPlayer({ tid, mint, edge })
await player.play(videoEl, { assetId, entitlement }) Pricing
Pay for what you stream.
Usage-based: attestations, grants minted, segments served, and GB of egress. No seats, no minimums, no per-title fees. Design partners get hands-on, managed onboarding.
You’re billed on four meters
- Attestations metered
- Grants minted metered
- Segments served metered
- GB of egress metered
No seats · no minimums · no per-title fees