Skip to content
Tegis

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
player.play() · asset_7f3a
  • 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.

  1. Master
  2. Encrypted ABR ladder
  3. Signed segments
  4. Player
1

Ingest

Upload a master; Tegis transcodes it into an encrypted adaptive-bitrate ladder on zero-egress storage.

2

Mint

Your server calls mintEntitlement after your own paywall check. Your signing key never leaves your infrastructure.

3

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.

integration.ts
// 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

Stop shipping video you can’t protect.