<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-moq-overview-02" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="MoQ Overview">Media over QUIC Overview</title>
    <seriesInfo name="Internet-Draft" value="draft-westerlund-moq-overview-02"/>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <author initials="Z." surname="Sarker" fullname="Zaheduzzaman Sarker">
      <organization>Nokia</organization>
      <address>
        <email>zaheduzzaman.sarker@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>WIT</area>
    <workgroup>moq</workgroup>
    <abstract>
      <?line 48?>

<t>This document provides a high-level overview of the Media over QUIC
(MoQ) protocol suite. It describes the architecture, data model,
transport protocol, streaming formats, and security mechanisms that
together enable scalable low-latency media delivery over the Internet.
The document explains how these components relate to each other and
how they are composed to create interoperable media applications.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-westerlund-moq-overview/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Media over QUIC (MOQ) Working Group mailing list (<eref target="mailto:moq@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/moq/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/gloinul/draft-westerlund-moq-overview"/>.</t>
    </note>
  </front>
  <middle>
    <?line 57?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Media over QUIC (MoQ) is an IETF working group that produces a
suite of protocol specifications for scalable, low-latency delivery
over the Internet. The central specification is the MoQ Transport
protocol (MOQT), a publish/subscribe protocol built on QUIC
<xref target="RFC9000"/> that uses intermediate relays to achieve distribution
at scale. Additional specifications build on MOQT to define
streaming formats, media containers, and end-to-end security
mechanisms.</t>
      <t>This document provides a high-level overview of these component protocols, how
they relate to each other, and how they are composed to create
interoperable applications. It is intended as an entry point for
implementers, reviewers, and protocol designers who want to understand
the overall system before reading the individual normative
specifications.</t>
      <t>Although the primary motivation of MoQ is media delivery,
MOQT itself is content-agnostic — it transports opaque objects
without knowledge of their payload. Media-specific logic (codecs,
containers, adaptive bitrate switching) is defined in separate
streaming format specifications that layer on top of the transport.
This separation means the protocol can serve other applications that
benefit from the same publish/subscribe, relay-based delivery model.</t>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>Today's media delivery landscape uses separate protocols for different
stages of the pipeline. Content is typically ingested using protocols
like RTMP, then repackaged at origin servers for distribution via
HTTP-based protocols such as HLS or DASH. This separation introduces
repackaging overhead, limits end-to-end latency, and creates
complexity at the boundaries between protocol domains.</t>
        <t>MoQ addresses this by providing a single protocol that can carry media
from original publisher to end subscriber, including through
intermediate relay nodes. The design is driven by four goals:</t>
        <dl>
          <dt>Latency:</dt>
          <dd>
            <t>TCP-based protocols suffer from head-of-line blocking and are slow
to respond to congestion. MoQ leverages QUIC's multiplexed streams
and partial reliability to minimise queuing latency and react
quickly to changing network conditions.</t>
          </dd>
          <dt>Leveraging QUIC:</dt>
          <dd>
            <t>QUIC provides parallel streams with independent loss recovery,
unreliable datagrams, stream priorities, and flow control. MoQ
maps its data model onto these features to achieve flexible
trade-offs between latency and reliability.</t>
          </dd>
          <dt>Convergence:</dt>
          <dd>
            <t>A single protocol from contribution through distribution eliminates
the need for intermediate repackaging. The same MoQ objects
produced by an encoder can be delivered to end subscribers without
transformation at relay nodes.</t>
          </dd>
          <dt>Relays:</dt>
          <dd>
            <t>Scalable media delivery requires intermediaries that can cache and
fan out content. MoQ treats relays as first-class protocol
participants: object metadata is structured so that relays can
route, prioritise, and cache content without accessing the media
payload itself.</t>
          </dd>
        </dl>
        <t>The resulting protocol is a general-purpose pub/sub delivery layer.
The media-specific aspects — how audio and video samples are
packaged, how tracks are described in a catalog, how adaptive
bitrate switching works — are defined by separate streaming format
specifications that build on MOQT. Applications outside media
delivery can use MOQT directly with their own object formats,
without adopting any of the media-specific layers.</t>
      </section>
      <section anchor="scope">
        <name>Document Scope</name>
        <t>This document is informational. It does not define protocol behaviour
or create new requirements. Its purpose is to:</t>
        <ul spacing="normal">
          <li>
            <t>Orient readers to the MoQ architecture and its components.</t>
          </li>
          <li>
            <t>Explain how the components relate to each other.</t>
          </li>
          <li>
            <t>Point readers to the relevant normative specification for each
topic.</t>
          </li>
        </ul>
        <t>The covered specifications are:</t>
        <ul spacing="normal">
          <li>
            <t>MOQT (Media over QUIC Transport) <xref target="I-D.ietf-moq-transport"/> —
the publish/subscribe transport protocol.</t>
          </li>
          <li>
            <t>MSF (MOQT Streaming Format) <xref target="I-D.ietf-moq-msf"/> — a streaming
format defining media packaging, catalog, and timeline.</t>
          </li>
          <li>
            <t>CMSF (CMAF-compliant MSF) <xref target="I-D.ietf-moq-cmsf"/> — an extension
of MSF for CMAF/ISO-BMFF packaged media.</t>
          </li>
          <li>
            <t>MoQ Secure Objects <xref target="I-D.ietf-moq-secure-objects"/> — end-to-end
authenticated encryption for content objects.</t>
          </li>
          <li>
            <t>Privacy Pass Authentication <xref target="I-D.ietf-moq-privacy-pass-auth"/> —
privacy-preserving token-based authorization.</t>
          </li>
          <li>
            <t>Common Access Tokens for MoQ (C4M) <xref target="I-D.ietf-moq-c4m"/> —
bearer token authorization scheme.</t>
          </li>
          <li>
            <t>LOC (Low Overhead Container) <xref target="I-D.ietf-moq-loc"/> — a minimal
media container format.</t>
          </li>
        </ul>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the following terms. Definitions attempt to be
consistent with <xref target="I-D.ietf-moq-transport"/> but in case of discrepancy
rely on the MOQT specification.</t>
        <dl>
          <dt>Client:</dt>
          <dd>
            <t>The party initiating a Transport Session.</t>
          </dd>
          <dt>Server:</dt>
          <dd>
            <t>The party accepting an incoming Transport Session.</t>
          </dd>
          <dt>Publisher:</dt>
          <dd>
            <t>An endpoint that handles subscriptions by sending objects from a
track.</t>
          </dd>
          <dt>Subscriber:</dt>
          <dd>
            <t>An endpoint that subscribes to and receives tracks.</t>
          </dd>
          <dt>Original Publisher:</dt>
          <dd>
            <t>The initial publisher of a given track — the entity that creates
the media content.</t>
          </dd>
          <dt>End Subscriber:</dt>
          <dd>
            <t>A subscriber that consumes the content and does not forward it to
other subscribers.</t>
          </dd>
          <dt>Relay:</dt>
          <dd>
            <t>An entity that is both a publisher and a subscriber, forwarding
content between other endpoints. Relays are neither the original
publisher nor the end subscriber.</t>
          </dd>
          <dt>Track:</dt>
          <dd>
            <t>A time-ordered sequence of groups, identified by a Full Track
Name. A track is the unit of subscription.</t>
          </dd>
          <dt>Group:</dt>
          <dd>
            <t>A collection of objects within a track that forms a join point.
Groups are independently useful — objects within a group should
not depend on objects in other groups.</t>
          </dd>
          <dt>Object:</dt>
          <dd>
            <t>The smallest addressable data unit in MoQ. An object is an
immutable sequence of bytes identified by its track, group ID,
and object ID.</t>
          </dd>
          <dt>Subgroup:</dt>
          <dd>
            <t>A sequence of objects within a group that share a QUIC stream.
Objects in a subgroup have consistent priority and dependency
relationships.</t>
          </dd>
          <dt>Transport Session:</dt>
          <dd>
            <t>A QUIC connection or WebTransport session over which MOQT
operates.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>As noted in <xref target="introduction"/>, MOQT is a content-agnostic
publish/subscribe protocol. It can carry any data that fits the
track/group/object model — media is simply the use case that
motivated its design. Other potential applications include IoT
telemetry distribution, collaborative document state
synchronisation, real-time game state replication, and financial
market data feeds.</t>
      <t>This section describes the primary media use cases that have driven
the protocol design. They illustrate the requirements that shaped
the architecture, but do not represent an exhaustive list of what
MOQT can be used for.</t>
      <section anchor="uc-live">
        <name>Live Streaming Media Delivery</name>
        <t>In live streaming, an original publisher encodes and publishes media
content that is delivered through one or more relays to a potentially
large number of end subscribers.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="512" viewBox="0 0 512 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,48 L 104,48" fill="none" stroke="black"/>
              <path d="M 168,48 L 184,48" fill="none" stroke="black"/>
              <path d="M 248,48 L 264,48" fill="none" stroke="black"/>
              <path d="M 312,48 L 328,48" fill="none" stroke="black"/>
              <path d="M 392,48 L 408,48" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="416,48 404,42.4 404,53.6" fill="black" transform="rotate(0,408,48)"/>
              <polygon class="arrowhead" points="336,48 324,42.4 324,53.6" fill="black" transform="rotate(0,328,48)"/>
              <polygon class="arrowhead" points="272,48 260,42.4 260,53.6" fill="black" transform="rotate(0,264,48)"/>
              <polygon class="arrowhead" points="192,48 180,42.4 180,53.6" fill="black" transform="rotate(0,184,48)"/>
              <polygon class="arrowhead" points="112,48 100,42.4 100,53.6" fill="black" transform="rotate(0,104,48)"/>
              <g class="text">
                <text x="36" y="36">Original</text>
                <text x="432" y="36">End</text>
                <text x="40" y="52">Publisher</text>
                <text x="136" y="52">Relay</text>
                <text x="216" y="52">Relay</text>
                <text x="288" y="52">...</text>
                <text x="360" y="52">Relay</text>
                <text x="464" y="52">Subscribers</text>
                <text x="444" y="68">(many)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Original                                            End
 Publisher --> Relay --> Relay --> ... --> Relay --> Subscribers
                                                     (many)
]]></artwork>
        </artset>
        <t>Key characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>One-to-many distribution, typically through a tree of relays.</t>
          </li>
          <li>
            <t>Target end-to-end latency ranges from under one second to several
