<?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.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netmod-immutable-flag-09" category="std" consensus="true" submissionType="IETF" updates="8040, 8526" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="immutable flag">YANG Metadata Annotation for Immutable Flag</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-immutable-flag-09"/>
    <author fullname="Qiufang Ma" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>maqiufang1@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Nanjing, Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Balazs Lengyel" role="editor">
      <organization>Ericsson</organization>
      <address>
        <email>balazs.lengyel@ericsson.com</email>
      </address>
    </author>
    <author fullname="Hongwei Li">
      <organization>HPE</organization>
      <address>
        <email>flycoolman@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="31"/>
    <area>Operations and Management</area>
    <workgroup>netmod</workgroup>
    <keyword>immutable flag</keyword>
    <keyword>system configuration</keyword>
    <abstract>
      <?line 75?>

<t>This document defines a way to formally document an existing behavior,
   implemented by servers in production, on the immutability of some
   system-provided nodes, using a YANG metadata annotation called
   "immutable" to flag which nodes are immutable.</t>
      <t>Clients may use "immutable" annotations provided by the server, to
   know beforehand why certain otherwise valid configuration requests
   will cause the server to return an error.</t>
      <t>The immutable flag is descriptive, documenting an existing behavior, not
   proscriptive, dictating server behaviors.</t>
      <t>This document updates RFC 8040 and RFC 8526.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Network Modeling Working Group mailing list (netmod@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netmod/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/netmod-wg/immutable-flag"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines a YANG metadata annotation <xref target="RFC7952"/> to formally document
   an existing model handling behavior that has been used by
   multiple standard organizations and vendors.  It is the aim to create
   one single standard solution for documenting non-modifiable system
   data declared as configuration, instead of the multiple existing
   vendor and organization specific solutions.</t>
      <t>YANG <xref target="RFC7950"/> is a data modeling language used to model both state
   and configuration data, based on the "config" statement.  However,
   there exists some system configuration data that cannot be modified
   by the client (it is immutable), but still needs to be declared as
   "config true" to:</t>
      <ul spacing="normal">
        <li>
          <t>allow configuration of data nodes under immutable lists or containers;</t>
        </li>
        <li>
          <t>place "when", "must" and "leafref" constraints between configuration
   and immutable nodes;</t>
        </li>
        <li>
          <t>ensure the existence of specific list entries that are provided and
   needed by the system, while additional list entries can be created,
   modified or deleted.</t>
        </li>
      </ul>
      <t>If the server always rejects a client's attempt to override some
   system-provided data because it internally thinks the data is immutable, it should document
   it towards the clients in a machine-readable way rather than writing as
   plain text in the "description" statement.</t>
      <t>This document defines a way to formally document the existing behavior,
   implemented by servers in production, on the immutability of some
   system-provided nodes, using a YANG metadata annotation <xref target="RFC7952"/>
   called "immutable" to flag which nodes are immutable. This document does not
   regulate server behaviors. That said, it is expected that a server will return
   an error with an error-tag containing "invalid-value" when immutability
   is attempted to be violated.</t>
      <t>The following is a list of already implemented and potential use
   cases:</t>
      <ul spacing="normal">
        <li>
          <t>UC1  Modeling of server capabilities</t>
        </li>
        <li>
          <t>UC2  Hardware based auto-configuration</t>
        </li>
        <li>
          <t>UC3  Predefined administrator roles</t>
        </li>
        <li>
          <t>UC4  Declaring immutable system configuration from the perspective of a logical network element (LNE)</t>
        </li>
      </ul>
      <t><xref target="use-cases"/> describes the use cases in detail.</t>
      <section anchor="updates-to-rfc-8040">
        <name>Updates to RFC 8040</name>
        <t>This document updates Sections <xref target="RFC8040" section="4.8" sectionFormat="bare"/> and <xref target="RFC8040" section="9.1.1" sectionFormat="bare"/> of <xref target="RFC8040"/> to add an
  additional query parameter named "with-immutability", as specified in <xref target="RESTCONF-ext"/>.</t>
      </section>
      <section anchor="updates-to-rfc-8526">
        <name>Updates to RFC 8526</name>
        <t>This document updates <xref section="3.1.1" sectionFormat="of" target="RFC8526"/> to add an additional input parameter
   named "with-immutability" for the &lt;get-data&gt; operation, as specified in <xref target="NETCONF-ext"/>.</t>
      </section>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
        <t>This document contains placeholder values that need to be replaced with finalized
  values at the time of publication.  This note summarizes all of the
  substitutions that are needed.  No other RFC Editor instructions are specified
  elsewhere in this document.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this draft</t>
          </li>
          <li>
            <t>2026-03-31 --&gt; the actual date of the publication of this document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The document uses the following definition in <xref target="RFC6241"/>:</t>
      <ul spacing="normal">
        <li>
          <t>configuration data</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="RFC7950"/>:</t>
      <ul spacing="normal">
        <li>
          <t>data node</t>
        </li>
        <li>
          <t>leaf</t>
        </li>
        <li>
          <t>leaf-list</t>
        </li>
        <li>
          <t>container</t>
        </li>
        <li>
          <t>list</t>
        </li>
        <li>
          <t>anydata</t>
        </li>
        <li>
          <t>anyxml</t>
        </li>
        <li>
          <t>interior node</t>
        </li>
        <li>
          <t>data tree</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="RFC8341"/>:</t>
      <ul spacing="normal">
        <li>
          <t>access operation</t>
        </li>
      </ul>
      <t>The document uses the following definition in <xref target="I-D.ietf-netmod-system-config"/>:</t>
      <ul spacing="normal">
        <li>
          <t>system configuration</t>
        </li>
      </ul>
      <t>This document defines the following term:</t>
      <dl>
        <dt>immutable flag:</dt>
        <dd>
          <t>A read-only state value the server provides to describe
   immutability of the configuration, which is conveyed via a YANG metadata annotation
   called "immutable" with a boolean value.</t>
        </dd>
      </dl>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>While the immutable flag applies to all configuration nodes, its value true can
   only be used for system configuration.</t>
      <t>The immutable flag is only visible in read-only datastores (i.e., &lt;system&gt;
   <xref target="I-D.ietf-netmod-system-config"/>, &lt;intended&gt;, and &lt;operational&gt;)
   when a "with-immutability" parameter is carried (<xref target="with-immutability"/>),
   however this only serves as descriptive information about the
   instance node itself, but has no effect on the handling of the read-only
   datastore. If the immutable flag is requested to be returned for an invalid
   datastore, then the server <bcp14>MUST</bcp14> return an &lt;rpc-error&gt; element with an &lt;error-tag&gt;
   value of "invalid-value".</t>
      <t>Configuration data has the same immutability if it appears in different datastores.
   The immutability of configuration data is protocol and
   user independent.</t>
    </section>
    <section anchor="immutable-metadata-annotation">
      <name>"Immutable" Metadata Annotation</name>
      <section anchor="immutable-def">
        <name>Definition</name>
        <t>The immutable flag which is defined as the metadata annotation takes a boolean
   value, and it is returned as requested by the client using a "with-immutability"
   parameter (<xref target="with-immutability"/>). If the "immutable" metadata annotation for
   a configuration node is not specified, the default "immutable" value is the
   same as the value of its parent node in the data tree (<xref target="interior"/>).
   The immutable metadata annotation value for a top-level instance
   node is "false" if not specified.</t>
        <t>A node that is annotated as immutable cannot be changed via configuring
   a different value in read-write configuration datastores (e.g., &lt;running&gt;),
   nor is there any way to delete the node from the combined configuration in the intended datastore (as described in <xref section="4" sectionFormat="of" target="I-D.ietf-netmod-system-config"/>). The node <bcp14>MAY</bcp14> be explicitly configured by a client in &lt;running&gt; with the
   same value and that configuration in &lt;running&gt; may subsequently be removed,
   but neither of these edits will change the configuration in &lt;intended&gt; (if implemented) on the device.</t>
        <t>Note that "immutable" metadata annotations are used to annotate data node
   instances.  A list may have multiple instances in the data tree,
   servers may annotate some of the instances as immutable, while others as
   mutable.</t>
        <t>Servers <bcp14>MUST</bcp14> ignore any immutable annotations sent from the client.</t>
      </section>
      <section anchor="with-immutability">
        <name>"with-immutability" Parameter</name>
        <t>This section specifies the NETCONF <xref target="RFC6241"/> <xref target="RFC8526"/> and RESTCONF <xref target="RFC8040"/>
   protocol extensions to support the "with-immutability" parameter.
   The "immutable" metadata annotations are not returned in a response unless
   explicitly requested by the client using this parameter.</t>
        <section anchor="NETCONF-ext">
          <name>NETCONF Extensions to Support "with-immutability"</name>
          <t>This document updates <xref target="RFC8526"/> to augment the &lt;get-data&gt;
   operation with an additional parameter named "with-immutability" when interacting with read-only datastores.
   If present, this parameter requests that the server includes
   the "immutable" metadata annotations in its response.</t>
          <t><xref target="tree"/> provides the tree structure <xref target="RFC8340"/> of augmentations to NETCONF
   operations, as defined in the "ietf-immutable-annotation" module (<xref target="module"/>).</t>
          <figure anchor="tree">
            <name>Augmentations to NETCONF Operations</name>
            <artwork><![CDATA[
module: ietf-immutable-annotation
  augment /ncds:get-data/ncds:input:
    +---w with-immutability?   empty
]]></artwork>
          </figure>
          <t>To discover if the "with-immutability" parameter is supported by the server,
a NETCONF client can query if the server implements "ietf-immutable-annotation" module by reading the YANG library information from the operational state datastore, as per <xref target="RFC8526"/>.</t>
          <t>Refer to <xref target="NETCONF-example"/> for an example of NETCONF operation with "with-immutability" input parameter.</t>
        </section>
        <section anchor="RESTCONF-ext">
          <name>RESTCONF Extensions to Support "with-immutability"</name>
          <t>This document extends Sections <xref target="RFC8040" section="4.8" sectionFormat="bare"/> and <xref target="RFC8040" section="9.1.1" sectionFormat="bare"/> of <xref target="RFC8040"/> to add a query
   parameter named "with-immutability" to the GET operation. If present, this parameter
   requests that the server includes the "immutable" metadata annotations in its
   response. This parameter is only allowed with no values carried when interacting with read-only datastores.
   If it has any unexpected value, then a "400 Bad Request" status-line is returned.
   RESTCONF protocol operations for the datastore resources are defined in <xref target="RFC8527"/>.</t>
          <t>To enable a RESTCONF client to discover if the "with-immutability" query parameter
   is supported by the server, the following capability URI is defined:</t>
          <artwork><![CDATA[
    urn:ietf:params:restconf:capability:with-immutability:1.0
]]></artwork>
          <t>Refer to <xref target="RESTCONF-example"/> for an example of RESTCONF operation with "with-immutability" query parameter.</t>
        </section>
      </section>
    </section>
    <section anchor="use-of-immutable-flag-for-different-statements">
      <name>Use of Immutable Flag for Different Statements</name>
      <t>This section defines what the immutable flag means to the client for
   each instance of YANG data node statement.</t>
      <section anchor="the-leaf-statement">
        <name>The "leaf" Statement</name>
        <t>When a leaf node instance is immutable, it cannot be configured with a
   different value in read-write configuration datastores (e.g., &lt;running&gt;) or
   removed from &lt;intended&gt; (if implemented). Though it can be created/deleted
   in read-write configuration datastores (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
      </section>
      <section anchor="the-leaf-list-statement">
        <name>The "leaf-list" Statement</name>
        <t>When a leaf-list entry is immutable, it cannot be configured with a
  different value in read-write configuration datastore (e.g., &lt;running&gt;) or
  removed from &lt;intended&gt; (if implemented). Though it can be created/deleted
  in read-write configuration datastores (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>The immutable annotation attached to the individual leaf-list entry
   provides immutability with respect to the entry itself. As per the restrictions in <xref target="RFC7952"/>,
   annotations cannot be attached to an entire leaf-list instance and only
   to individual leaf-list entries, which implies a leaf-list as a whole
   can only inherit immutability from a parent node (e.g., container).</t>
        <t>If a leaf-list as a whole is immutable, any leaf-list entries cannot be added,
   modified, or reordered (if it is ordered-by user).</t>
        <t>Refer to <xref target="imm-leaf-list"/> for an example of immutability of leaf-lists.</t>
      </section>
      <section anchor="the-container-statement">
        <name>The "container" Statement</name>
        <t>When a container node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Descendant nodes of the container recursively inherit the immutability of the container, unless
   the immutability is overridden by an "immutable" annotation on a descendant node.</t>
        <t>By default, as with all interior nodes, immutability is recursively
   applied to descendants (<xref target="interior"/>).</t>
      </section>
      <section anchor="the-list-statement">
        <name>The "list" Statement</name>
        <t>When a list entry is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
  Though it can be created/deleted in read-write configuration datastores
  (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Descendant nodes of the list entry recursively inherit the immutability of the list entry, unless
  the immutability is overridden by an "immutable" annotation on a descendant node.</t>
        <t>By default, as with all interior nodes, immutability is recursively
   applied to descendants (<xref target="interior"/>).</t>
        <t>The immutable annotation attached to the individual list entry provides
   immutability with respect to the entry itself. As per the restrictions in <xref target="RFC7952"/>,
   annotations cannot be attached to an entire list instance and only
   to individual list entries, which implies a list as a whole
   can only inherit immutability from a parent node (e.g., container).</t>
        <t>If a list as a whole is immutable, any list entries cannot be added, removed, or reordered (if it is ordered-by user).
   Each list entry inherits the immutability of the list by default, unless the immutability is
   overridden by an "immutable" annotation on a list entry.</t>
        <t>Refer to <xref target="imm-list"/> for an example of immutability of lists.</t>
      </section>
      <section anchor="the-anydata-statement">
        <name>The "anydata" Statement</name>
        <t>When an "anydata" node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Additionally, as with all interior nodes, immutability is recursively applied to
   descendants (<xref target="interior"/>).</t>
      </section>
      <section anchor="the-anyxml-statement">
        <name>The "anyxml" Statement</name>
        <t>When an "anyxml" node instance is immutable, it cannot be removed from &lt;intended&gt; (if implemented).
   Though it can be created/deleted in read-write configuration datastores
   (see Sections <xref format="counter" target="immutable-def"/> and <xref format="counter" target="system-interact"/>).</t>
        <t>Additionally, as with all interior nodes, immutability is recursively applied to
   descendants (<xref target="interior"/>).</t>
      </section>
    </section>
    <section anchor="interior">
      <name>Immutability of Interior Nodes</name>
      <t>Immutability is a conceptual operational state value that is
   recursively applied to descendants, which may reset the immutability
   state as needed, thereby affecting their descendants.  There is no limit
   to the number of times the immutability state may change in a data tree.</t>
      <t>If the "immutable" metadata annotation for a returned child node is omitted,
   it has the same immutability as its parent node. The immutability of top
   hierarchy of returned nodes is false by default. Servers may suppress the
   annotation if it is inherited from its parent node or uses the default value
   as the top-level node, but are not precluded from returning the annotation
   on every single element.</t>
      <t>Refer to <xref target="inherit"/> for an example of how immutability is recursively
   inherited or explicitly reset by descendants.</t>
    </section>
    <section anchor="system-interact">
      <name>System Configuration Datastore Interactions</name>
      <t>Immutable configuration can only be created, updated and deleted by the server,
   and it is present in &lt;system&gt;, if implemented. That said, the existence of
   immutable configuration is independent of whether &lt;system&gt; is implemented or
   not. Not all system configuration data is immutable. Immutable configuration
   does not appear in &lt;running&gt; unless it is explicitly configured.</t>
      <t>As specified in <xref target="immutable-def"/>, a client <bcp14>MAY</bcp14> create/delete immutable nodes
   with same values as defined by server in read-write configuration datastore (e.g.,
   &lt;candidate&gt;, &lt;running&gt;), which merely makes immutable nodes
   visible/invisible in the datastore.</t>
    </section>
    <section anchor="nacm-interactions">
      <name>NACM Interactions</name>
      <t>The server rejects an operation request due to immutability when it
   tries to perform the operation on the request data.  It happens after
   any access control processing, if the Network Configuration Access
   Control Model (NACM) <xref target="RFC8341"/> is implemented on a server.  For
   example, if an operation requests to override an immutable
   configuration data, but the server checks the user is not authorized
   to perform the requested access operation on the request data, the
   request is rejected with an "access-denied" error.</t>
    </section>
    <section anchor="module">
      <name>YANG Module</name>
      <t>This module imports definitions from <xref target="RFC7952"/>, <xref target="RFC8342"/>, <xref target="RFC8526"/>, and <xref target="I-D.ietf-netmod-system-config"/>.</t>
      <sourcecode markers="true" name="ietf-immutable-annotation@2026-03-31.yang"><![CDATA[
module ietf-immutable-annotation {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-immutable-annotation";
  prefix imma;

  import ietf-yang-metadata {
    prefix md;
    reference
      "RFC 7952: Defining and Using Metadata with YANG";
  }
  import ietf-netconf-nmda {
    prefix ncds;
    reference
      "RFC 8526: NETCONF Extensions to Support the Network
       Management Datastore Architecture";
  }
  import ietf-system-datastore {
    prefix sysds;
    reference
      "RFC YYYY: System-defined Configuration";
  }
  import ietf-datastores {
    prefix ds;
    reference
      "RFC 8342: Network Management Datastore Architecture
                 (NMDA)";
  }

  organization
    "IETF Network Modeling (NETMOD) Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/netmod/>
     WG List: <mailto:netmod@ietf.org>
     Author: Qiufang Ma
             <mailto:maqiufang1@huawei.com>
     Author: Qin Wu
             <mailto:bill.wu@huawei.com>
     Author: Balazs Lengyel
             <mailto:balazs.lengyel@ericsson.com>
     Author: Hongwei Li
             <mailto:flycoolman@gmail.com>";
  description
    "This module defines a metadata annotation called 'immutable'
     to allow the server to formally document existing behavior on
     the mutability of some system configuration. Clients may use
     'immutable' metadata annotation provided by the server to know
     beforehand why certain otherwise valid configuration requests
     will cause the server to return an error.

     Copyright (c) 2026 IETF Trust and the persons identified
     as authors of the code. All rights reserved.

     Redistribution and use in source and binary forms, with
     or without modification, is permitted pursuant to, and
     subject to the license terms contained in, the Revised
     BSD License set forth in Section 4.c of the IETF Trust's
     Legal Provisions Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC
     itself for full legal notices.";

  revision 2026-03-31 {
    description
      "Initial revision.";
    // RFC Ed.: replace XXXX and remove this comment
    reference
      "RFC XXXX: YANG Metadata Annotation for Immutable Flag";
  }
  md:annotation immutable {
    type boolean;
    description
      "The 'immutable' metadata annotation indicates the
       immutability of an instantiated data node. It takes as a
       value 'true' or 'false'. An immutable node cannot be changed
       via configuring a different value in read-write configuration
       datastores (e.g., <running>), though it can be created/deleted
       in read-write configuration datastores. If not specified for
       a given configuration data node, the immutability is the
       same as the value of its parent node in the data tree. The
       default value of 'immutable' annotation for a top-level
       instance node is false if not specified.";
  }

  augment "/ncds:get-data/ncds:input" {
    description
      "Allows the server to include 'immutable' metadata
       annotations in its response to get-data operation.";
    leaf with-immutability {
      when
        "derived-from-or-self(../ncds:datastore,'sysds:system') "
      + "or derived-from-or-self(../ncds:datastore,'ds:intended') "
      + "or derived-from-or-self(../ncds:datastore,'ds:operational')";
      type empty;
      description
        "If this parameter is present, the server returns the
         'immutable' annotation for configuration that it
         internally thinks immutable.";
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The "ietf-immutable-annotation" YANG module defines a data model that is
   designed to be accessed via YANG-based management protocols, such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. These protocols have to
   use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
   QUIC <xref target="RFC9000"/>) and have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>The YANG module specified in this document defines a metadata annotation,
   it also extends the RPC operations of the NETCONF protocol in <xref target="RFC6241"/>
   and <xref target="RFC8526"/>.</t>
      <t>The immutable metadata annotation exposes the immutability of configuration data,
   which may provide hints for attackers to find vulnerabilities in the network,
   e.g., to leverage the immutability of some configuration to better craft an attack.
   Since immutable annotations are attached to the instances of configuration data nodes,
   it is only accessible to clients that have the permissions to read the annotated configuration nodes.</t>
      <t>The security considerations for the NETCONF protocol operations (see
   <xref section="9" sectionFormat="of" target="RFC6241"/> and <xref section="6" sectionFormat="of" target="RFC8526"/>) also apply to
   the operations extended in this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="the-ietf-xml-registry">
        <name>The "IETF XML" Registry</name>
        <t>This document registers one XML namespace URN in the 'IETF XML registry',
   following the format defined in <xref target="RFC3688"/>.</t>
        <artwork><![CDATA[
URI: urn:ietf:params:xml:ns:yang:ietf-immutable-annotation
Registrant Contact: The IESG.
XML: N/A, the requested URIs are XML namespaces.
]]></artwork>
      </section>
      <section anchor="the-yang-module-names-registry">
        <name>The "YANG Module Names" Registry</name>
        <t>This document registers one module name in the 'YANG Module Names'
registry, defined in <xref target="RFC6020"/>.</t>
        <artwork><![CDATA[
name: ietf-immutable-annotation
prefix: imma
namespace: urn:ietf:params:xml:ns:yang:ietf-immutable-annotation
RFC: XXXX
]]></artwork>
      </section>
      <section anchor="restconf-capability-urn-registry">
        <name>RESTCONF Capability URN Registry</name>
        <t>This document defines the following capability identifier URNs in the
"RESTCONF Capability URNs" registry defined in <xref target="RFC8040"/>:</t>
        <artwork><![CDATA[
Index
Capability Identifier
---------------------

:with-immutability
urn:ietf:params:restconf:capability:with-immutability:1.0
]]></artwork>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7952">
          <front>
            <title>Defining and Using Metadata with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines a YANG extension that allows for defining metadata annotations in YANG modules. The document also specifies XML and JSON encoding of annotations and other rules for annotating instances of YANG data nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7952"/>
          <seriesInfo name="DOI" value="10.17487/RFC7952"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC8526">
          <front>
            <title>NETCONF Extensions to Support the Network Management Datastore Architecture</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document extends the Network Configuration Protocol (NETCONF) defined in RFC 6241 in order to support the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document updates RFCs 6241 and 7950. The update to RFC 6241 adds new and operations and augments existing,, and operations. The update to RFC 7950 requires the usage of the YANG library (described in RFC 8525) by NETCONF servers implementing the NMDA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8526"/>
          <seriesInfo name="DOI" value="10.17487/RFC8526"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-system-config">
          <front>
            <title>System-defined Configuration</title>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Chong Feng" initials="C." surname="Feng">
         </author>
            <date day="28" month="January" year="2026"/>
            <abstract>
              <t>   The Network Management Datastore Architecture (NMDA) in RFC 8342
   defines several configuration datastores holding configuration.  The
   contents of these configuration datastores are controlled by clients.
   This document introduces the concept of system configuration
   datastore holding configuration controlled by the system on which a
   server is running.  The system configuration can be referenced (e.g.,
   leafref) by configuration explicitly created by clients.

   This document updates RFC 8342.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-system-config-20"/>
        </reference>
        <reference anchor="RFC8527">
          <front>
            <title>RESTCONF Extensions to Support the Network Management Datastore Architecture</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document extends the RESTCONF protocol defined in RFC 8040 in order to support the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document updates RFC 8040 by introducing new datastore resources, adding a new query parameter, and requiring the usage of the YANG library (described in RFC 8525) by RESTCONF servers implementing the NMDA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8527"/>
          <seriesInfo name="DOI" value="10.17487/RFC8527"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="TR-531" target="https://wiki.opennetworking.org/download/attachments/376340494/Draft_TR-531_UML-YANG_Mapping_Gdls_v1.1.03.docx?version=5&amp;modificationDate=1675432243513&amp;api=v2">
          <front>
            <title>UML to YANG Mapping Guidelines</title>
            <author>
              <organization>ONF</organization>
            </author>
            <date year="2023" month="February"/>
          </front>
        </reference>
        <reference anchor="TS28.623" target="https://www.3gpp.org/ftp/Specs/archive/28_series/28.623/28623-i02.zip">
          <front>
            <title>Telecommunication management; Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="TS32.156" target="https://www.3gpp.org/ftp/Specs/archive/32_series/32.156/32156-h10.zip">
          <front>
            <title>Telecommunication management; Fixed Mobile Convergence (FMC) Model repertoire</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </reference>
        <reference anchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000">
          <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="RFC8343">
          <front>
            <title>A YANG Data Model for Interface Management</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of network interfaces. It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes definitions for configuration and system state (status information and counters for the collection of statistics).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document obsoletes RFC 7223.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8343"/>
          <seriesInfo name="DOI" value="10.17487/RFC8343"/>
        </reference>
        <reference anchor="RFC8530">
          <front>
            <title>YANG Model for Logical Network Elements</title>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="D. Bogdanovic" initials="D." surname="Bogdanovic"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document defines a logical network element (LNE) YANG module that is compliant with the Network Management Datastore Architecture (NMDA). This module can be used to manage the logical resource partitioning that may be present on a network device. Examples of common industry terms for logical resource partitioning are logical systems or logical routers. The YANG model in this document conforms with NMDA as defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8530"/>
          <seriesInfo name="DOI" value="10.17487/RFC8530"/>
        </reference>
      </references>
    </references>
    <?line 614?>

<section anchor="use-cases">
      <name>Detailed Use Cases</name>
      <section anchor="uc1-modeling-of-server-capabilities">
        <name>UC1 - Modeling of server capabilities</name>
        <t>System capabilities might be represented as immutable configuration.
   Configurable data nodes might need constraints specified as
   "when", "must" or "path" statements to ensure that configuration is set
   according to the system's capabilities. For example,</t>
        <ul spacing="normal">
          <li>
            <t>A timer can support the values 1,5,8 seconds. This is defined in the
   leaf-list 'supported-timer-values'.</t>
          </li>
          <li>
            <t>When the configurable 'interface-timer' leaf is set, it should be ensured
   that one of the supported values is used.  The natural solution would be to
   make the 'interface-timer' a leaf-ref pointing at the 'supported-timer-values'.</t>
          </li>
        </ul>
        <t>However, this is not possible as 'supported-timer-values' must be
   read-only thus "config false" while 'interface-timer' must be writable
   thus "config true".  According to the rules of YANG it is not allowed
   to put a constraint between "config true" and "config false" data nodes.</t>
        <t>The solution is that the supported-timer-values data node in the YANG
   Model shall be defined as "config true" and shall also be marked with
   the "immutable" annotation making it unchangeable. After this the
   'interface-timer' shall be defined as a leaf-ref pointing at the
   'supported-timer-values'.</t>
      </section>
      <section anchor="uc2-hardware-based-auto-configuration-interface-example">
        <name>UC2 - Hardware based auto-configuration - Interface Example</name>
        <t><xref target="RFC8343"/> defines a YANG data model for the management of network
   interfaces.  When a system-controlled interface is physically present,
   the system creates an interface entry with valid name and type
   values in &lt;system&gt; (if exists, see <xref target="I-D.ietf-netmod-system-config"/>).</t>
        <t>The system-generated type value is dependent on and represents the hardware
   present, and as a consequence cannot be changed by the client.  If a
   client tries to set the type of an interface to a value that can
   never be used by the system, the request will be rejected by the
   server.  The data is modeled as "config true" and thus should be annotated
   as immutable.</t>
        <t>Seemingly an alternative would be to model the list and these leafs
   as "config false", but that does not work because:</t>
        <ul spacing="normal">
          <li>
            <t>The list cannot be marked as "config false", because it needs to contain
  configurable child nodes, e.g., IP address or enabled;</t>
          </li>
          <li>
            <t>The key leaf (name) cannot be marked as "config false" as the list
  itself is "config true";</t>
          </li>
          <li>
            <t>The type cannot be marked "config false", because we <bcp14>MAY</bcp14> need to
  reference the type to make different configuration nodes
  conditionally available.</t>
          </li>
        </ul>
      </section>
      <section anchor="uc3-predefined-administrator-roles">
        <name>UC3 - Predefined Administrator Roles</name>
        <t>User and group management is fundamental for setting up access
   control rules (see <xref section="2.5" sectionFormat="of" target="RFC8341"/>).</t>
        <t>A device may provide a predefined user account (e.g., a system
   administrator that is always available and has full privileges) for
   initial system set up and management of other users/groups.  It is
   possible that a new user/group can be defined granted particular privileges,
   but the predefined administrator account and its granted access are immutable.</t>
      </section>
      <section anchor="uc4-declaring-immutable-system-configuration-from-the-perspective-of-a-logical-network-element-lne">
        <name>UC4 - Declaring immutable system configuration from the perspective of a logical network element (LNE)</name>
        <t>A logical network element (LNE), as described in <xref target="RFC8530"/>, is an independently managed virtual
   network device made up of resources allocated to it from its host or
   parent network device.  The host device may allocate some
   resources to an LNE, which from an LNE's perspective is provided by
   the system and may not be modifiable.</t>
        <t>For example, a host may allocate an interface to an LNE with a valid
   MTU value as its management interface, so that the allocated
   interface should then be accessible as the LNE-specific instance of
   the interface model.  The assigned MTU value is system-created and
   immutable from the context of the LNE.</t>
      </section>
    </section>
    <section anchor="examples-of-servers-immutable-behavior">
      <name>Examples of Server's Immutable Behavior</name>
      <t>This section provides some examples to illustrate the server's behavior with
  immutable flag. These examples are not intended as recommendations for
  real-world deployments. The following fictional module is used throughout this section:</t>
      <artwork><![CDATA[
module example-user-group {
  yang-version 1.1;
  namespace "urn:example:user-group";
  prefix ex-urp;

  import iana-crypt-hash {
    prefix ianach;
  }
 
  organization
    "Example, Inc.";

  contact
    "Support at example.com";

  description
    "An example module for basic user and group management.";

  revision "2026-03-31" {
    description
      "Initial version.";
    reference
      "RFC XXXX: YANG Metadata Annotation for Immutable Flag";
  }

  container user-groups {
    description
      "A container for user and group management";
    list group {
      key "name";
      description
        "The list of access user-groups";
      leaf name {
        type string;
        description
          "Unique name identifier for the user-group";
      }
      leaf description {
        type string;
        description
          "Human-readable description of the group";
      }
      leaf access-level {
        type enumeration {
          enum admin;
          enum power;
          enum normal;
          enum guest;
        }
        description
          "Permission level assigned to the group";
      }
      list user {
        key "name";
        description
          "List of users belonging to the group";
        leaf name {
          type string;
          description
            "Unique name identifier for the user";
        }
        leaf password {
          type ianach:crypt-hash;
          description
            "Cryptographically hashed user password";
        }
        leaf full-name {
          type string;
          description
            "Human-readable full name of the user";
        }
      }
      leaf-list tag {
        type string;
        ordered-by user;
        description
          "User-ordered tags for categorizing the user-group";
      }
    }
  }
}
]]></artwork>
      <section anchor="NETCONF-example">
        <name>NETCONF Example to Retrieve Immutable Configuration</name>
        <t><xref target="NETCONF-with-immutability"/> illustrates a NETCONF request example to retrieve "user-groups"
   configuration in &lt;system&gt; with "with-immutability" parameter and the response a server might return.</t>
        <figure anchor="NETCONF-with-immutability">
          <name>A NETCONF Example to Retrieve Immutable Configuration</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

<rpc message-id="101"
     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <get-data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda"
            xmlns:sysds="urn:ietf:params:xml:ns:yang:ietf-system-\
                                                          datastore">
    <datastore>sysds:system</datastore>
    <subtree-filter>
      <user-groups xmlns="urn:example:user-group"/>
    </subtree-filter>
    <with-immutability/>
  </get-data>
</rpc>

<rpc-reply message-id="101"
       xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda">
    <user-groups xmlns="urn:example:user-group"
      xmlns:imma="urn:ietf:params:xml:ns:yang:ietf-immutable-\
                                                          annotation"
      imma:immutable="false">
      <group imma:immutable="true">
        <name>administrator</name>
        <description imma:immutable="false">administrator group</\
                                                         description>
        <access-level>admin</access-level>
        <user>
          <name>ex-username-1</name>
          <password>$5$rounds=10000$mysalt123456789$l4BjA1p/8q.qCYJ.\
                               2pLqjR5mCJf2bP7cLpYWmnC7Hq8</password>
        </user>
        <user imma:immutable="false">
          <name>ex-username-2</name>
          <password>$1$/h1234q$abcdef1234567890abcdef</password>
        </user>
        <tag>system</tag>
        <tag>non-editable</tag>
      </group>
      <group imma:immutable="false">
        <name>power-users</name>
        <description>Power user group</description>
        <access-level>power</access-level>
        <user>
          <name>ex-username-3</name>
          <password>$1$/h4567q$abcdef2345678901abcdef</password>
        </user>
        <tag>system</tag>
        <tag>editable</tag>
      </group>
    </user-groups>
  </data>
</rpc-reply>
]]></artwork>
        </figure>
      </section>
      <section anchor="RESTCONF-example">
        <name>RESTCONF Example to Retrieve Immutable Configuration</name>
        <t><xref target="RESTCONF-with-immutability"/> illustrates a RESTCONF request example to retrieve "user-groups"
  configuration in &lt;system&gt; with "with-immutability" query parameter and the response a server might return.</t>
        <figure anchor="RESTCONF-with-immutability">
          <name>A RESTCONF Example to Retrieve Immutable Configuration</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

GET /restconf/ds/ietf-system-datastore:system/example-user-group:\
                               user-groups?with-immutability HTTP/1.1
Host: example.com
Accept: application/yang-data+json


HTTP/1.1 200 OK
Date: Fri, 9 Jan 2026 15:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json
Cache-Control: no-cache
ETag: "a74eefc993a2b"
Last-Modified: Mon, 5 Jan 2026 14:02:14 GMT

{
  "example-user-group:user-groups": {
    "@": {
      "ietf-immutable-annotation:immutable": false
    },
    "group": [
      {
        "@": {
          "ietf-immutable-annotation:immutable": true
        },
        "name": "administrator",
        "description": "administrator group",
        "@description": {
          "ietf-immutable-annotation:immutable": false
        },
        "access-level": "admin",
        "user": [
          {
            "name": "ex-username-1",
            "password": "$5$rounds=10000$mysalt123456789$l4BjA1p/8q.\
                                    qCYJ.2pLqjR5mCJf2bP7cLpYWmnC7Hq8"
          },
          {
            "@": {
              "ietf-immutable-annotation:immutable": false
            },
            "name": "ex-username-2",
            "password": "$1$/h1234q$abcdef1234567890abcdef"
          }
        ],
        "tag": ["system", "non-editable"]
      },
      {
        "@": {
          "ietf-immutable-annotation:immutable": false
        },
        "name": "power-users",
        "description": "Power user group",
        "access-level": "power",
        "user": [
          {
            "name": "ex-username-3",
            "password": "$1$/h4567q$abcdef2345678901abcdef"
          }
        ],
        "tag": ["system", "editable"]
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="inherit">
        <name>The Inheritance of Immutability</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, there are two "group" list entries inside "user-groups"
container node. The "immutable" metadata attribute for "user-groups" container
instance is "false", which is also its default value as the top-level element,
and thus can be omitted. The "administrator" list entry is immutable
with the immutability of its descendant nodes "description" and "user" list entry of "ex-username-2" being explicitly toggled.
Other descendant nodes inside "administrator" list entry inherit the immutability of the list entry thus are also immutable.</t>
        <t>The "immutable" metadata attribute
for "power-users" list entry is "false", which is also the same
value as its parent node (i.e., the "user-groups" container), and thus can be omitted.
Other descendant nodes inside "power-users" group inherit the immutability of the list entry thus are also mutable.</t>
      </section>
      <section anchor="imm-list">
        <name>Immutability of the list</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, the "group" list as a whole inherits immutability from the
 container "user-groups", which is mutable. One of the list entry named "administrator" is immutable,
 and the other entry named "power-user" is mutable. The client is able to copy the entire "user-groups"
 container in &lt;running&gt;, add new "group" entries, modify the values of descendant nodes of "power-users" list entry,
 but the values of descendant nodes of "administrator" list entry cannot be overridden with different values except
 for the "description" and "ex-username-2" user list entry nodes, which is explicitly reset to be mutable.
 The client may also subsequently delete any copied "group" entries or the entire
 "user-groups" container, which will not prevent the deleted data being present in &lt;intended&gt; (if implemented) assuming it
 is still contained in &lt;system&gt;.</t>
        <t>The "user" list inside the "administrator" group list entry as a whole inherits immutability from the
 list entry, which is immutable. Thus the client cannot add new user entries inside "administrator" group.
 As one of the user entry named "ex-username-1" is immutable through inheritance,
 and the other "ex-username-2" user entry is explicitly set to be mutable. The client cannot
 modify the "password" parameter, or add a "full-name" value for user "ex-username-1".
 but is allowed to update (e.g., modify the "password" value, or add a "full-name" value)
 the list entry for user "ex-username-2". The client may copy or subsequently delete any of the two list entries in &lt;running&gt;,
 but there is no way to delete the nodes from &lt;intended&gt; (if implemented).</t>
      </section>
      <section anchor="imm-leaf-list">
        <name>Immutability of the leaf-list</name>
        <t>In the example in <xref target="NETCONF-with-immutability"/> and <xref target="RESTCONF-with-immutability"/>, the user-ordered "tag" leaf-list node inside the "administrator" group entry as a whole inherits immutability from the list entry, which is immutable. Thus the client cannot add, modify, or reorder
entries, the client may copy or subsequently delete any of the two leaf-list entries in &lt;running&gt;,
but there is no way to delete the nodes from &lt;intended&gt; if those entries appear in &lt;system&gt;.</t>
        <t>The leaf-list node instance inside the "power-users" group entry as a whole inherits
immutability from the list entry, which is mutable. Thus the client can add or reorder
entries, the client may copy or subsequently delete any of the two leaf-list entries in &lt;running&gt;,
but there is no way to delete the nodes from &lt;intended&gt; if those entries appear in &lt;system&gt;.</t>
      </section>
      <section anchor="error-response-to-clients-overriding-immutable-configuration">
        <name>Error Response to Clients Overriding Immutable Configuration</name>
        <t><xref target="NETCONF-error"/> provides examples of an attempt to override immutable configuration and the error response that the server might return.</t>
        <figure anchor="NETCONF-error">
          <name>An Example to Override Immutable Configuration with Error Response</name>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

<rpc message-id="102"
     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <user-groups xmlns="urn:example:user-group">
        <group>
          <name>administrator</name>
          <access-level>guest</access-level>
        </group>
      </user-groups>
    </config>
  </edit-config>
</rpc>

<rpc-reply message-id="102" 
       xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <rpc-error>
    <error-type>application</error-type>
    <error-tag>invalid-value</error-tag>
    <error-severity>error</error-severity>
    <error-path xmlns="urn:example:user-group">
      /user-groups/group[name="administrator"]/access-level
    </error-path>
    <error-message xml:lang="en">
      Invalid access-level value due to the target node is marked \
                                                         as immutable
    </error-message>
  </rpc-error>
</rpc-reply>
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="implementations">
      <name>Existing Implementations</name>
      <t>Note to the RFC Editor: Please remove this section prior to publication.</t>
      <t>There are already a number of full or partial implementations of
   immutability:</t>
      <ul spacing="normal">
        <li>
          <t>3GPP TS 32.156 <xref target="TS32.156"/> and 28.623 <xref target="TS28.623"/>: Requirements
   and a partial solution</t>
        </li>
        <li>
          <t>ITU-T using ONF TR-531 <xref target="TR-531"/> concept on information model level but
   no YANG representation.</t>
        </li>
        <li>
          <t>Ericsson: requirements and solution</t>
        </li>
        <li>
          <t>YumaPro: requirements and solution</t>
        </li>
        <li>
          <t>Nokia: partial requirements and solution</t>
        </li>
        <li>
          <t>Huawei: partial requirements and solution</t>
        </li>
        <li>
          <t>Cisco using the concept at least in some YANG modules</t>
        </li>
        <li>
          <t>Junos OS provides a hidden and immutable configuration group
   called junos-defaults</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Kent Watsen, Jan Lindblad, Jason Sterne, Robert Wilton, Andy Bierman,
   Juergen Schoenwaelder, Reshad Rahman, Anthony Somerset, Lou Berger, Joe Clarke,
   and Scott Mansfield for reviewing, and providing important inputs to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
K+oDcv7ni0K+y+h1BflvzUMzEc2fAAA=

-->

</rfc>
