Skip to content

Standards

MOQOM builds on open standards and implements them itself rather than wrapping another stack.

Layer Standard Body How MOQOM uses it
Media transport Media over QUIC Transport — draft-ietf-moq-transport-19 IETF All 18 control messages of draft-19; object datagrams, subgroup streams, fetch with gap markers. Independent implementations in Rust (relay) and Swift (client).
Transport QUIC — RFC 9000 IETF Native carrier for apps and relays. TLS 1.3 on every connection.
Browser transport WebTransport over HTTP/3 IETF / W3C Carrier for browsers; shares the relay’s UDP port with raw QUIC.
Security TLS 1.3 — RFC 8446 IETF Inherent in QUIC; always on.
Media encryption SFrame — RFC 9605, and the MoQ secure-objects work IETF Payload-only E2EE, AES-256-GCM by default, so relay caching and prioritisation keep working.
Group keys (planned) MLS — RFC 9420 IETF Designed for small E2EE rooms; sender keys for large rooms. Not yet built.
Authorisation C4M (Common Access Token for MoQ) — draft-ietf-moq-c4m IETF Token scopes follow C4M’s moqt claim (actions × namespace × track). Tokens are currently Ed25519-signed (EdDSA); the CBOR/COSE CAT encoding is the target.
Key format JWK thumbprints — RFC 7638 IETF How device keys are identified.
Codecs H.264, HEVC, Opus ITU-T / ISO / IETF Hardware encode/decode on Apple platforms.

MoQ Transport is still an Internet-Draft, so the wire format changes between drafts. MOQOM tracks the current draft (19) and negotiates it explicitly (ALPN moqt-19). SDK and relay releases state which draft they speak; mixed drafts do not interoperate.

The Swift and Rust codecs were written separately and are tested against each other through a real relay. Interop testing against other independent MoQ implementations is a planned milestone.