seconds, depending on the application.</t>
          </li>
          <li>
            <t>Subscribers may join at any time and must be able to start playback
from a recent group boundary.</t>
          </li>
          <li>
            <t>Adaptive bitrate (ABR) switching between alternate encodings of the
same content allows subscribers to adapt to varying network
conditions.</t>
          </li>
          <li>
            <t>The original publisher produces a catalog describing available
tracks (resolutions, bitrates, codecs) so subscribers can make
informed selections.</t>
          </li>
        </ul>
      </section>
      <section anchor="uc-conferencing">
        <name>Real-Time Conferencing</name>
        <t>In conferencing, multiple participants each act as both original
publisher and end subscriber. Each participant publishes their own
audio and video tracks and subscribes to tracks from other
participants.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="392" viewBox="0 0 392 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 112,80 L 112,112" fill="none" stroke="black"/>
              <path d="M 144,32 L 144,72" fill="none" stroke="black"/>
              <path d="M 144,120 L 144,160" fill="none" stroke="black"/>
              <path d="M 176,80 L 176,112" fill="none" stroke="black"/>
              <path d="M 216,80 L 216,112" fill="none" stroke="black"/>
              <path d="M 248,32 L 248,72" fill="none" stroke="black"/>
              <path d="M 248,120 L 248,160" fill="none" stroke="black"/>
              <path d="M 280,80 L 280,112" fill="none" stroke="black"/>
              <path d="M 120,32 L 144,32" fill="none" stroke="black"/>
              <path d="M 248,32 L 272,32" fill="none" stroke="black"/>
              <path d="M 112,80 L 176,80" fill="none" stroke="black"/>
              <path d="M 216,80 L 280,80" fill="none" stroke="black"/>
              <path d="M 184,96 L 208,96" fill="none" stroke="black"/>
              <path d="M 112,112 L 176,112" fill="none" stroke="black"/>
              <path d="M 216,112 L 280,112" fill="none" stroke="black"/>
              <path d="M 120,160 L 144,160" fill="none" stroke="black"/>
              <path d="M 248,160 L 272,160" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="256,120 244,114.4 244,125.6" fill="black" transform="rotate(270,248,120)"/>
              <polygon class="arrowhead" points="256,72 244,66.4 244,77.6" fill="black" transform="rotate(90,248,72)"/>
              <polygon class="arrowhead" points="216,96 204,90.4 204,101.6" fill="black" transform="rotate(0,208,96)"/>
              <polygon class="arrowhead" points="192,96 180,90.4 180,101.6" fill="black" transform="rotate(180,184,96)"/>
              <polygon class="arrowhead" points="152,120 140,114.4 140,125.6" fill="black" transform="rotate(270,144,120)"/>
              <polygon class="arrowhead" points="152,72 140,66.4 140,77.6" fill="black" transform="rotate(90,144,72)"/>
              <g class="text">
                <text x="48" y="36">Participant</text>
                <text x="104" y="36">A</text>
                <text x="328" y="36">Participant</text>
                <text x="384" y="36">C</text>
                <text x="144" y="100">Relay</text>
                <text x="248" y="100">Relay</text>
                <text x="48" y="164">Participant</text>
                <text x="104" y="164">B</text>
                <text x="328" y="164">Participant</text>
                <text x="384" y="164">D</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Participant A ---+            +--- Participant C
                  |            |
                  v            v
              +-------+    +-------+
              | Relay |<-->| Relay |
              +-------+    +-------+
                  ^            ^
                  |            |
 Participant B ---+            +--- Participant D
]]></artwork>
        </artset>
        <t>Key characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>Many-to-many communication with low participant counts (tens to
hundreds).</t>
          </li>
          <li>
            <t>Target latency is interactive: below 500 milliseconds end-to-end.</t>
          </li>
          <li>
            <t>Each participant subscribes to a subset of available tracks (e.g.,
active speakers only).</t>
          </li>
          <li>
            <t>Scalable video coding (SVC) or simulcast may be used, with the
relay or subscriber selecting appropriate layers.</t>
          </li>
          <li>
            <t>End-to-end encryption is particularly important since relays
should not have access to media content.</t>
          </li>
        </ul>
      </section>
      <section anchor="uc-ingest">
        <name>Content Contribution and Primary Distribution</name>
        <t>In content contribution (ingest), a professional encoder at a
production site publishes high-quality media to a relay operated by a
distribution service (e.g., a CDN).</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="80" width="472" viewBox="0 0 472 80" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,48 L 104,48" fill="none" stroke="black"/>
              <path d="M 224,48 L 240,48" fill="none" stroke="black"/>
              <path d="M 344,48 L 360,48" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="368,48 356,42.4 356,53.6" fill="black" transform="rotate(0,360,48)"/>
              <polygon class="arrowhead" points="248,48 236,42.4 236,53.6" fill="black" transform="rotate(0,240,48)"/>
              <polygon class="arrowhead" points="112,48 100,42.4 100,53.6" fill="black" transform="rotate(0,104,48)"/>
              <g class="text">
                <text x="36" y="36">Encoder/</text>
                <text x="136" y="36">CDN</text>
                <text x="184" y="36">Ingress</text>
                <text x="272" y="36">CDN</text>
                <text x="308" y="36">Edge</text>
                <text x="36" y="52">Producer</text>
                <text x="144" y="52">Relay</text>
                <text x="292" y="52">Relay(s)</text>
                <text x="424" y="52">Subscribers</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Encoder/       CDN Ingress      CDN Edge
 Producer  -->  Relay       -->  Relay(s)  -->  Subscribers
]]></artwork>
        </artset>
        <t>Key characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>The ingress relay receives the contributed content and may
transcode it into multiple representations (resolutions, bitrates).</t>
          </li>
          <li>
            <t>After transcoding, the distribution service becomes the original
publisher of the new representations — the transcoded tracks are
distinct from the contributed track.</t>
          </li>
          <li>
            <t>Reliability is prioritised over latency for the contribution link.</t>
          </li>
          <li>
            <t>The same MOQT protocol is used for both the contribution link
(encoder to ingress) and the distribution links (edge relays to
subscribers), achieving the convergence goal.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="architecture">
      <name>Architecture and Nodes</name>
      <section anchor="roles">
        <name>Roles</name>
        <t>A MOQT deployment involves endpoints in the following roles:</t>
        <dl>
          <dt>Publisher:</dt>
          <dd>
            <t>Sends objects belonging to one or more tracks. A publisher
responds to subscriptions and delivers matching objects to
subscribers.</t>
          </dd>
          <dt>Subscriber:</dt>
          <dd>
            <t>Requests tracks and receives objects. A subscriber issues
SUBSCRIBE or FETCH requests to obtain content.</t>
          </dd>
          <dt>Original Publisher:</dt>
          <dd>
            <t>The endpoint that creates and first publishes a track's content.
The original publisher is responsible for the media encoding,
object payload, and track properties.</t>
          </dd>
          <dt>End Subscriber:</dt>
          <dd>
            <t>The final consumer of a track's content. An end subscriber
decodes and renders the media.</t>
          </dd>
        </dl>
        <t>A single endpoint may act in multiple roles simultaneously. In
conferencing, each participant is both an original publisher (for
their own media) and an end subscriber (for other participants'
media).</t>
      </section>
      <section anchor="relays">
        <name>Relays</name>
        <t>Relays are intermediary nodes that are both publishers (to downstream
subscribers) and subscribers (to upstream publishers). They terminate
MOQT sessions on each side independently — a relay is not a
transparent proxy.</t>
        <t>Relays provide:</t>
        <ul spacing="normal">
          <li>
            <t>Fan-out: A single upstream subscription serves multiple downstream
