<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-editorial-rswg-svgsinrfcs-04" category="info" submissionType="editorial" number="9896" obsoletes="7996" tocInclude="true" sortRefs="true" symRefs="true" prepTime="2026-01-30T10:07:22" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-editorial-rswg-svgsinrfcs-04" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9896" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title>SVG in RFCs</title>
    <seriesInfo name="RFC" value="9896" stream="editorial"/>
    <author initials="A." surname="Rossi" fullname="Alexis Rossi">
      <organization showOnFrontPage="true">RFC Series Consulting Editor</organization>
      <address>
        <email>rsce@rfc-editor.org</email>
      </address>
    </author>
    <author initials="N." surname="Brownlee" fullname="Nevil Brownlee">
      <organization showOnFrontPage="true"/>
      <address>
        <email>nevil.brownlee@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Mahoney" fullname="Jean Mahoney">
      <organization showOnFrontPage="true">RFC Production Center</organization>
      <address>
        <email>jmahoney@staff.rfc-editor.org</email>
      </address>
    </author>
    <author initials="M." surname="Thomson" fullname="Martin Thomson">
      <organization showOnFrontPage="true"/>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <date month="01" year="2026"/>
    <keyword>SVG</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines policy for the inclusion of Scalable Vector Graphics (SVG) in the definitive versions of RFCs and relevant publication formats. It contains policy requirements from RFC 7996 but removes all requirements related to using a specific SVG profile or implementation code. It also makes the RFC Production Center (RPC) responsible for decisions about SVG tooling and implementation.</t>
      <t indent="0" pn="section-abstract-2">This document obsoletes RFC 7996.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the RFC Series Policy Definition
            Process.  It represents the consensus of the RFC Series Working
            Group approved by the RFC Series Approval Board.  Such documents
            are not candidates for any level of Internet Standard; see
            Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any errata,
            and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9896" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-policy-requirements">Policy Requirements</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-guidance">Implementation Guidance</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document defines policy for the inclusion of Scalable Vector Graphics (SVG) in the definitive versions of RFCs and relevant publication formats defined in <xref target="RFC9720" format="default" sectionFormat="of" derivedContent="RFC9720"/>. It contains policy requirements taken from <xref target="RFC7996" format="default" sectionFormat="of" derivedContent="RFC7996"/> but removes all requirements related to using a specific SVG profile or implementation code.</t>
      <t indent="0" pn="section-1-2">SVG has been developed by the World Wide Web Consortium (W3C); see <xref target="SVG" format="default" sectionFormat="of" derivedContent="SVG"/>.</t>
      <t indent="0" pn="section-1-3">The RFC Production Center (RPC) is responsible for making decisions about SVG tooling and implementation. The RPC may use the content of <xref target="RFC7996" format="default" sectionFormat="of" derivedContent="RFC7996"/> as a starting point for those decisions, but they are not bound by <xref target="RFC7996" format="default" sectionFormat="of" derivedContent="RFC7996"/>. In addition, the RPC may change elements of the implementation as needed to support the RFC authoring community as long as those changes are aligned with the policy requirements in this document.</t>
    </section>
    <section anchor="policy-requirements" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-policy-requirements">Policy Requirements</name>
      <t indent="0" pn="section-2-1">Decisions about SVG tooling and implementation are made by the RPC and must adhere to the policy requirements in this document:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-2">
        <li pn="section-2-2.1">
          <t indent="0" pn="section-2-2.1.1">SVG drawings may be included in RFCs to help explain a concept more clearly, but they should not be the only representation of that concept. A good-faith effort should be made to ensure that descriptions of concepts -- which might include protocols, formats, or system architectures -- are fully represented in the text of the RFC. At minimum, SVG drawings should be consistent with the descriptions in the text of the RFC.</t>
        </li>
        <li pn="section-2-2.2">
          <t indent="0" pn="section-2-2.2.1">SVG drawings must not include animation or interactive features. SVG drawings should include only limited reactive design elements (scaling, dark/light mode, and perhaps minor adjustments to allow for variations in display technology). The intent of this is to ensure that the diagram's meaning is not altered.</t>
        </li>
        <li pn="section-2-2.3">
          <t indent="0" pn="section-2-2.3.1">Images and diagrams in RFCs should be successfully rendered and understood by the widest audience possible. To that end, the RPC may prohibit the use of SVG features that are known to lack support on common devices, that do not render on small or low-resolution screens, or that could make diagrams less comprehensible for any significant readership. In particular:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-2.3.2">
            <li pn="section-2-2.3.2.1">
              <t indent="0" pn="section-2-2.3.2.1.1">SVG drawings must not contain pointers to external resources.</t>
            </li>
            <li pn="section-2-2.3.2.2">
              <t indent="0" pn="section-2-2.3.2.2.1">SVG drawings must not contain executable script.</t>
            </li>
            <li pn="section-2-2.3.2.3">
              <t indent="0" pn="section-2-2.3.2.3.1">SVG drawings should be as accessible as possible to people with visual disabilities, including those who have color blindness, those who need to scale or change fonts, and those who use screen-reading software. The RPC will refer to the W3C Accessibility Guidelines <xref target="WAI" format="default" sectionFormat="of" derivedContent="WAI"/> when making decisions regarding accessibility.</t>
            </li>
          </ul>
        </li>
        <li pn="section-2-2.4">
          <t indent="0" pn="section-2-2.4.1">Authors may include multiple versions of images or diagrams in RFCXML <xref target="RFC9720" format="default" sectionFormat="of" derivedContent="RFC9720"/>.  Publication formats should present the versions best suited to each format.  In many cases, that will be an SVG.</t>
        </li>
        <li pn="section-2-2.5">
          <t indent="0" pn="section-2-2.5.1">SVG vocabulary and implementation may change over time. Changes are not required to remain backwards compatible, although maintaining compatibility where possible is encouraged.</t>
        </li>
      </ul>
      <t indent="0" pn="section-2-3">The RPC is authorized to place constraints on SVG usage in RFCs for both technical and editorial reasons
