blindcast serve starts a local key server on port 4100 for development and testing. It derives content keys from your master key and serves them to the player — no Docker, no database, no auth.
Usage
Example
Flags
| Flag | Default | Description |
|---|---|---|
--port <n> | 4100 | Port to listen on |
--key <hex> | $BLINDCAST_MASTER_KEY | Master key as hex string |
--salt <hex> | $BLINDCAST_SALT | Salt as hex string |
--cors <origin> | * | CORS allowed origin |
How it works
When the player requestsGET /keys/my-video-001, the server:
- Reads the master key and salt from env vars or flags
- Derives the content key using HKDF-SHA-256 with
my-video-001as the info parameter - Returns 16 raw bytes (
application/octet-stream)
Development vs. production
blindcast serve is designed for local development:
blindcast serve | Docker Key Server | |
|---|---|---|
| Auth | None | JWT via env vars |
| CORS | * (all origins) | Configurable per-origin |
| Leases | Not supported | SQLite or Postgres-backed |
| Presign | Not included | Bundled (opt-in) |
| Persistence | In-memory only | Database-backed |