subscribers requesting the same track.</t>
          </li>
          <li>
            <t>Caching: Objects can be stored and served to subscribers that join
later, without fetching from the original publisher again.</t>
          </li>
          <li>
            <t>Geographic distribution: Relays can be deployed close to
subscribers to reduce latency.</t>
          </li>
        </ul>
        <t>Relays are content-agnostic: they forward object payloads without
interpreting or modifying them. This enables end-to-end encryption
where relays cannot access media content, while still performing
their routing and caching functions based on object metadata
(track names, group IDs, priorities, properties).</t>
        <t>Relays are enforcement points for access and authorization. In many
deployments that have any restriction on access of the content the
relay is expected to be the node that receives proof of authorization
and will be responsible to verify and periodically re-verify this
proof before delivering content.</t>
        <t>Relays are also not necessarily application-agnostic when it
comes to deployment and operation. The configuration of relay
topologies, authorization policies, caching strategies, and resource
limits are application-specific concerns. A relay serving a live
streaming platform operates differently from one supporting a
conferencing service, even though the protocol mechanics are
identical. Moreover, even though relays need not parse media payload
formats in order to forward content, they may still apply
application-aware policy based on visible metadata, naming
conventions, and authorization state.</t>
        <t>For further discussion of relay operational considerations,
including denial-of-service resilience, see
<xref target="I-D.englishm-moq-relay-dos"/>.</t>
      </section>
      <section anchor="topologies">
        <name>Deployment Topologies</name>
        <t>MOQT supports several deployment topologies:</t>
        <dl>
          <dt>Point-to-point:</dt>
          <dd>
            <t>A publisher connects directly to a subscriber with no
intermediate relay. Suitable for contribution ingest,
AI produced dissemination,  or testing.</t>
          </dd>
        </dl>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="64" width="208" viewBox="0 0 208 64" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,32 L 112,32" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="120,32 108,26.4 108,37.6" fill="black" transform="rotate(0,112,32)"/>
              <polygon class="arrowhead" points="96,32 84,26.4 84,37.6" fill="black" transform="rotate(180,88,32)"/>
              <g class="text">
                <text x="40" y="36">Publisher</text>
                <text x="164" y="36">Subscriber</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Publisher <--> Subscriber
]]></artwork>
        </artset>
        <dl>
          <dt>Single relay:</dt>
          <dd>
            <t>A publisher connects to a relay, which serves one or more
subscribers. The relay provides fan-out and caching.</t>
          </dd>
        </dl>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="64" width="320" viewBox="0 0 320 64" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,32 L 112,32" fill="none" stroke="black"/>
              <path d="M 176,32 L 200,32" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="208,32 196,26.4 196,37.6" fill="black" transform="rotate(0,200,32)"/>
              <polygon class="arrowhead" points="184,32 172,26.4 172,37.6" fill="black" transform="rotate(180,176,32)"/>
              <polygon class="arrowhead" points="120,32 108,26.4 108,37.6" fill="black" transform="rotate(0,112,32)"/>
              <polygon class="arrowhead" points="96,32 84,26.4 84,37.6" fill="black" transform="rotate(180,88,32)"/>
              <g class="text">
                <text x="40" y="36">Publisher</text>
                <text x="144" y="36">Relay</text>
                <text x="264" y="36">Subscriber(s)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Publisher <--> Relay <--> Subscriber(s)
]]></artwork>
        </artset>
        <dl>
          <dt>Relay tree:</dt>
          <dd>
            <t>A publisher connects to an origin relay, which fans out to edge
relays closer to subscribers. This is the typical CDN deployment
model.</t>
          </dd>
        </dl>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="64" width="528" viewBox="0 0 528 64" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,32 L 112,32" fill="none" stroke="black"/>
              <path d="M 232,32 L 256,32" fill="none" stroke="black"/>
              <path d="M 384,32 L 408,32" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="416,32 404,26.4 404,37.6" fill="black" transform="rotate(0,408,32)"/>
              <polygon class="arrowhead" points="392,32 380,26.4 380,37.6" fill="black" transform="rotate(180,384,32)"/>
              <polygon class="arrowhead" points="264,32 252,26.4 252,37.6" fill="black" transform="rotate(0,256,32)"/>
              <polygon class="arrowhead" points="240,32 228,26.4 228,37.6" fill="black" transform="rotate(180,232,32)"/>
              <polygon class="arrowhead" points="120,32 108,26.4 108,37.6" fill="black" transform="rotate(0,112,32)"/>
              <polygon class="arrowhead" points="96,32 84,26.4 84,37.6" fill="black" transform="rotate(180,88,32)"/>
              <g class="text">
                <text x="40" y="36">Publisher</text>
                <text x="148" y="36">Origin</text>
                <text x="200" y="36">Relay</text>
                <text x="284" y="36">Edge</text>
                <text x="340" y="36">Relay(s)</text>
                <text x="472" y="36">Subscriber(s)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Publisher <--> Origin Relay <--> Edge Relay(s) <--> Subscriber(s)
]]></artwork>
        </artset>
        <dl>
          <dt>Relay mesh:</dt>
          <dd>
            <t>Relays interconnect with multiple peers, subscribing and
publishing bidirectionally between each other. Each relay both
receives content from and forwards content to its neighbouring
relays. This topology suits conferencing and multi-publisher
scenarios where content flows in multiple directions
simultaneously and there is no single origin.</t>
          </dd>
        </dl>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="464" viewBox="0 0 464 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 152,48 L 152,128" fill="none" stroke="black"/>
              <path d="M 216,112 L 216,128" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,128" fill="none" stroke="black"/>
              <path d="M 104,32 L 128,32" fill="none" stroke="black"/>
              <path d="M 208,32 L 248,32" fill="none" stroke="black"/>
              <path d="M 328,32 L 352,32" fill="none" stroke="black"/>
              <path d="M 192,48 L 208,80" fill="none" stroke="black"/>
              <path d="M 240,80 L 256,48" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="360,32 348,26.4 348,37.6" fill="black" transform="rotate(0,352,32)"/>
              <polygon class="arrowhead" points="336,32 324,26.4 324,37.6" fill="black" transform="rotate(180,328,32)"/>
              <polygon class="arrowhead" points="304,128 292,122.4 292,133.6" fill="black" transform="rotate(90,296,128)"/>
              <polygon class="arrowhead" points="304,48 292,42.4 292,53.6" fill="black" transform="rotate(270,296,48)"/>
              <polygon class="arrowhead" points="264,48 252,42.4 252,53.6" fill="black" transform="rotate(296.565051177078,256,48)"/>
              <polygon class="arrowhead" points="256,32 244,26.4 244,37.6" fill="black" transform="rotate(0,248,32)"/>
              <polygon class="arrowhead" points="248,80 236,74.4 236,85.6" fill="black" transform="rotate(116.56505117707799,240,80)"/>
              <polygon class="arrowhead" points="224,112 212,106.4 212,117.6" fill="black" transform="rotate(270,216,112)"/>
              <polygon class="arrowhead" points="216,80 204,74.4 204,85.6" fill="black" transform="rotate(63.43494882292201,208,80)"/>
              <polygon class="arrowhead" points="216,32 204,26.4 204,37.6" fill="black" transform="rotate(180,208,32)"/>
              <polygon class="arrowhead" points="200,48 188,42.4 188,53.6" fill="black" transform="rotate(243.43494882292202,192,48)"/>
              <polygon class="arrowhead" points="160,128 148,122.4 148,133.6" fill="black" transform="rotate(90,152,128)"/>
              <polygon class="arrowhead" points="160,48 148,42.4 148,53.6" fill="black" transform="rotate(270,152,48)"/>
              <polygon class="arrowhead" points="136,32 124,26.4 124,37.6" fill="black" transform="rotate(0,128,32)"/>
              <polygon class="arrowhead" points="112,32 100,26.4 100,37.6" fill="black" transform="rotate(180,104,32)"/>
              <g class="text">
                <text x="40" y="36">Publisher</text>
                <text x="88" y="36">A</text>
                <text x="160" y="36">Relay</text>
                <text x="192" y="36">1</text>
                <text x="280" y="36">Relay</text>
                <text x="312" y="36">2</text>
                <text x="404" y="36">Subscriber</text>
                <text x="456" y="36">C</text>
                <text x="216" y="100">Relay</text>
                <text x="248" y="100">3</text>
                <text x="108" y="148">Subscriber</text>
                <text x="160" y="148">B</text>
                <text x="216" y="148">Publisher</text>
                <text x="264" y="148">D</text>
                <text x="324" y="148">Subscriber</text>
                <text x="376" y="148">E</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Publisher A <--> Relay 1 <----> Relay 2 <--> Subscriber C
                   ^    ^       ^    ^
                   |     \     /     |
                   |      v   v      |
                   |     Relay 3     |
                   |       ^         |
                   v       |         v
         Subscriber B  Publisher D  Subscriber E
]]></artwork>
        </artset>
        <t>In all topologies, each hop is an independent MOQT session. Relays