in order to ensure that published RFCs meet the above policy
and to provide consistency across the RFC Series.
The RPC must document the acceptable usage of SVG, and all changes to decisions about SVG tooling and implementation must be widely communicated to the RFC author community using mailing lists or other means.</t>
    </section>
    <section anchor="implementation-guidance" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-implementation-guidance">Implementation Guidance</name>
      <t indent="0" pn="section-3-1">The RPC is expected to solicit community input before making decisions and to publicly explain their reasoning.</t>
      <t indent="0" pn="section-3-2">Documentation produced by the RPC should describe the technical and editorial constraints that apply to SVG
and provide RFC authors with guidance on how to produce diagrams that meet those constraints.</t>
      <t indent="0" pn="section-3-3">The RPC's implementation should strive to allow SVG drawings produced by widely used drawing tools.
Where possible, implementation decisions should focus on specifying what is disallowed rather than attempting to specify exactly what is allowed.</t>
      <t indent="0" pn="section-3-4">The RPC should periodically review and revise their practices.</t>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1">This document has no security considerations.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-5-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references" pn="section-6">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="RFC7996" target="https://www.rfc-editor.org/info/rfc7996" quoteTitle="true" derivedAnchor="RFC7996">
        <front>
          <title>SVG Drawings for RFCs: SVG 1.2 RFC</title>
          <author fullname="N. Brownlee" initials="N." surname="Brownlee"/>
          <date month="December" year="2016"/>
          <abstract>
            <t indent="0">This document specifies SVG 1.2 RFC -- an SVG profile for use in diagrams that may appear in RFCs -- and considers some of the issues concerning the creation and use of such diagrams.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7996"/>
        <seriesInfo name="DOI" value="10.17487/RFC7996"/>
      </reference>
      <reference anchor="RFC9720" target="https://www.rfc-editor.org/info/rfc9720" quoteTitle="true" derivedAnchor="RFC9720">
        <front>
          <title>RFC Formats and Versions</title>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <author fullname="H. Flanagan" initials="H." surname="Flanagan"/>
          <date month="January" year="2025"/>
          <abstract>
            <t indent="0">In order to improve the readability of RFCs while supporting their archivability, the definitive version of the RFC Series transitioned from plain-text ASCII to XML using the RFCXML vocabulary; different publication versions are rendered from that base document. This document describes how RFCs are published.</t>
            <t indent="0">This document obsoletes RFC 7990. This document also updates the stability policy in RFC 9280.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9720"/>
        <seriesInfo name="DOI" value="10.17487/RFC9720"/>
      </reference>
      <reference anchor="SVG" target="https://www.w3.org/TR/2018/CR-SVG2-20181004/" quoteTitle="true" derivedAnchor="SVG">
        <front>
          <title>Scalable Vector Graphics (SVG) 2</title>
          <author>
            <organization showOnFrontPage="true">W3C</organization>
          </author>
          <date day="4" month="October" year="2018"/>
        </front>
      </reference>
      <reference anchor="WAI" target="https://www.w3.org/WAI/standards-guidelines/" quoteTitle="true" derivedAnchor="WAI">
        <front>
          <title>W3C Accessibility Standards Overview</title>
          <author>
            <organization showOnFrontPage="true">W3C</organization>
          </author>
          <date/>
        </front>
      </reference>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="A." surname="Rossi" fullname="Alexis Rossi">
        <organization showOnFrontPage="true">RFC Series Consulting Editor</organization>
        <address>
          <email>rsce@rfc-editor.org</email>
        </address>
      </author>
      <author initials="N." surname="Brownlee" fullname="Nevil Brownlee">
        <organization showOnFrontPage="true"/>
        <address>
          <email>nevil.brownlee@gmail.com</email>
        </address>
      </author>
      <author initials="J." surname="Mahoney" fullname="Jean Mahoney">
        <organization showOnFrontPage="true">RFC Production Center</organization>
        <address>
          <email>jmahoney@staff.rfc-editor.org</email>
        </address>
      </author>
      <author initials="M." surname="Thomson" fullname="Martin Thomson">
        <organization showOnFrontPage="true"/>
        <address>
          <email>mt@lowentropy.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