manage subscriptions on each session independently and can
aggregate multiple downstream subscriptions into a single upstream
subscription.</t>
        <t>MOQT supports graceful session migration: a relay that needs to shut
down sends a GOAWAY message directing its peers to reconnect to a
different server. The peers then establish new sessions and re-issue
their subscriptions, allowing relay maintenance or replacement, but
continuity depends on object availability, timing, and
application/session policy.</t>
      </section>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>MOQT defines a hierarchical data model for organising media content.
Understanding this model is essential to working with any part of
the MoQ protocol suite. The data model is defined in Section 2 of
<xref target="I-D.ietf-moq-transport"/> and summarised below for convenience.</t>
      <section anchor="hierarchy">
        <name>Hierarchy</name>
        <t>The data model has four levels:</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="112" width="448" viewBox="0 0 448 112" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <g class="text">
                <text x="24" y="36">Track</text>
                <text x="32" y="52">└──</text>
                <text x="72" y="52">Group</text>
                <text x="120" y="52">(join</text>
                <text x="172" y="52">point)</text>
                <text x="80" y="68">└──</text>
                <text x="132" y="68">Subgroup</text>
                <text x="228" y="68">(stream-mapped</text>
                <text x="312" y="68">unit)</text>
                <text x="128" y="84">└──</text>
                <text x="172" y="84">Object</text>
                <text x="240" y="84">(smallest</text>
                <text x="328" y="84">addressable</text>
                <text x="412" y="84">payload)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 Track
   └── Group (join point)
         └── Subgroup (stream-mapped unit)
               └── Object (smallest addressable payload)
]]></artwork>
        </artset>
        <dl>
          <dt>Track:</dt>
          <dd>
            <t>A named, time-ordered sequence of groups. Tracks are the unit of
subscription — a subscriber requests a track by its Full Track
Name and receives objects from that track.</t>
          </dd>
          <dt>Group:</dt>
          <dd>
            <t>A temporal collection of objects within a track. A group
represents a join point: a subscriber can begin receiving content
at any group boundary without needing prior groups. For video,
a group typically corresponds to a Group of Pictures (GOP)
starting with a random access point.</t>
          </dd>
          <dt>Subgroup:</dt>
          <dd>
            <t>A sequence of objects within a group that are sent on a single
QUIC stream. Objects in a subgroup share priority and have
dependency relationships consistent with in-order delivery.
Subgroups enable the priority mechanism to favour certain objects
(e.g., base-layer frames) over others within the same group.</t>
          </dd>
          <dt>Object:</dt>
          <dd>
            <t>The basic data element — an addressable, immutable sequence of
bytes. Each object is uniquely identified by its Full Track Name,
group ID, and object ID. Objects within a group are ordered by
object ID.</t>
          </dd>
        </dl>
      </section>
      <section anchor="naming">
        <name>Track Naming</name>
        <t>Every track is identified by a Full Track Name consisting of two
parts:</t>
        <dl>
          <dt>Track Namespace:</dt>
          <dd>
            <t>An ordered tuple of zero to 32 fields (e.g.,
"example.com", "meeting123", "alice"). The namespace provides
hierarchical structure that relays use for prefix-based routing
and subscription matching.</t>
          </dd>
          <dt>Track Name:</dt>
          <dd>
            <t>A byte sequence identifying a specific track within the
namespace (e.g., "video-hd", "audio", "catalog").</t>
          </dd>
        </dl>
        <t>The combination of namespace and track name is unique within a
given scope. A scope is defined by the server or set of servers
that a client connects to — specifically, those sharing the same
host and path in the connection URI. Within a scope, no two
distinct tracks can have the same Full Track Name, which means it
can serve as a cache key at relays.</t>
      </section>
      <section anchor="properties">
        <name>Properties</name>
        <t>Tracks and objects can carry additional metadata called Properties.
Properties are visible to relays and can influence how content is
distributed. There are two scopes of properties — track-wide and
per-object — and within either scope, individual properties can
optionally be marked as immutable to support end-to-end
authentication.</t>
        <dl>
          <dt>Track Properties:</dt>
          <dd>
            <t>Metadata associated with an entire track. Examples include
default publisher priority, group order preference, maximum
cache duration, and delivery timeouts. Track Properties are
communicated in control messages (PUBLISH, SUBSCRIBE_OK,
FETCH_OK).</t>
          </dd>
          <dt>Object Properties:</dt>
          <dd>
            <t>Per-object metadata carried in object headers. MOQT defines
the framework for object properties, including gap indicators
(Prior Group ID Gap, Prior Object ID Gap). Media-specific
properties such as timestamps and frame markings are defined by
LOC and MSF for use with encoded audio/video samples.</t>
          </dd>
          <dt>Immutable Properties:</dt>
          <dd>
            <t>Either track or object properties may be placed inside an
Immutable Properties container. Once set by the original
publisher, these cannot be modified or removed by relays. This
enables end-to-end authentication: subscribers can verify that
immutable values have not been altered in transit.</t>
          </dd>
        </dl>
        <t>Properties are registered in IANA registries and use a Key-Value-Pair
encoding. Relays that do not understand a property must forward it
unchanged.</t>
      </section>
      <section anchor="immutability">
        <name>Object Immutability and Cacheability</name>
        <t>A fundamental property of MOQT objects is immutability: once an object
is published, its payload must never change. Two received objects with
the same Full Track Name, group ID, and object ID must contain
identical bytes.</t>
        <t>This guarantee enables:</t>
        <ul spacing="normal">
          <li>
            <t>Caching at relays without cache-invalidation complexity.</t>
          </li>
          <li>
            <t>Deduplication when the same object arrives from multiple upstream
sources.</t>
          </li>
          <li>
            <t>End-to-end integrity verification — a subscriber can detect if an
object has been tampered with.</t>
          </li>
        </ul>
        <t>An object can transition from "exists" to "does not exist" (e.g.,
cache expiry), but its contents cannot be modified. The protocol
signals object status (normal, end-of-group, end-of-track) to
communicate lifecycle information.</t>
      </section>
    </section>
    <section anchor="transport">
      <name>MOQT: The Transport Protocol</name>
      <t>Media over QUIC Transport (MOQT) <xref target="I-D.ietf-moq-transport"/> is the
publish/subscribe protocol that carries objects between publishers and
subscribers. MOQT treats all object payloads as opaque byte sequences
— it provides delivery, prioritisation, and caching without any
knowledge of the content being carried. This section provides an
overview of its key mechanisms.</t>
      <section anchor="session-establishment">
        <name>Session Establishment</name>
        <t>MOQT runs over either native QUIC or WebTransport:</t>
        <ul spacing="normal">
          <li>
            <t>Native QUIC: The client connects using the TLS
Application-Layer Protocol Negotiation (ALPN) identifier "moqt"
and identifies the server using a "moqt://" URI. The authority
and path are communicated via Setup Options.</t>
          </li>
          <li>
            <t>WebTransport: The client establishes a WebTransport session over
HTTP/3, using an HTTPS URI derived from the moqt:// URI.</t>
          </li>
        </ul>
        <t>Both provide stream multiplexing and secure transport, though the
deployment model differs — particularly in browser-based environments
where only WebTransport is available. Applications should treat them
as functionally similar substrates with some environment-specific
constraints.</t>
        <t>After the transport connection is established, each endpoint opens a
unidirectional control stream and sends a SETUP message. The SETUP
exchange negotiates the protocol version and extensions (Setup
Options) before any other messages are exchanged.</t>
      </section>
      <section anchor="pub-sub">
        <name>Publishing and Subscribing</name>
        <t>MOQT provides several mechanisms for publishers and subscribers to
exchange content:</t>
        <dl>
          <dt>SUBSCRIBE:</dt>
          <dd>
            <t>A subscriber requests newly published objects for a track. The
publisher responds with SUBSCRIBE_OK and begins forwarding
matching objects as they are produced. A Location Filter
selects which objects are delivered by specifying a start
(and optionally end) Location, expressed either absolutely or
relative to the current largest object — for example, starting
at the next object, the next group, or an absolute range.
Range Filters can further restrict delivery based on object
header fields and properties.</t>
          </dd>
          <dt>PUBLISH:</dt>
          <dd>
            <t>A publisher initiates a subscription by pushing content to a
subscriber. This inverts the usual direction — the publisher
offers a track rather than waiting for a subscription request.</t>
          </dd>
          <dt>FETCH:</dt>
          <dd>
            <t>A subscriber requests a specific range of previously published
objects. Unlike SUBSCRIBE, which delivers objects as they are
produced going forward, FETCH retrieves objects that already
exist. A subscriber that joins a track mid-stream can combine
both behaviours in a single SUBSCRIBE: it receives new objects
going forward, and by including the FILL_PARAMETERS parameter it
also asks the publisher to deliver a "fill range" of recent
objects on a separate fill fetch stream — for example, the
beginning of the current video group of pictures needed to start
decoding. A standalone FETCH remains available for retrieving an
arbitrary range of already-published objects.</t>
          </dd>
          <dt>Namespace Discovery:</dt>
          <dd>
            <t>Publishers advertise available namespaces via PUBLISH_NAMESPACE.
Subscribers discover content by sending SUBSCRIBE_NAMESPACE
(to learn about matching namespaces) or SUBSCRIBE_TRACKS (to
receive PUBLISH messages for tracks within matching namespaces).
Relays use namespace prefix matching to route subscriptions to
the appropriate upstream publishers.</t>
          </dd>
        </dl>
        <t>All subscription interactions follow a state machine: Idle →
Pending → Established → Terminated. Either endpoint can terminate
a subscription — the subscriber via cancellation, the publisher
via PUBLISH_DONE.</t>
      </section>
      <section anchor="priorities">
        <name>Priorities and Delivery</name>
        <t>When network capacity is insufficient to deliver all subscribed
content, MOQT's priority system determines what gets delivered
first:</t>
        <ul spacing="normal">
          <li>
            <t>Subscriber Priority: Set per-subscription by the subscriber to
express relative importance among its own subscriptions.</t>
          </li>
          <li>
            <t>Publisher Priority: Set per-object by the publisher to express
relative importance within a track (e.g., base layer vs.
enhancement layer).</t>
          </li>
          <li>
            <t>Group Order: Ascending (oldest first) or descending (newest
first) delivery of groups within a subscription.</t>
          </li>
        </ul>
        <t>Under congestion, lower-priority content may be delayed or dropped
entirely. Two timeout mechanisms support controlled data loss:</t>
        <ul spacing="normal">
          <li>
            <t>Object Delivery Timeout: Measured from when the last byte of the
object header was received or produced. If the object cannot be
sent within this duration, its subgroup stream is reset (or, for
datagrams, the datagram is dropped).</t>
          </li>
          <li>
            <t>Subgroup Delivery Timeout: If a completed subgroup's data is not
fully acknowledged within this duration, the stream is reset —
meaning any undelivered data on that stream is abandoned and will
not be retransmitted.</t>
          </li>
        </ul>
        <t>Objects can be sent on QUIC streams (reliable, in-order within the
stream) or as QUIC datagrams (unreliable, low-latency). The choice
is the object's Delivery Mode, established by the original
publisher by how it first transmits the object.</t>
        <t>Client side Adaptive Bitrate (ABR) is possible by either ending a
subscription and replace it with another track that is another
represenation at another bit-rate than the previous one. Steering
these changes to be done at the next group boundary.</t>
        <t>The WG is working on sender side ABR where the publisher uses
its understanding of the congestion situation to select the
set of tracks to be published to the subscriber.</t>
      </section>
      <section anchor="extensibility">
        <name>Extensibility and Session Management</name>
        <t>MOQT is designed for evolution without breaking existing
implementations:</t>
        <dl>
          <dt>Setup Options:</dt>
          <dd>
            <t>Negotiated per-session in the SETUP exchange. Unknown options are
ignored, allowing new features to be introduced without breaking
older endpoints.</t>
          </dd>
          <dt>Message Parameters:</dt>
          <dd>
            <t>Per-message metadata included in control messages. Parameters are
peer-to-peer and are not forwarded by relays.</t>
          </dd>
          <dt>Properties:</dt>
          <dd>
            <t>Per-track and per-object metadata that is forwarded and cached by
relays, unlike Message Parameters. Properties use IANA-registered
type codes. Unknown properties must be forwarded unchanged.</t>
          </dd>
          <dt>GREASE (Generate Random Extensions And Sustain Extensibility):</dt>
          <dd>
            <t>Reserved code points that implementations may send to exercise
their peers' handling of unknown values. This ensures that
deployed software does not break when new extensions are
introduced.</t>
          </dd>
        </dl>
        <t>GOAWAY supports graceful session migration and can reduce disruption
during relay maintenance or replacement, but continuity depends on
object availability, timing, and application/session policy.</t>
      </section>
    </section>
    <section anchor="streaming-formats">
      <name>Streaming Formats</name>
      <t>MOQT is content-agnostic — it transports opaque object payloads
without interpreting them. A streaming format defines how media
content is packaged into MOQT objects and how subscribers discover
and select tracks. Streaming formats bridge the gap between raw
media encodings and the MOQT data model.</t>
      <section anchor="sf-role">
        <name>Role of a Streaming Format</name>
        <t>A streaming format specifies:</t>
        <ul spacing="normal">
          <li>
            <t>How encoded media samples are mapped to MOQT objects and groups.</t>
          </li>
          <li>
            <t>A catalog format describing available tracks and their properties.</t>
          </li>
          <li>
            <t>Rules for time-alignment and ABR switching between tracks.</t>
          </li>
          <li>
            <t>Timeline information mapping MOQT group/object IDs to media
presentation time.</t>
          </li>
          <li>
            <t>Any additional metadata tracks (events, logs, metrics).</t>
          </li>
        </ul>
        <t>Without a streaming format, a subscriber receiving objects would have
no way to discover what content is available, how to decode it, or
how to synchronise multiple tracks.</t>
      </section>
      <section anchor="msf">
        <name>MSF: MOQT Streaming Format</name>
        <t>The MOQT Streaming Format (MSF) <xref target="I-D.ietf-moq-msf"/> is the primary
streaming format defined for MoQ. It uses LOC (Low
Overhead Container) <xref target="I-D.ietf-moq-loc"/> packaging, where each
encoded media sample (audio frame or video frame) is placed in a
separate MOQT object. This one-sample-per-object mapping allows
the transport to make independent delivery decisions for each
frame — for example, prioritising base-layer video frames over
enhancement layers, or dropping an expired frame without affecting
the delivery of subsequent frames.</t>
        <t>MSF defines:</t>
        <dl>
          <dt>Catalog:</dt>
          <dd>
            <t>A JSON track named "catalog" that describes all available tracks
in a namespace. The catalog includes codec information, bitrates,
resolutions, language, and relationships between tracks (render
groups for synchronised playback, alternate groups for ABR
switching). Delta updates allow efficient signalling of track
additions and removals.</t>
          </dd>
          <dt>Media Timeline:</dt>
          <dd>
            <t>An optional track that maps MOQT group/object IDs to media
presentation timestamps and wallclock times. This enables seeking
and synchronisation. A template mechanism supports regular
patterns without requiring an explicit timeline track.</t>
          </dd>
          <dt>Event Timelines:</dt>
          <dd>
            <t>Optional metadata tracks carrying time-synchronised application
data (e.g., sports scores, ad insertion markers, GPS coordinates).</t>
          </dd>
          <dt>Publish Tracks:</dt>
          <dd>
            <t>Tracks defined in the catalog to which the subscriber can publish
data back (e.g., QoE metrics, logs).</t>
          </dd>
        </dl>
        <t>MSF supports content with target latencies ranging from real-time
(under 500ms) to standard live (several seconds) to video-on-demand.</t>
      </section>
      <section anchor="cmsf">
        <name>CMSF: CMAF-Compliant Streaming Format</name>
        <t>CMSF <xref target="I-D.ietf-moq-cmsf"/> extends MSF to support CMAF (Common
Media Application Format) packaged media. It is designed for
workflows that use ISO-BMFF containers and existing DRM systems.</t>
        <t>Key differences from base MSF:</t>
        <ul spacing="normal">
          <li>
            <t>Objects contain CMAF Chunks rather than raw codec samples. A
CMAF Chunk is the elementary media segment structure used by
ISO-BMFF-based streaming (the container format behind DASH and
HLS fMP4), consisting of metadata and media data boxes.</t>
          </li>
          <li>
            <t>Initialization segments (CMAF Headers) are carried in the catalog
as base64-encoded inline data.</t>
          </li>
          <li>
            <t>Content protection uses Common Encryption (CENC) with commercial
DRM systems (Widevine, PlayReady, FairPlay) rather than the
application-layer encryption defined by MoQ Secure Objects.</t>
          </li>
          <li>
            <t>SAP-type event timelines signal stream access points for seeking.</t>
          </li>
        </ul>
        <t>CMSF targets deployments that need interoperability with existing
DASH/HLS ecosystems and hardware-based content decryption modules.</t>
      </section>
      <section anchor="layering">
        <name>Layering</name>
        <t>The relationship between the components is:</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="360" viewBox="0 0 360 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,240" fill="none" stroke="black"/>
              <path d="M 160,32 L 160,240" fill="none" stroke="black"/>
              <path d="M 8,32 L 160,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 160,64" fill="none" stroke="black"/>
              <path d="M 184,80 L 200,80" fill="none" stroke="black"/>
              <path d="M 8,112 L 160,112" fill="none" stroke="black"/>
              <path d="M 184,128 L 200,128" fill="none" stroke="black"/>
              <path d="M 8,144 L 160,144" fill="none" stroke="black"/>
              <path d="M 184,160 L 200,160" fill="none" stroke="black"/>
              <path d="M 8,176 L 160,176" fill="none" stroke="black"/>
              <path d="M 8,208 L 160,208" fill="none" stroke="black"/>
              <path d="M 8,240 L 160,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="192,160 180,154.4 180,165.6" fill="black" transform="rotate(180,184,160)"/>
              <polygon class="arrowhead" points="192,128 180,122.4 180,133.6" fill="black" transform="rotate(180,184,128)"/>
              <polygon class="arrowhead" points="192,80 180,74.4 180,85.6" fill="black" transform="rotate(180,184,80)"/>
              <g class="text">
                <text x="64" y="52">Application</text>
                <text x="56" y="84">Streaming</text>
                <text x="124" y="84">Format</text>
                <text x="224" y="84">MSF</text>
                <text x="252" y="84">or</text>
                <text x="284" y="84">CMSF</text>
                <text x="56" y="100">(catalog,</text>
                <text x="124" y="100">rules)</text>
                <text x="40" y="132">Media</text>
                <text x="104" y="132">Container</text>
                <text x="224" y="132">LOC</text>
                <text x="252" y="132">or</text>
                <text x="284" y="132">CMAF</text>
                <text x="36" y="164">MOQT</text>
                <text x="248" y="164">transport</text>
                <text x="324" y="164">protocol</text>
                <text x="36" y="196">QUIC</text>
                <text x="64" y="196">/</text>
                <text x="108" y="196">WebTrans</text>
                <text x="32" y="228">UDP</text>
                <text x="56" y="228">/</text>
                <text x="76" y="228">IP</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 +------------------+
 | Application      |
 +------------------+
 | Streaming Format |  <-- MSF or CMSF
 | (catalog, rules) |
 +------------------+
 | Media Container  |  <-- LOC or CMAF
 +------------------+
 | MOQT             |  <-- transport protocol
 +------------------+
 | QUIC / WebTrans  |
 +------------------+
 | UDP / IP         |
 +------------------+
]]></artwork>
        </artset>
        <t>The streaming format layer defines the media semantics. The
container layer defines how individual samples are serialised.
MOQT provides the delivery machinery. Applications select the
appropriate combination for their needs.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Architecture</name>
      <t>MoQ employs a layered security model. Each layer addresses different
threats and operates at a different scope.</t>
      <section anchor="hbh-security">
        <name>Hop-by-Hop Security</name>
        <t>MOQT runs over QUIC or WebTransport, both of which use TLS 1.3 for
the underlying connection. This provides:</t>
        <ul spacing="normal">
          <li>
            <t>Confidentiality and integrity of all data on each hop.</t>
          </li>
          <li>
            <t>Server authentication (and optionally mutual authentication).</t>
          </li>
          <li>
            <t>Protection against on-path attackers between adjacent nodes.</t>
          </li>
        </ul>
        <t>However, hop-by-hop security does not protect content from relays.
A relay terminates the TLS session and has access to all MOQT
message contents, including object payloads, unless additional
end-to-end protection is applied.</t>
      </section>
      <section anchor="e2e-security">
        <name>End-to-End Object Encryption</name>
        <t>MoQ Secure Objects <xref target="I-D.ietf-moq-secure-objects"/> provides
end-to-end authenticated encryption of media object payloads. It is
based on the SFrame mechanism (<xref target="RFC9605"/>).</t>
        <t>The scheme:</t>
        <ul spacing="normal">
          <li>
            <t>Encrypts the object payload and optional encrypted properties.</t>
          </li>
          <li>
            <t>Authenticates the group ID, object ID, Full Track Name, and
immutable properties.</t>
          </li>
          <li>
            <t>Derives per-track keys from a shared base key using HKDF (a
standard key derivation function that deterministically produces
cryptographic keys from input material).</t>
          </li>
          <li>
            <t>Forms a unique nonce (a value used exactly once) for each object
from the group ID and object ID, ensuring that no two objects
are encrypted with the same parameters.</t>
          </li>
        </ul>
        <t>Relays can still route and cache objects based on unencrypted
metadata (track names, group IDs, priorities, object properties)
but cannot access the media content. The architecture separates
metadata required for routing/caching from metadata that can be
authenticated or encrypted end-to-end. The exact protected
elements depend on the object security scheme and application
profile.</t>
        <t>Key distribution is out of scope for the MoQ specifications —
applications use external key management systems (e.g., MLS-based key
distribution for conferencing <xref target="RFC9750"/>,<xref target="RFC9420"/>, or out-of-band provisioning
for streaming).</t>
      </section>
      <section anchor="authorization">
        <name>Authorization</name>
        <t>In general, MOQT defines where authorization material can be
carried in protocol exchanges, while the semantic interpretation
and verification procedure depend on the selected authorization
scheme and the relay or publisher’s local policy.</t>
        <t>MOQT provides a generic AUTHORIZATION TOKEN parameter that can be
included in control messages (SUBSCRIBE, FETCH, PUBLISH,
PUBLISH_NAMESPACE, and others). Both publishers and subscribers use
this single mechanism to present credentials; relays verify the
token before forwarding content or establishing upstream
subscriptions. Tokens can be registered with session-scoped aliases
to avoid retransmitting large values on every message.</t>
        <t>The working group has defined two authorization schemes that
operate over this mechanism:</t>
        <ul spacing="normal">
          <li>
            <t>Privacy Pass Authentication <xref target="I-D.ietf-moq-privacy-pass-auth"/> —
provides privacy-preserving, unlinkable authorization using
Privacy Pass tokens. It supports fine-grained access control
through namespace and track name matching rules, and defines
mechanisms for continuous re-authorization over long-lived
sessions — either by obtaining multiple tokens in advance
(batched issuance) or by exchanging a validated token for fresh
ones directly with the relay (reverse issuance flow).</t>
          </li>
          <li>
            <t>Common Access Tokens (C4M) <xref target="I-D.ietf-moq-c4m"/> — provides a
bearer token scheme using structured tokens with claims that
express authorization scope. C4M follows a model familiar from
HTTP-based systems.</t>
          </li>
        </ul>
        <t>The choice between schemes depends on application requirements:
Privacy Pass prioritises subscriber anonymity, while C4M offers
simpler integration for deployments with existing identity
infrastructure.</t>
        <t>The streaming format catalog can signal authorization requirements
per-track (via the authInfo field in MSF), allowing subscribers to
discover what credentials they need before attempting to subscribe.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy Considerations</name>
        <t>MoQ's relay-based architecture means that intermediaries necessarily
observe certain metadata in the course of routing and caching
content. Key privacy considerations include:</t>
        <ul spacing="normal">
          <li>
            <t>Relay visibility of metadata: Track namespaces, track names,
group IDs, and object properties are visible to every relay in
the delivery path. This metadata can reveal information about
content and participants even when payloads are end-to-end
encrypted.</t>
          </li>
          <li>
            <t>Traffic analysis: Object sizes, timing patterns, and
subscription behaviour can allow relays or on-path observers to
infer what content is being consumed or who is communicating.</t>
          </li>
          <li>
            <t>Subscriber unlinkability: Without privacy-preserving
authorization (such as Privacy Pass), relays can correlate a
subscriber's identity across multiple sessions or subscriptions.</t>
          </li>
        </ul>
        <t>MOQT provides mechanisms that applications can use to mitigate
these risks, including padding (to obscure traffic patterns) and
token schemes that support unlinkable authentication. However,
achieving strong privacy requires deliberate application design —
for example, using generic namespace structures and consistent
object sizes.</t>
      </section>
    </section>
    <section anchor="application">
      <name>Defining a MoQ Application</name>
      <t>MOQT, streaming formats, container formats, and security mechanisms
are composable building blocks. A complete MoQ application is defined
by specifying which components to use and how they are configured.
This set of choices is also what creates an interoperability point:
two implementations that make the same choices can exchange content
without additional negotiation.</t>
      <section anchor="design-choices">
        <name>Application Design Choices</name>
        <t>Defining a MoQ application requires decisions in each of the
following areas:</t>
        <dl>
          <dt>Transport version:</dt>
          <dd>
            <t>Which MOQT version the application requires, as identified by
the protocol's ALPN string (the identifier used during TLS
connection setup to select the application protocol). This
determines the available protocol features.</t>
          </dd>
          <dt>Streaming format and catalog:</dt>
          <dd>
            <t>How media or data is packaged into MOQT objects, and how
available tracks are described to subscribers. An application may
adopt an existing format (MSF, CMSF) or define a new one.</t>
          </dd>
          <dt>Container and codecs:</dt>
          <dd>
            <t>What container format wraps the encoded samples (e.g., LOC, CMAF)
and which codecs are supported.</t>
          </dd>
          <dt>Security:</dt>
          <dd>
            <t>Whether end-to-end encryption is required (and which scheme), and
which authorization scheme(s) are used to control access.</t>
          </dd>
          <dt>Relay deployment model:</dt>
          <dd>
            <t>How relays are deployed and operated — tree, mesh, or hybrid —
and what trust and authorization policies apply between nodes.</t>
          </dd>
          <dt>Extensions:</dt>
          <dd>
            <t>Any mandatory MOQT extensions (Properties, Setup Options) that
endpoints must support. Applications that need relay-visible
metadata beyond what MOQT defines can register new Properties or
use the application-reserved type ranges.</t>
          </dd>
        </dl>
        <t>If existing components do not cover an application's needs, the MoQ
framework supports extension without modifying the base protocol:
new streaming formats can define their own catalog structures and
packaging rules, new Properties can be registered via IANA, and new
event timeline types can be defined for synchronised metadata.</t>
      </section>
      <section anchor="existing-apps">
        <name>Existing Application Definitions</name>
        <t>The MoQ working group has defined two complete application
specifications that illustrate the design choices above:</t>
        <dl>
          <dt>MSF (MOQT Streaming Format):</dt>
          <dd>
            <t>Uses MOQT + LOC packaging + a JSON catalog. Targets real-time and
live streaming with LOC's minimal per-sample overhead. Supports
ABR switching via time-aligned alternate groups, media timelines,
event timelines, and publish tracks for subscriber-to-platform
communication. Defined in <xref target="I-D.ietf-moq-msf"/>.</t>
          </dd>
          <dt>CMSF (CMAF-compliant Streaming Format):</dt>
          <dd>
            <t>Extends MSF with CMAF/ISO-BMFF packaging and Common Encryption
(CENC) for DRM integration. Targets deployments that interoperate
with existing DASH/HLS ecosystems and hardware content decryption.
Defined in <xref target="I-D.ietf-moq-cmsf"/>.</t>
          </dd>
        </dl>
        <t>Both specifications make concrete choices for every area listed in
<xref target="design-choices"/>, producing fully interoperable application
definitions.</t>
      </section>
      <section anchor="reading-guide">
        <name>Reading Guide</name>
        <t>The following table maps common goals to the relevant specifications:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Goal</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Understand the wire protocol and session mechanics</td>
              <td align="left">
                <xref target="I-D.ietf-moq-transport"/></td>
            </tr>
            <tr>
              <td align="left">Build a live streaming or conferencing application using LOC</td>
              <td align="left">
                <xref target="I-D.ietf-moq-msf"/></td>
            </tr>
            <tr>
              <td align="left">Use CMAF packaging with DRM</td>
              <td align="left">
                <xref target="I-D.ietf-moq-cmsf"/></td>
            </tr>
            <tr>
              <td align="left">Add end-to-end encryption</td>
              <td align="left">
                <xref target="I-D.ietf-moq-secure-objects"/></td>
            </tr>
            <tr>
              <td align="left">Implement privacy-preserving authorization</td>
              <td align="left">
                <xref target="I-D.ietf-moq-privacy-pass-auth"/></td>
            </tr>
            <tr>
              <td align="left">Implement bearer-token authorization</td>
              <td align="left">
                <xref target="I-D.ietf-moq-c4m"/></td>
            </tr>
            <tr>
              <td align="left">Understand the LOC container format</td>
              <td align="left">
                <xref target="I-D.ietf-moq-loc"/></td>
            </tr>
            <tr>
              <td align="left">Operate relays and understand DoS resilience</td>
              <td align="left">
                <xref target="I-D.englishm-moq-relay-dos"/></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The MoQ security model is described in <xref target="security"/>. The key
residual risks are:</t>
      <dl>
        <dt>Relay Trust:</dt>
        <dd>
          <t>Relays see all MOQT metadata and, without E2E encryption, all
object payloads. Deployments must carefully consider which
entities operate relays and what authorization they require.</t>
        </dd>
        <dt>Cache Poisoning:</dt>
        <dd>
          <t>If a relay accepts objects from an unauthorized publisher, it may
serve corrupted content to subscribers. Relay implementations
must verify publisher identity and authorization before caching.</t>
        </dd>
        <dt>Traffic Analysis:</dt>
        <dd>
          <t>Even with E2E encryption, object sizes, timing patterns, and
track names can reveal content characteristics. Padding and
generic naming mitigate but do not eliminate this risk.</t>
        </dd>
        <dt>Authorization Token Replay:</dt>
        <dd>
          <t>Token replay protection is delegated to the specific token
scheme. Implementations must select schemes with appropriate
replay resistance for their threat model.</t>
        </dd>
        <dt>Amplification:</dt>
        <dd>
          <t>A single SUBSCRIBE can trigger unbounded data flow from a
publisher or relay. Rate limiting, per-session resource caps,
and the EXCESSIVE_LOAD error code provide defences. See
<xref target="I-D.englishm-moq-relay-dos"/> for detailed analysis.</t>
        </dd>
      </dl>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>The following persons have contributed to this document:</t>
      <ul spacing="normal">
        <li>
          <t>Gwendal Simon</t>
        </li>
      </ul>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document has been prepared using AI tools.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9000" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9000.xml">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9000"/>
        <seriesInfo name="DOI" value="10.17487/RFC9000"/>
      </reference>
      <reference anchor="RFC9605" target="https://www.rfc-editor.org/info/rfc9605" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9605.xml">
        <front>
          <title>Secure Frame (SFrame): Lightweight Authenticated Encryption for Real-Time Media</title>
          <author fullname="E. Omara" initials="E." surname="Omara"/>
          <author fullname="J. Uberti" initials="J." surname="Uberti"/>
          <author fullname="S. G. Murillo" initials="S. G." surname="Murillo"/>
          <author fullname="R. Barnes" initials="R." role="editor" surname="Barnes"/>
          <author fullname="Y. Fablet" initials="Y." surname="Fablet"/>
          <date month="August" year="2024"/>
          <abstract>
            <t>This document describes the Secure Frame (SFrame) end-to-end encryption and authentication mechanism for media frames in a multiparty conference call, in which central media servers (Selective Forwarding Units or SFUs) can access the media metadata needed to make forwarding decisions without having access to the actual media.</t>
            <t>This mechanism differs from the Secure Real-Time Protocol (SRTP) in that it is independent of RTP (thus compatible with non-RTP media transport) and can be applied to whole media frames in order to be more bandwidth efficient.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9605"/>
        <seriesInfo name="DOI" value="10.17487/RFC9605"/>
      </reference>
      <reference anchor="RFC9420" target="https://www.rfc-editor.org/info/rfc9420" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9420.xml">
        <front>
          <title>The Messaging Layer Security (MLS) Protocol</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes"/>
          <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
          <author fullname="R. Robert" initials="R." surname="Robert"/>
          <author fullname="J. Millican" initials="J." surname="Millican"/>
          <author fullname="E. Omara" initials="E." surname="Omara"/>
          <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
          <date month="July" year="2023"/>
          <abstract>
            <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9420"/>
        <seriesInfo name="DOI" value="10.17487/RFC9420"/>
      </reference>
      <reference anchor="RFC9750" target="https://www.rfc-editor.org/info/rfc9750" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9750.xml">
        <front>
          <title>The Messaging Layer Security (MLS) Architecture</title>
          <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <author fullname="E. Omara" initials="E." surname="Omara"/>
          <author fullname="S. Inguva" initials="S." surname="Inguva"/>
          <author fullname="A. Duric" initials="A." surname="Duric"/>
          <date month="April" year="2025"/>
          <abstract>
            <t>The Messaging Layer Security (MLS) protocol (RFC 9420) provides a group key agreement protocol for messaging applications. MLS is designed to protect against eavesdropping, tampering, and message forgery, and to provide forward secrecy (FS) and post-compromise security (PCS).</t>
            <t>This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS. It provides guidance on building a group messaging system and discusses security and privacy trade-offs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by MLS and are instead left to the application.</t>
            <t>While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in the case of active adversaries that are able to compromise clients, the Delivery Service (DS), or the Authentication Service (AS).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9750"/>
        <seriesInfo name="DOI" value="10.17487/RFC9750"/>
      </reference>
      <reference anchor="I-D.ietf-moq-transport" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-transport-22" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-transport.xml">
        <front>
          <title>Media over QUIC Transport</title>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
            <organization>Google</organization>
          </author>
          <author fullname="Ian Swett" initials="I." surname="Swett">
            <organization>Google</organization>
          </author>
          <author fullname="Alan Frindell" initials="A." surname="Frindell">
            <organization>Meta</organization>
          </author>
          <date day="1" month="October" year="2026"/>
          <abstract>
            <t>This document defines Media over QUIC Transport (MOQT), a publish/ subscribe protocol that runs over QUIC and WebTransport. MOQT leverages the features of these transports, such as streams, datagrams, priorities, and partial reliability. MOQT operates both point-to-point and through intermediate relays, enabling scalable low-latency delivery. Despite its name, MOQT is media agnostic and can be used for a wide range of use cases.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-22"/>
      </reference>
      <reference anchor="I-D.ietf-moq-msf" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-msf-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-msf.xml">
        <front>
          <title>MOQT Streaming Format</title>
          <author fullname="Will Law" initials="W." surname="Law">
            <organization>Akamai</organization>
          </author>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <date day="2" month="June" year="2026"/>
          <abstract>
            <t>This document specifies the MOQT Streaming Format, designed to operate on Media Over QUIC Transport.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-msf-01"/>
      </reference>
      <reference anchor="I-D.ietf-moq-cmsf" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-cmsf-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-cmsf.xml">
        <front>
          <title>CMSF- a CMAF compliant implementation of MOQT Streaming Format</title>
          <author fullname="Will Law" initials="W." surname="Law">
            <organization>Akamai</organization>
          </author>
          <date day="3" month="June" year="2026"/>
          <abstract>
            <t>This document updates MOQT Streaming Format by defining optional syntax and semantics for carrying CMAF-packaged media.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-cmsf-01"/>
      </reference>
      <reference anchor="I-D.ietf-moq-secure-objects" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-secure-objects-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-secure-objects.xml">
        <front>
          <title>End-to-End Secure Objects for Media over QUIC Transport</title>
          <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
            <organization>Cisco</organization>
          </author>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <author fullname="Richard Barnes" initials="R." surname="Barnes">
            <organization>Cisco</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>This document specifies an end-to-end authenticated encryption scheme for application objects transmitted via Media over QUIC (MoQ) Transport. The scheme enables original publishers that share a symmetric key with end subscribers, to ensuring that MoQ relays are unable to decrypt object contents. Additionally, subscribers can verify the integrity and authenticity of received objects, confirming that the content has not been modified in transit. Additionally it allows MoQ parameters to be protected so the publisher can select if they are readable and/or modifiable by relays.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-secure-objects-01"/>
      </reference>
      <reference anchor="I-D.ietf-moq-privacy-pass-auth" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-privacy-pass-auth-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-privacy-pass-auth.xml">
        <front>
          <title>Privacy Pass Authentication for Media over QUIC (MoQ)</title>
          <author fullname="Suhas Nandakumar"/>
          <author fullname="Cullen Jennings"/>
          <author fullname="Thibault Meunier"/>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>This document specifies the use of Privacy Pass architecture and
   issuance protocols for authorization in Media over QUIC (MoQ)
   transport protocol.  It defines how Privacy Pass tokens can be
   integrated with MoQ's authorization framework to provide privacy-
   preserving authentication for subscriptions, fetches, publications,
   and relay operations while supporting fine-grained access control
   through prefix-based track namespace and track name matching rules.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-privacy-pass-auth-04"/>
      </reference>
      <reference anchor="I-D.ietf-moq-c4m" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-c4m-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-c4m.xml">
        <front>
          <title>Authorization scheme for MOQT using Common Access Tokens</title>
          <author fullname="Will Law" initials="W." surname="Law">
            <organization>Akamai</organization>
          </author>
          <author fullname="Chris Lemmons" initials="C." surname="Lemmons">
            <organization>Comcast</organization>
          </author>
          <author fullname="Gwendal Simon" initials="G." surname="Simon">
            <organization>Synamedia</organization>
          </author>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <date day="18" month="June" year="2026"/>
          <abstract>
            <t>A token-based authorization scheme for use with Media Over QUIC Transport.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-c4m-01"/>
      </reference>
      <reference anchor="I-D.ietf-moq-loc" target="https://datatracker.ietf.org/doc/html/draft-ietf-moq-loc-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-moq-loc.xml">
        <front>
          <title>Low Overhead Media Container</title>
          <author fullname="Mo Zanaty" initials="M." surname="Zanaty">
            <organization>Cisco</organization>
          </author>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <author fullname="Peter Thatcher" initials="P." surname="Thatcher">
            <organization>Microsoft</organization>
          </author>
          <date day="20" month="July" year="2026"/>
          <abstract>
            <t>This specification describes a Low Overhead Media Container (LOC) format for encoded and encrypted audio and video media data to be used primarily for interactive Media over QUIC Transport (MOQT). It may be used in the MOQT Streaming Format (MSF) specification, which defines a catalog format for publishers to declare and describe their LOC tracks and for subscribers to consume them. Examples are also provided for building media applications using LOC and MOQT.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-loc-04"/>
      </reference>
      <reference anchor="I-D.ietf-webtrans-overview" target="https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-13" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-webtrans-overview.xml">
        <front>
          <title>The WebTransport Protocol Framework</title>
          <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
            <organization>Google</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>The WebTransport Protocol Framework enables clients constrained by the Web security model to communicate with a remote server using a secure multiplexed transport. It consists of a set of individual protocols that are safe to expose to untrusted applications, combined with an abstract model that allows them to be used interchangeably. This document defines the overall requirements on the protocols used in WebTransport, as well as the common features of the protocols, support for some of which is optional.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-webtrans-overview-13"/>
      </reference>
      <reference anchor="I-D.englishm-moq-relay-dos" target="https://datatracker.ietf.org/doc/html/draft-englishm-moq-relay-dos-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.englishm-moq-relay-dos.xml">
        <front>
          <title>Denial-of-Service Considerations for Media over QUIC Relay Deployments</title>
          <author fullname="Mike English" initials="M." surname="English">
            <organization>Cloudflare</organization>
          </author>
          <author fullname="Lucas Pardue" initials="L." surname="Pardue">
            <organization>Cloudflare</organization>
          </author>
          <author fullname="Aman Sharma" initials="A." surname="Sharma">
            <organization>Meta</organization>
          </author>
          <author fullname="Ian Swett" initials="I." surname="Swett">
            <organization>Google</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>The Media over QUIC Transport (MoQT) protocol presents denial-of- service risks that differ in character from those facing typical request-response protocols. MoQT relays forward, fan out, and optionally cache media content on behalf of publishers and subscribers. This document complements the MoQT Security Considerations, focusing on the unique considerations for relays.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-englishm-moq-relay-dos-01"/>
      </reference>
    </references>
    <?line 1076?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA619W28b2bXme/2Kgv3QEkLSTqc7B0dzMIgsybZO25ZiqdMz
weAERdYmVXGxiqkqSma7HeRpfsAgL/P38ktmfeuyL0XK3QnGCNIiWZd9Wff1
rbWn02lWtoumWLuTvOyK5TB9cP3gunrblNN1+5dpe++6+8o9TJ9/nQ3VUNN1
T966sipy/JL//vvLs/xKr3mSFfN55+5P8rft7/23WTvv29oNrj/JFsVwklfN
ss2qTXeSD922H75+/vzf6eEPq5OcXpgVnStO8h8ub7N+O19XfV+1zbDb0Hsv
L25fZtm9a7buJMvzVdduN/Sq0WCO3l79/ph+XhdVzU/8XeWG5aztVrinGu62
85P8bhg2/cmzZ/J5tmjXz1Z1WzXb+tkXVyHLiu1w13Yn2ZSeRjPpT/L87Sz/
wV+Or2U53xarZtuPfqJhnOQXXbXo+7bBF07HyRfPwmt/5/QiDC562x9n+U3R
fXBdeNEfiztXbn/8sVgXTfQjv+pd+6Eqovf8GF076/na3zW4hl+TYWu6dTFU
97TEuO39y7N/f/78+Yn9/dvn3/q/v/k6fP9v38rfl9PzGdabV23oiqbftN2w
/9O6X+5/uTj4be8W285N2/mf3WLo93/fdNV9sdhNN0XfT7E9Bx78zXr/y7pd
pF8+uDmP2O+2/9k1q7rq79Z8X+fqYjctWxpK1kSrlU2n07yY9/SMxZBlt3dV
nxNvbdeuGfJN195XpevzIr+rVnfT2t27OrcX5e0yH+7cmJazI+KjY9w7tIu2
zvttNbhZfjnk9KRFV83pebit6BZ39MtioHWa5GUxFET3pasnmd8B/5BJTgN0
xbpqVrnsdT/Ji6bMeZmrYZev3eKuaKp+jYcXQza0K0dv6XLXFPPa5f2iqPmP
un2Y1sXgmgVuwsjpnbQW3U6mgKFdNkTPjRtmtB4uLIf7uKkLouf8rn3Adb3L
if42bUM/9jlWeHD50OauWNzlLb+dxpjp1Tuasd7QuxLXLWhKdEeFt7Ub1/H4
ZEzFZlNXJHdIjPQz2aR1VZa1y7KnGF7XltsFfs0/Pa2ij5+zbF+0YDtoW4nP
IIzyh7b7gIVkUcSrhXWmB2CjM94ubG3YwI1bVEsbDdbfr+YkWU5byGx/IXMs
5ILWqStGD8TImIpI+N7axmf+5RCMt8e02flmOwc5PyMBK2QURjjfVvWQ07OY
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

-->

</rfc>
