<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.34 (Ruby 3.3.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-mailmaint-imap-objectid-bis-08" category="std" consensus="true" submissionType="IETF" obsoletes="RFC8474" updates="RFC3501, RFC9051, RFC9698" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="IMAP OBJECTID+">IMAP Extension for Object Identifiers</title>

    <author initials="B." surname="Gondwana" fullname="Bron Gondwana">
      <organization abbrev="Fastmail">Fastmail</organization>
      <address>
        <postal>
          <street>Level 2, 114 William St</street>
          <city>Melbourne</city>
          <region>VIC 3000</region>
          <country>Australia</country>
        </postal>
        <email>brong@fastmailteam.com</email>
        <uri>https://www.fastmail.com</uri>
      </address>
    </author>
    <author initials="M." surname="De Gennaro" fullname="Mauro De Gennaro">
      <organization abbrev="Stalwart Labs">Stalwart Labs LLC</organization>
      <address>
        <postal>
          <street>1309 Coffeen Avenue, Suite 1200</street>
          <city>Sheridan</city>
          <region>WY</region>
          <code>82801</code>
          <country>USA</country>
        </postal>
        <email>mauro@stalw.art</email>
        <uri>https://stalw.art</uri>
      </address>
    </author>

    <date year="2026" month="October" day="19"/>

    
    <workgroup>mailmaint</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 66?>

<t>This document defines the OBJECTID+ extension for IMAP, which
obsoletes <xref target="RFC8474"/>.  OBJECTID+ introduces a compound OBJECTID
response format that bundles object identifiers into key-value
pairs, an ACCOUNTID identifier for account-level context, OBJECTID
response codes for the RENAME command, and identifier-based mailbox
selection via SELECT and EXAMINE. The OBJECTID+ extension is
activated implicitly when a client uses any OBJECTID+-specific
feature, ensuring backward compatibility with clients that only
support <xref target="RFC8474"/>.  This document also updates <xref target="RFC9698"/>: when
JMAPACCESS is advertised alongside OBJECTID+, ACCOUNTID values <bcp14>MUST</bcp14>
correspond to JMAP accountIds.</t>



    </abstract>



  </front>

  <middle>


<?line 80?>

<section anchor="introduction"><name>Introduction</name>

<t>This document obsoletes <xref target="RFC8474"/> and defines persistent
identifiers on mailboxes and messages to allow clients to more
efficiently reuse cached data when resources have changed location
on the server.  It also updates <xref target="RFC9698"/>: when JMAPACCESS is
advertised alongside OBJECTID+, ACCOUNTID values <bcp14>MUST</bcp14> correspond
to JMAP accountIds.</t>

<t>The OBJECTID+ extension builds upon the identifier framework
established by <xref target="RFC8474"/> and introduces several new capabilities.
It defines a compound OBJECTID response format that bundles multiple
identifiers into a parenthesized list of key-value pairs; identifiers
that the server does not support are simply omitted from the response.
This compound format is used uniformly across SELECT, EXAMINE,
CREATE, RENAME, STATUS, LIST, and FETCH responses once the extension
has been activated.</t>

<t>Four types of object identifiers may appear within the compound
OBJECTID response.  MAILBOXID is a server-allocated identifier for
each mailbox that persists across renames, allowing clients to detect
that a mailbox has been renamed rather than deleted and recreated.
EMAILID is an identifier for message content that persists across
COPY and MOVE operations, allowing clients to avoid redownloading
messages that have changed location.  THREADID is an optional
identifier grouping related messages, allowing clients to display
conversations.  ACCOUNTID is a new identifier for account-level
context, enabling disambiguation of mailboxes in environments where
multiple accounts are accessible through a single IMAP session.</t>

<t>The extension also introduces identifier-based mailbox selection via
the OBJECTID parameter on SELECT and EXAMINE, allowing clients to
reliably reselect mailboxes after renames.  Additionally, the RENAME
command now returns an OBJECTID response code, providing the
server-allocated identifiers for the renamed mailbox.</t>

<t>All identifier types are optional within the compound OBJECTID
response; a server that does not support a particular identifier
simply omits it.  The empty compound response "OBJECTID ()" is
valid and indicates that the server supports the OBJECTID+ extension
but does not have any identifiers to return in the current context.</t>

<section anchor="notational-conventions"><name>Notational Conventions</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?>

</section>
</section>
<section anchor="capability-identification"><name>CAPABILITY Identification</name>

<section anchor="objectid-and-objectid-capabilities"><name>OBJECTID and OBJECTID+ Capabilities</name>

<t>This document obsoletes <xref target="RFC8474"/> and defines the OBJECTID+
capability.  The OBJECTID+ capability is independent of the OBJECTID
capability defined in <xref target="RFC8474"/>: a server <bcp14>MAY</bcp14> advertise OBJECTID+
alone, or it <bcp14>MAY</bcp14> advertise both OBJECTID and OBJECTID+ to provide
backward compatibility with clients that only support <xref target="RFC8474"/>.</t>

<t>A server that advertises both capabilities <bcp14>MUST</bcp14> behave as defined in
<xref target="RFC8474"/> until the client activates OBJECTID+ (<xref target="activation"/>).
A server that advertises only OBJECTID+ is not required to support
the individual MAILBOXID, EMAILID, or THREADID attributes defined
in <xref target="RFC8474"/>.</t>

<t>The OBJECTID+ extension adds the ACCOUNTID identifier
(<xref target="accountid"/>), the compound OBJECTID response format
(<xref target="objectid-compound"/>), the OBJECTID SELECT/EXAMINE parameter
(<xref target="select-objectid"/>), the OBJECTID FETCH data item
(<xref target="fetch-objectid"/>), the OBJECTID STATUS attribute
(<xref target="status-objectid"/>), the OBJECTID LIST return option and
extended data item (<xref target="list-objectid"/>), the OBJECTID response code
on CREATE (<xref target="create-objectid"/>) and RENAME (<xref target="rename-objectid"/>),
and the JMAPACCESS capability and GETJMAPACCESS command (<xref target="jmapaccess"/>).</t>

</section>
<section anchor="activation"><name>Activation of OBJECTID+</name>

<t>A client activates the OBJECTID+ extension by using any
OBJECTID+-specific feature. The server <bcp14>MUST NOT</bcp14> send
OBJECTID+-specific responses until the extension has been
activated.</t>

<t>The extension is activated by any of the following:</t>

<t><list style="symbols">
  <t>The client issues ENABLE OBJECTID+ (<xref target="RFC5161"/>)</t>
  <t>The client uses the OBJECTID parameter on SELECT or EXAMINE (<xref target="select-objectid"/>)</t>
  <t>The client requests the OBJECTID status attribute (<xref target="status-objectid"/>)</t>
  <t>The client requests the OBJECTID LIST return option (<xref target="list-objectid"/>)</t>
  <t>The client requests the OBJECTID FETCH data item (<xref target="fetch-objectid"/>)</t>
</list></t>

<t>When the extension is activated by any mechanism other than
ENABLE, the server <bcp14>MUST</bcp14> send an untagged ENABLED response
listing OBJECTID+ before any response that is affected by
the activation:</t>

<figure><artwork><![CDATA[
* ENABLED OBJECTID+
]]></artwork></figure>

<t>The extension is activated when the server recognizes an
OBJECTID+-specific feature in a command, even if the command
subsequently fails.  A client that receives the untagged ENABLED
response <bcp14>MUST</bcp14> treat the extension as active, regardless of the
tagged response to the command.</t>

<t>Once activated, the OBJECTID+ extension remains active for the
duration of the IMAP session. Activation <bcp14>MUST NOT</bcp14> be reversed.</t>

<t>Once OBJECTID+ is activated, the server <bcp14>MUST</bcp14> use the compound
OBJECTID response code (<xref target="objectid-compound"/>) in place of the
MAILBOXID response code in all subsequent SELECT, EXAMINE,
CREATE, and RENAME responses.</t>

</section>
</section>
<section anchor="objectid-compound"><name>OBJECTID Compound Format</name>

<t>The OBJECTID+ extension introduces a compound OBJECTID format: a
parenthesized list of key-value pairs that bundles multiple
identifiers.  The same syntax is used by the server in response
codes, STATUS attribute values, and FETCH data item values, and by
the client when supplying identifiers as an argument to the OBJECTID
parameter on SELECT and EXAMINE (<xref target="select-objectid"/>).</t>

<t>Each key identifies the type of object identifier (e.g., MAILBOXID,
ACCOUNTID, EMAILID, THREADID), and each value is the corresponding
ObjectID. Keys that the server does not support or that are not
applicable in a given context are simply omitted from the response.
An empty compound response "OBJECTID ()" is valid and indicates that
the server supports the OBJECTID+ extension but does not have any
identifiers to return in the current context.</t>

<t>Once OBJECTID+ has been activated, the compound OBJECTID format is
used as a response code in SELECT and EXAMINE untagged OK responses,
as a response code in tagged OK responses to CREATE and RENAME, as
a STATUS attribute, as a LIST extended data item, and as a FETCH
data item.</t>

<t>The contents of the compound OBJECTID vary by context:</t>

<t><list style="symbols">
  <t>For mailbox context (SELECT, EXAMINE, CREATE, RENAME, STATUS,
LIST): a server that supports MAILBOXID <bcp14>SHOULD</bcp14> include it for
every selectable mailbox, and <bcp14>MUST</bcp14> include it for every
selectable mailbox that is visible as a JMAP Mailbox object.
For a selectable mailbox that is not visible through JMAP, the
server <bcp14>MAY</bcp14> return the empty compound "OBJECTID ()" instead.
Whenever the server includes MAILBOXID, it <bcp14>MUST</bcp14> also include
ACCOUNTID.  A
mailbox name that cannot be selected (\Noselect, \NonExistent,
or the \NoAccess attribute of <xref target="RFC5465"/>) need not have any
identifiers; for such a name the server <bcp14>MAY</bcp14> return the empty
compound "OBJECTID ()".</t>
  <t>For message context (FETCH): the server <bcp14>SHOULD</bcp14> include EMAILID
and THREADID. ACCOUNTID is not included in FETCH OBJECTID
responses because the account context is already established by
the SELECT or EXAMINE response for the current mailbox.</t>
</list></t>

<t>Identifiers that the server does not support are omitted rather
than returned as NIL. This allows the compound format to
self-describe the server's capabilities without requiring clients
to handle placeholder values.</t>

<t>Clients <bcp14>MUST</bcp14> ignore any unrecognised key-value pairs in a compound
OBJECTID response. This allows future extensions to add new
identifier types without breaking existing clients.</t>

</section>
<section anchor="accountid"><name>ACCOUNTID Object Identifier</name>

<t>The ACCOUNTID is a server-allocated identifier that specifies the
account to which a mailbox belongs. When used in conjunction
with MAILBOXID, the ACCOUNTID provides complete disambiguation of
mailboxes in environments where multiple accounts are accessible
through a single IMAP session.</t>

<t>The ACCOUNTID is represented as an opaque string using the same
character set and syntactic constraints as other object identifiers
defined in this specification (see <xref target="objectid-syntax"/>).</t>

<t>The server <bcp14>MUST</bcp14> return the same ACCOUNTID for all mailboxes that
belong to the same account. Conversely, the server <bcp14>MUST NOT</bcp14> return
the same ACCOUNTID for mailboxes that belong to different accounts,
even if accessed within the same IMAP session.</t>

<t>When a server advertises both JMAPACCESS and OBJECTID+, the
ACCOUNTID for each mailbox <bcp14>MUST</bcp14> correspond to the JMAP accountId
for that account (see <xref target="jmapaccess"/>).</t>

<t>For a mailbox that is not visible through JMAP (for example, one
accessible only through IMAP), the server <bcp14>MAY</bcp14> omit all identifiers
(<xref target="objectid-compound"/>).  If the server returns a MAILBOXID for
such a mailbox, it <bcp14>MUST</bcp14> also return an ACCOUNTID, which need not
correspond to any JMAP accountId.</t>

<t>A mailbox in a shared namespace might not be owned by any user.
If the server returns identifiers for such a mailbox, its
ACCOUNTID <bcp14>MUST</bcp14> differ from the ACCOUNTID of every user.</t>

<t>The ACCOUNTID is immutable for a given account within an
IMAP session. However, if the underlying account is deleted or the
user's access to that account is revoked, the associated mailboxes will
no longer be accessible via IMAP, and their ACCOUNTIDs become
irrelevant.</t>

<t>When OBJECTID+ has been activated (<xref target="activation"/>), the server
returns ACCOUNTID within the compound OBJECTID response code for
SELECT, EXAMINE, CREATE, and RENAME commands, and within the
compound OBJECTID STATUS attribute.  ACCOUNTID is not exposed as a
standalone attribute; it is only available through the compound
OBJECTID format.</t>

</section>
<section anchor="mailboxid"><name>MAILBOXID Object Identifier</name>

<t>The MAILBOXID is a server-allocated unique identifier for each
mailbox.</t>

<t>This document relaxes the uniqueness requirement from <xref target="RFC8474"/>,
which required MAILBOXID to be unique across the entire server;
MAILBOXID is now only required to be unique within the scope of
a single ACCOUNTID.</t>

<t>The server <bcp14>MUST</bcp14> return the same MAILBOXID for a mailbox with the same
name and UIDVALIDITY.</t>

<t>The server <bcp14>MUST NOT</bcp14> report the same (ACCOUNTID, MAILBOXID) pair for
two different mailboxes at the same time.</t>

<t><xref target="RFC3501"/> defines the invariants that a mailbox keeps while its
name and UIDVALIDITY do not change.  If a mailbox does not keep all
of those invariants, the server <bcp14>MUST NOT</bcp14> reuse its MAILBOXID.</t>

<t>The server <bcp14>SHOULD</bcp14> keep the same MAILBOXID for the source and
destination when renaming a mailbox in a way that keeps the same
messages (but see <xref target="RFC3501"/> for the special case regarding the
renaming of INBOX, which is treated as creating a new mailbox and
moving the messages).</t>

<t>When OBJECTID+ has been activated (<xref target="activation"/>), the server
returns MAILBOXID within the compound OBJECTID response code for
SELECT, EXAMINE, CREATE, and RENAME commands, within the compound
OBJECTID STATUS attribute, and within the OBJECTID extended data
item of the LIST response.  Servers that also advertise
the OBJECTID capability continue to support the standalone
MAILBOXID attribute as defined in <xref target="RFC8474"/>.</t>

</section>
<section anchor="emailid"><name>EMAILID Object Identifier and THREADID Correlator</name>

<section anchor="emailid-identifier-for-identical-messages"><name>EMAILID Identifier for Identical Messages</name>

<t>The EMAILID data item is an ObjectID that uniquely identifies the
content of a single message.  Anything that must remain immutable on
a {mailbox name, uidvalidity, uid} triple must also be the same
between messages with the same EMAILID.</t>

<t>EMAILID uniqueness is scoped to a single ACCOUNTID; the same EMAILID
value <bcp14>MAY</bcp14> appear in different accounts referring to different messages.</t>

<t>The server <bcp14>MUST</bcp14> return the same EMAILID for the same {mailbox name,
uidvalidity, uid} triple; hence, EMAILID is immutable.</t>

<t>Messages with the same EMAILID <bcp14>MUST</bcp14> have identical immutable
content.  Messages with identical content <bcp14>SHOULD</bcp14> have the same
EMAILID, but the server is not required to detect content
duplication.</t>

<t>All flags on a message, except \Recent and \Deleted, <bcp14>MUST</bcp14> be the
same on all messages that have the same EMAILID.  These are the
flags that a client can see through JMAP as keywords.  Therefore,
if the server changes one of these keyword flags on one message
(for example, with a STORE command), the server <bcp14>MUST</bcp14> make the same
change on all other messages that have the same EMAILID.</t>

<t>\Recent and \Deleted have no JMAP keyword and thus are not subject
to this constraint.  \Recent is maintained per message and may
differ between copies that share an EMAILID.  A change to \Deleted
on one message <bcp14>MUST NOT</bcp14> be propagated to other messages that share
the same EMAILID; each such message keeps its own independent
\Deleted state.  See <xref target="deleted-flag"/> for the reasoning behind this
rule.</t>

<t>A COPY or MOVE command <xref target="RFC6851"/> is allowed to create a new
EMAILID for the destination message.  The server <bcp14>SHOULD</bcp14> preserve
the EMAILID when the source and destination mailboxes have the
same ACCOUNTID, but is not required to do so.</t>

<t>The server <bcp14>MAY</bcp14> assign the same EMAILID as an existing message upon
APPEND (e.g., if it detects that the new message has exactly
identical content to that of an existing message).</t>

<t>NOTE: A server can give each message a different EMAILID, so that no
two messages have the same EMAILID.  For example, the server
calculates the EMAILID from the {MAILBOXID, UID} pair.  Then the
server does not have to keep the flags the same across copies of
identical content.  This is allowed because two messages with
identical content are not required to have the same EMAILID.  The
opposite constraint stays: within one ACCOUNTID, two messages with
different content <bcp14>MUST NOT</bcp14> have the same EMAILID.  This document does
not specify a way to STORE by EMAILID.  When the server also
advertises JMAPACCESS, see <xref target="jmapaccess"/> for how the flags of
messages with the same EMAILID map to the JMAP keywords of the
Email.</t>

</section>
<section anchor="threadid"><name>THREADID Identifier for Related Messages</name>

<t>The THREADID data item is an ObjectID that uniquely identifies a set
of messages that the server believes should be grouped together when
presented.</t>

<t>THREADID uniqueness is scoped to a single ACCOUNTID, the same as
EMAILID.</t>

<t>THREADID calculation is generally based on some combination of
References, In-Reply-To, and Subject, but the exact logic is left up
to the server implementation.  <xref target="RFC5256"/> describes some algorithms
that could be used; however, this specification does not mandate any
particular strategy.</t>

<t>The server <bcp14>MUST</bcp14> return the same THREADID for all messages with the
same EMAILID.</t>

<t>The server <bcp14>SHOULD</bcp14> return the same THREADID for related messages, even
if they are in different mailboxes; for example, messages that would
appear in the same thread if they were in the same mailbox <bcp14>SHOULD</bcp14>
have the same THREADID, even if they are in different mailboxes.</t>

<t>The server <bcp14>MUST NOT</bcp14> change the THREADID of a message once reported.</t>

<t>THREADID is <bcp14>OPTIONAL</bcp14>; if the server does not support THREADID, it
omits THREADID from the compound OBJECTID response in FETCH.  A
SEARCH for THREADID <bcp14>MUST NOT</bcp14> match any messages when the server does
not support THREADID.</t>

<t>Within a compound OBJECTID FETCH response, the server <bcp14>MUST NOT</bcp14>
return the same ObjectID value as both the EMAILID and the THREADID
for different messages.  If they are stored with the same value
internally, the server can generate prefixed values (as shown in the
examples below with M and T prefixes) to avoid collisions.</t>

<t>Servers that also advertise the OBJECTID capability continue to
support the standalone EMAILID and THREADID FETCH data items as
defined in <xref target="RFC8474"/>.</t>

</section>
</section>
<section anchor="objectid-extensions-to-existing-commands"><name>OBJECTID+ Extensions to Existing Commands</name>

<section anchor="select-objectid"><name>OBJECTID Parameter on SELECT and EXAMINE</name>

<t>This document extends SELECT and EXAMINE to accept an OBJECTID
parameter in the optional parameters list, as defined in
<xref target="RFC4466"/>.</t>

<t>The OBJECTID parameter has two forms:</t>

<t><list style="numbers" type="1">
  <t>Without arguments: <spanx style="verb">SELECT "mailbox" (OBJECTID)</spanx> activates
the OBJECTID+ extension (<xref target="activation"/>) and requests the
compound OBJECTID response code in place of the MAILBOXID
response code.</t>
  <t>With arguments: <spanx style="verb">SELECT "mailbox" (OBJECTID (MAILBOXID id
ACCOUNTID id))</spanx> additionally requests that the server select
the mailbox identified by the given MAILBOXID and ACCOUNTID
rather than by name.  The mailbox name serves as a fallback
if no mailbox matches the given identifiers.</t>
</list></t>

<t>In the second form, the parenthesized list after OBJECTID
contains the same key-value pairs that the server returns in
its compound OBJECTID response (<xref target="objectid-compound"/>).  The
client <bcp14>SHOULD</bcp14> include all identifiers that the server provided
in the most recent compound OBJECTID response for the mailbox.
If that response was empty, the client sends an empty list; the
server <bcp14>MUST</bcp14> treat <spanx style="verb">SELECT "mailbox" (OBJECTID ())</spanx> the same as the
first form.</t>

<t>When the server receives the second form, it <bcp14>MUST</bcp14> attempt to
locate a mailbox matching the provided identifiers.  If a match
is found, the server selects that mailbox regardless of whether
the mailbox name in the command still refers to it.  If no
match is found, the server falls back to selecting the mailbox
by name, following the normal SELECT semantics.</t>

<t>A mailbox matches if each identifier in the list that the server
supports is equal to the corresponding identifier of that mailbox.
The server <bcp14>MUST</bcp14> ignore keys that it does not support.  If the list
does not contain MAILBOXID, the server selects the mailbox by
name.  If the list
contains MAILBOXID but not ACCOUNTID, the server <bcp14>MUST</bcp14> interpret
the MAILBOXID as belonging to the account of the authenticated
user's personal namespace.</t>

<t>The server <bcp14>MUST NOT</bcp14> match a mailbox that the client is not
permitted to select by name, for example because the client lacks
the necessary access rights.  In that case, the server selects the
mailbox by name, so that the response does not reveal whether a
mailbox with those identifiers exists.</t>

<t>This mechanism allows clients to reliably reselect a mailbox
after it has been renamed by another client, following the same
pattern as the Sieve <spanx style="verb">:mailboxid</spanx> extension in <xref target="RFC9042"/>.</t>

<t>Example (activation only, no ID-based selection):</t>

<figure><artwork><![CDATA[
C: 27 select "foo" (OBJECTID)
S: * ENABLED OBJECTID+
[...]
S: * OK [OBJECTID (MAILBOXID F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Ok
[...]
S: 27 OK [READ-WRITE] Completed
]]></artwork></figure>

<t>Example (ID-based selection after a rename):</t>

<figure><artwork><![CDATA[
C: 28 select "foo" (OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3))
[...]
S: * OK [OBJECTID (MAILBOXID F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Ok
[...]
S: 28 OK [READ-WRITE] Completed
]]></artwork></figure>

<t>Here the mailbox was previously named "foo" but may have been
renamed.  The server locates it by MAILBOXID and ACCOUNTID
regardless of its current name.</t>

<t>Example (ID-based selection, fallback to name):</t>

<figure><artwork><![CDATA[
C: 29 select "foo" (OBJECTID (MAILBOXID \
        Fno-longer-exists ACCOUNTID u1a48e8e3))
[...]
S: * OK [OBJECTID (MAILBOXID F9999new-id-for-foo \
        ACCOUNTID u1a48e8e3)] Ok
[...]
S: 29 OK [READ-WRITE] Completed
]]></artwork></figure>

<t>The MAILBOXID did not match any mailbox, so the server fell
back to selecting "foo" by name.  The response contains the
actual OBJECTID of the selected mailbox.</t>

<t>When the server selects a mailbox via the provided identifiers
and the mailbox name in the command no longer refers to that
mailbox, the response identifies the mailbox by its OBJECTID but
does not directly convey its current name.  Clients can determine
the current name using LIST: in IMAP4rev2 (<xref target="RFC9051"/>), the
OLDNAME extended data item on the LIST response (Section 6.3.9.7
of <xref target="RFC9051"/>) reports the former name alongside the current
one, allowing the client to correlate its cached name with the
renamed mailbox.  Clients implementing only IMAP4rev1
(<xref target="RFC3501"/>) can reissue LIST with an appropriate reference and
pattern and match the result by MAILBOXID via the OBJECTID return
option (<xref target="list-objectid"/>) or the OBJECTID STATUS attribute.</t>

<t>Example (shared mailbox with different ACCOUNTID):</t>

<figure><artwork><![CDATA[
C: 30 select "shared/team"
[...]
S: * OK [OBJECTID (MAILBOXID F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4)] Ok
[...]
S: 30 OK [READ-WRITE] Completed
]]></artwork></figure>

<t>Note that in this example, the server does not send ENABLED
again because the extension was already activated.  The shared
mailbox has a different ACCOUNTID, indicating it belongs to a
different account.</t>

</section>
<section anchor="create-objectid"><name>OBJECTID Response Code for CREATE</name>

<t>When OBJECTID+ has been activated (<xref target="activation"/>), the server
<bcp14>MUST</bcp14> include the compound OBJECTID response code in the tagged OK
response to successful CREATE commands.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 3 create foo
S: 3 OK [OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Completed
C: 4 create bar
S: 4 OK [OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3)] Completed
C: 5 create shared/team
S: 5 OK [OBJECTID (MAILBOXID \
        F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4)] Completed
]]></artwork></figure>

<t>If the CREATE command does not result in a selectable mailbox, for
example when the mailbox name ends with the hierarchy separator and
the server creates only a \Noselect name, the server <bcp14>MAY</bcp14> return the
empty compound "OBJECTID ()" (<xref target="objectid-compound"/>):</t>

<figure><artwork><![CDATA[
C: 6 create noselect/
S: 6 OK [OBJECTID ()] Completed
]]></artwork></figure>

</section>
<section anchor="rename-objectid"><name>OBJECTID Response Code for RENAME</name>

<t>When OBJECTID+ has been activated (<xref target="activation"/>), the server
<bcp14>MUST</bcp14> include the compound OBJECTID response code in the tagged OK
response to successful RENAME commands.</t>

<t>The MAILBOXID in the response <bcp14>SHOULD</bcp14> be the same as the source
mailbox when the rename preserves all mailbox invariants.  The
ACCOUNTID reflects the account to which the mailbox belongs after
the rename.</t>

<t>When a mailbox is renamed within the same account, the server
<bcp14>SHOULD</bcp14> return the same MAILBOXID and ACCOUNTID as the source
mailbox.</t>

<t>When a mailbox is renamed across account boundaries (for example,
from a personal namespace to a shared namespace belonging to a
different account), the server <bcp14>MAY</bcp14> return a different ACCOUNTID,
a different MAILBOXID, or both, reflecting the new account context
and any server-specific identifier allocation policy.</t>

<t>Example (local rename, identifiers preserved):</t>

<figure><artwork><![CDATA[
C: 8 rename foo renamed
S: 8 OK [OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3)] Completed
]]></artwork></figure>

<t>Example (cross-account rename, new identifiers issued):</t>

<figure><artwork><![CDATA[
C: 13 rename bar "Other Users.shared.bar"
S: 13 OK [OBJECTID (MAILBOXID \
        Fa77c2e19-84d3-4b0f-9e12-67df5c8a \
        ACCOUNTID u2b59f9f4)] Completed
]]></artwork></figure>

</section>
<section anchor="status-objectid"><name>OBJECTID Attribute for STATUS</name>

<t>The OBJECTID STATUS attribute requests the compound OBJECTID
response, which includes the MAILBOXID and ACCOUNTID for the
queried mailbox (when supported by the server).</t>

<t>Syntax: "OBJECTID"</t>

<t>Requesting the OBJECTID STATUS attribute activates the OBJECTID+
extension (<xref target="activation"/>).</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 6 status foo (objectid)
S: * ENABLED OBJECTID+
S: * STATUS foo (OBJECTID (MAILBOXID \
        F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3))
S: 6 OK Completed

C: 7 status bar (objectid)
S: * STATUS bar (OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3))
S: 7 OK Completed

C: 8 status shared/team (objectid)
S: * STATUS shared/team (OBJECTID (MAILBOXID \
        F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4))
S: 8 OK Completed
]]></artwork></figure>

<t>Servers that also advertise the OBJECTID capability continue to
support the standalone MAILBOXID STATUS attribute as defined in
<xref target="RFC8474"/>.</t>

<t>When the LIST-STATUS IMAP capability defined in <xref target="RFC5819"/> is also
available, the STATUS command can be combined with the LIST command.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 11 list "" "*" return (status (objectid))
S: * ENABLED OBJECTID+
S: * LIST (\HasNoChildren) "." INBOX
S: * STATUS INBOX (OBJECTID (MAILBOXID \
        Ff8e3ead4-9389-4aff-adb1-d8d89efd8cbf \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." bar
S: * STATUS bar (OBJECTID (MAILBOXID \
        F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." "Other Users.other.sub.folder"
S: * STATUS "Other Users.other.sub.folder" (OBJECTID ( \
        MAILBOXID F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4))
S: 11 OK Completed (0.001 secs 3 calls)
]]></artwork></figure>

<t>This example demonstrates how clients can efficiently retrieve
object identifiers for multiple mailboxes, including mailboxes
belonging to different accounts, using the extended LIST command
with STATUS return option.</t>

</section>
<section anchor="list-objectid"><name>OBJECTID Return Option for LIST</name>

<t>The OBJECTID return option for the extended LIST command
(<xref target="RFC5258"/>; Section 6.3.9 of <xref target="RFC9051"/>) requests that each
LIST response carry an OBJECTID extended data item.  The item
holds the MAILBOXID and ACCOUNTID of the listed mailbox (when
supported by the server), in the same key-value format as the
compound OBJECTID response (<xref target="objectid-compound"/>).</t>

<t>Syntax: "OBJECTID"</t>

<t>Requesting the OBJECTID return option activates the OBJECTID+
extension (<xref target="activation"/>).</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 12 list "" "*" return (objectid)
S: * ENABLED OBJECTID+
S: * LIST (\HasChildren) "." INBOX ("OBJECTID" \
        (MAILBOXID Ff8e3ead4-9389-4aff-adb1-d8d89efd8cbf \
        ACCOUNTID u1a48e8e3))
S: * LIST (\Noselect \HasChildren) "." INBOX.projects \
        ("OBJECTID" (MAILBOXID F0b3c5e71-2d4a-4f8e-9c1b-7a6d5e4f \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." INBOX.projects.alpha \
        ("OBJECTID" (MAILBOXID F6352ae03-b7f5-463c-896f-d8b48ee3 \
        ACCOUNTID u1a48e8e3))
S: * LIST (\HasNoChildren) "." "Other Users.other.sub.folder" \
        ("OBJECTID" (MAILBOXID F8839dca12-3ef8-4a72-b63d-54f9e8a1 \
        ACCOUNTID u2b59f9f4))
S: 12 OK Completed
]]></artwork></figure>

<t>The OBJECTID extended data item is returned for every mailbox
name in the LIST response.  Unlike the OBJECTID STATUS attribute,
it is not restricted to mailboxes the client could STATUS, and it
is returned for \Noselect, \NonExistent, and \NoAccess names.</t>

<t>As specified in <xref target="objectid-compound"/>, a server that supports
MAILBOXID <bcp14>SHOULD</bcp14> include it for every selectable mailbox, and <bcp14>MUST</bcp14>
include it for every selectable mailbox that is visible through
JMAP.  A name that cannot be selected need not have identifiers,
and the server <bcp14>MAY</bcp14> return the empty item "OBJECTID ()" for it, for
example for a
\NonExistent name reported only because it has matching children,
or for a \Noselect name for which the server stores no metadata.
A server <bcp14>MAY</bcp14> nevertheless return identifiers for such a name, as in
the "INBOX.projects" example above, where the server also
represents that name as a JMAP Mailbox object.</t>

<t>A client <bcp14>MAY</bcp14> request both the OBJECTID return option and the
OBJECTID STATUS attribute via the STATUS return option in the same
LIST command.  The identifiers in the LIST extended data item and
in the STATUS response for the same mailbox <bcp14>MUST</bcp14> be identical.</t>

<t>Once OBJECTID+ is active, the server <bcp14>MUST</bcp14> include the OBJECTID
extended data item in every unsolicited LIST response, such as
those sent for MailboxName events by the NOTIFY extension
(<xref target="RFC5465"/>) or on a denormalized mailbox name (Section 6.3.9.7
of <xref target="RFC9051"/>).  This is the only way to convey the identifiers
of a mailbox that no longer exists, since no STATUS response can
be returned for it:</t>

<figure><artwork><![CDATA[
S: * LIST (\NonExistent) "." INBOX.old ("OBJECTID" \
        (MAILBOXID F2212ea87-6097-4256-9d51-71338625 \
        ACCOUNTID u1a48e8e3))
]]></artwork></figure>

</section>
<section anchor="fetch-objectid"><name>OBJECTID Data Item for FETCH</name>

<t>The OBJECTID FETCH data item causes the server to return a compound
OBJECTID response containing the EMAILID and, if supported, the
THREADID for each message.</t>

<t>Syntax: "OBJECTID"</t>

<t>Requesting the OBJECTID FETCH data item activates the OBJECTID+
extension (<xref target="activation"/>).</t>

<t>ACCOUNTID is not included in the FETCH OBJECTID response because
the account context is already established by the SELECT or EXAMINE
response for the current mailbox.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 30 fetch 1:* (objectid)
S: * ENABLED OBJECTID+
S: * 1 FETCH (OBJECTID (EMAILID M6d99ac3275bb4e \
        THREADID T64b478a75b7ea9))
S: * 2 FETCH (OBJECTID (EMAILID M5fdc09b49ea703 \
        THREADID T11863d02dd95b5))
S: 30 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Example (no THREADID support):</t>

<figure><artwork><![CDATA[
C: 31 fetch 1:* (objectid)
S: * 1 FETCH (OBJECTID (EMAILID M00000001))
S: * 2 FETCH (OBJECTID (EMAILID M00000002))
S: 31 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Example (server supports no message identifiers):</t>

<figure><artwork><![CDATA[
C: 32 fetch 1:* (objectid)
S: * 1 FETCH (OBJECTID ())
S: * 2 FETCH (OBJECTID ())
S: 32 OK Completed (0.000 sec)
]]></artwork></figure>

<t>Servers that also advertise the OBJECTID capability continue to
support the individual EMAILID and THREADID FETCH data items as
defined in <xref target="RFC8474"/>.</t>

</section>
</section>
<section anchor="new-filters-on-search-command"><name>New Filters on SEARCH Command</name>

<t>This document defines the filters EMAILID and THREADID on the SEARCH
command.</t>

<t>Syntax: "EMAILID" SP objectid</t>

<t>Messages whose EMAILID is exactly the specified ObjectID.</t>

<t>Syntax: "THREADID" SP objectid</t>

<t>Messages whose THREADID is exactly the specified ObjectID.</t>

<t>A SEARCH for an EMAILID or THREADID that the server has not
assigned to any message, including a value that the server would
never assign, <bcp14>MUST NOT</bcp14> match any messages.  The server <bcp14>MUST NOT</bcp14>
return a NO or BAD response for a syntactically valid ObjectID.</t>

<t>When using the MULTISEARCH extension defined in <xref target="RFC7377"/> to search
across multiple mailboxes, clients <bcp14>SHOULD</bcp14> only search for EMAILID or
THREADID across mailboxes that share the same ACCOUNTID. Since object
identifiers are only guaranteed to be unique within the scope of a
single ACCOUNTID, searching across mailboxes with different ACCOUNTIDs
may produce incorrect results if identifiers from different accounts
happen to collide.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
C: 27 search emailid M6d99ac3275bb4e
S: * SEARCH 1
S: 27 OK Completed (1 msgs in 0.000 secs)
C: 28 search threadid T64b478a75b7ea9
S: * SEARCH 1 2
S: 28 OK Completed (2 msgs in 0.000 secs)
]]></artwork></figure>

</section>
<section anchor="jmapaccess"><name>Additional Conditions for JMAPACCESS</name>

<t>The JMAPACCESS capability and GETJMAPACCESS command are defined in
<xref target="RFC9698"/>.  This document updates those semantics: when a server
advertises both JMAPACCESS and OBJECTID+, it additionally asserts
that the IMAP ACCOUNTID for each mailbox corresponds directly to the
JMAP accountId for that account, as defined in
<xref section="1.6.2" sectionFormat="of" target="RFC8620"/>.</t>

<t>A server that advertises both JMAPACCESS and OBJECTID+ is not
required to also advertise OBJECTID (<xref target="RFC8474"/>); OBJECTID+ is
sufficient to satisfy the capability prerequisite for JMAPACCESS.</t>

<t>Clients that encounter JMAPACCESS without OBJECTID+ should interpret
it as defined in <xref target="RFC9698"/>.</t>

<section anchor="message-keywords-and-jmap-keywords"><name>Message Keywords and JMAP Keywords</name>

<t>When a server advertises both JMAPACCESS and OBJECTID+, all IMAP
messages that have the same EMAILID are the same JMAP Email object
(<xref section="4.1.1" sectionFormat="of" target="RFC8621"/>).  These messages can appear in more
than one mailbox.</t>

<t>As specified in <xref target="emailid"/>, all messages that have the same EMAILID
have the same flags, except \Recent and \Deleted.  Therefore the
Email object has one clear "keywords" set.  This set is the common
set of flags, mapped to JMAP keywords as defined in <xref section="4.1.1" sectionFormat="of" target="RFC8621"/> (for example, "\Flagged" maps to "$flagged" and "\Seen"
maps to "$seen").  \Recent and \Deleted have no JMAP keyword and do
not appear in "keywords".</t>

<t>When a client sets a keyword on an Email through JMAP (Email/set),
the server <bcp14>MUST</bcp14> set the related IMAP flag on all messages that have
the same EMAILID.  When a client removes a keyword, the server <bcp14>MUST</bcp14>
clear that flag on all these messages.  An IMAP STORE command that
changes one of these flags also applies to all messages that have
the same EMAILID, as specified in <xref target="emailid"/>.</t>

<t>Note that <xref section="2" sectionFormat="of" target="RFC8621"/> requires the user to hold the
"maySetSeen" right on all mailboxes that contain an Email before the
user can change "$seen" through JMAP.</t>

</section>
</section>
<section anchor="objectid-syntax"><name>Formal Syntax</name>

<t>The following syntax specification uses the Augmented Backus-Naur
Form (ABNF) <xref target="RFC5234"/> notation.  Elements not defined here can be
found in the formal syntax of the ABNF <xref target="RFC5234"/>, IMAP <xref target="RFC3501"/>,
IMAP ABNF extensions <xref target="RFC4466"/>, and IMAP ENABLE <xref target="RFC5161"/>
specifications.</t>

<t>Except as noted otherwise, all alphabetic characters are case
insensitive.  The use of uppercase or lowercase characters to define
token strings is for editorial clarity only.  Implementations <bcp14>MUST</bcp14>
accept these strings in a case-insensitive fashion.</t>

<t>Please note specifically that ObjectID values are case sensitive.</t>

<figure><artwork><![CDATA[
capability =/ "OBJECTID+"
        ; the "OBJECTID" capability token's syntax is
        ; defined in [RFC8474]

enable-data =/ "OBJECTID+"
        ; extends the enable-data production from [RFC5161]

objectid = 1*255(ALPHA / DIGIT / "_" / "-")
        ; characters in object identifiers are case
        ; significant

objectid-key = "MAILBOXID" / "ACCOUNTID" / "EMAILID" / "THREADID"
             / atom
        ; future extensions may define additional keys
        ; clients MUST ignore unrecognised keys

objectid-kvpair = objectid-key SP objectid

objectid-compound = "OBJECTID" SP "(" [objectid-kvpair
        *(SP objectid-kvpair)] ")"
        ; space-separated key-value pairs of identifiers
        ; keys not supported by the server are omitted
        ; an empty list "OBJECTID ()" is valid

; --- OBJECTID+ extensions to SELECT/EXAMINE ---

select-param =/ "OBJECTID" [SP "(" [objectid-kvpair
        *(SP objectid-kvpair)] ")"]
        ; without arguments or with an empty list:
        ;   activation only
        ; with arguments: ID-based mailbox selection
        ;   with fallback to the mailbox name

; --- OBJECTID+ extensions to FETCH ---

fetch-att =/ "OBJECTID"

msg-att-static =/ objectid-compound

; --- OBJECTID+ extensions to STATUS ---

status-att =/ "OBJECTID"

status-att-val =/ "OBJECTID" SP "(" [objectid-kvpair
        *(SP objectid-kvpair)] ")"
        ; follows tagged-ext production from [RFC4466]

; --- OBJECTID+ extensions to LIST ---

return-option =/ "OBJECTID"
        ; extends the return-option production from [RFC5258]

objectid-extended-item = "OBJECTID" SP "(" [objectid-kvpair
        *(SP objectid-kvpair)] ")"
        ; Extended data item (mbox-list-extended-item)
        ; returned when the OBJECTID return option is
        ; specified.  The OBJECTID tag can be returned
        ; with or without surrounding quotes, as per the
        ; mbox-list-extended-item-tag production in [RFC5258]

; --- OBJECTID+ response code ---

resp-text-code =/ objectid-compound

; --- OBJECTID+ extensions to SEARCH ---

search-key =/ "EMAILID" SP objectid
        ; matches messages whose EMAILID is exactly
        ; the specified ObjectID

search-key =/ "THREADID" SP objectid
        ; matches messages whose THREADID is exactly
        ; the specified ObjectID
]]></artwork></figure>

</section>
<section anchor="implementation-considerations"><name>Implementation Considerations</name>

<section anchor="assigning-object-identifiers"><name>Assigning Object Identifiers</name>

<t>All ObjectID values are allocated by the server.</t>

<t>ObjectIDs use a safe subset of byte values to reduce encoding
mistakes.  They also have a limited length, so that clients can
allocate storage.</t>

<t>An ObjectID is a string of 1 to 255 characters from the following set
of 64 codepoints: a-z, A-Z, 0-9, _, -.  These characters are safe to
use in almost any context (e.g., filesystems, URIs, IMAP atoms).
These are the same characters defined as base64url in <xref target="RFC4648"/>.</t>

<t>For maximum safety, servers should also follow defensive allocation
strategies to avoid creating risks where glob completion or data type
detection may be present (e.g., on filesystems or in spreadsheets).
In particular, it is wise to avoid:</t>

<t><list style="symbols">
  <t>IDs starting with a dash</t>
  <t>IDs starting with digits</t>
  <t>IDs that contain only digits</t>
  <t>IDs that differ only by ASCII case (for example, A vs. a)</t>
  <t>the specific sequence of three characters NIL in any case (because
this sequence can be confused with the IMAP protocol expression of
the null value)</t>
</list></t>

<t>A good solution to these issues is to prefix every ID with a single
alphabetical character.</t>

</section>
<section anchor="interaction-with-special-cases"><name>Interaction with Special Cases</name>

<t>The case of RENAME INBOX may need special handling because it has
special behavior, as defined in <xref section="6.3.5" sectionFormat="of" target="RFC3501"/>.</t>

<t>As an implementation convenience, object identifier values can be
globally unique, but this is not required.  A proxy may aggregate
several independent backend servers.  Such a proxy <bcp14>MUST</bcp14> return a
different ACCOUNTID for each set of mailboxes from a different
backend, unless it can guarantee that all object identifiers are
unique across those backends.  This lets clients rely on the
combination of ACCOUNTID and any other object identifier being
unique within the IMAP session, even when the backends assign
identifiers independently and those identifiers might otherwise
collide.</t>

</section>
<section anchor="client-usage"><name>Client Usage</name>

<t>Servers that implement both <xref target="RFC6154"/> and this specification should
optimize their execution of commands like UID SEARCH OR EMAILID 1234
EMAILID 4321.</t>

<t>Clients can assume that searching the all-mail mailbox using OR/
EMAILID or OR/THREADID is a fast way to find messages again if some
other client has moved them out of the mailbox where they were
previously seen.</t>

<t>Clients that cache data offline should fetch the EMAILID of all new
messages to avoid redownloading already-cached message details.</t>

<t>Clients should fetch the MAILBOXID for any new mailboxes before
discarding cache data for any mailbox that is no longer present on
the server so that they can detect renames and avoid redownloading
data.</t>

<t>Clients that support both IMAP and JMAP <bcp14>SHOULD</bcp14> use the ACCOUNTID when
available to maintain accurate mappings between IMAP mailboxes and
JMAP Mailbox objects. This is particularly important for clients that
use JMAP Email Delivery Push notifications, as these notifications
include the accountId property. By correlating the accountId from a
push notification with the ACCOUNTID, clients can efficiently
determine which IMAP mailbox corresponds to a newly delivered message
without requiring additional synchronization operations.</t>

</section>
<section anchor="interaction-with-the-objectid-capability"><name>Interaction with the OBJECTID Capability</name>

<t>A server <bcp14>MAY</bcp14> advertise both OBJECTID and OBJECTID+ to provide
backward compatibility with clients that only support <xref target="RFC8474"/>.
When both capabilities are advertised, the server <bcp14>MUST</bcp14> behave as
defined in <xref target="RFC8474"/> until the client activates OBJECTID+
(<xref target="activation"/>).  Once OBJECTID+ has been activated, the server
<bcp14>MUST</bcp14> use compound OBJECTID response codes in place of MAILBOXID
response codes for CREATE, RENAME, SELECT, and EXAMINE commands,
and <bcp14>MUST</bcp14> support the OBJECTID STATUS attribute and FETCH data item.</t>

<t>A server that advertises only OBJECTID+ is not required to support
the individual MAILBOXID, EMAILID, or THREADID attributes defined
in <xref target="RFC8474"/>.  Such a server uses exclusively the compound
OBJECTID format defined in this specification.</t>

<t>When a server advertises both capabilities, the OBJECTID compound
is functionally equivalent to requesting each of its constituent
identifiers individually.  The server <bcp14>MUST</bcp14> return the same value
for a given identifier whether it is requested individually (as
defined in <xref target="RFC8474"/>) or as part of an OBJECTID compound.  For
example, the MAILBOXID returned within an OBJECTID STATUS response
<bcp14>MUST</bcp14> be identical to the MAILBOXID returned when requested as a
standalone STATUS attribute.  The compound is provided as a
convenience for clients that wish to retrieve all available
identifiers in a single request without enumerating each attribute
separately.</t>

</section>
<section anchor="interaction-with-imap4rev2"><name>Interaction with IMAP4rev2</name>

<t>This specification is written in terms of <xref target="RFC3501"/> (IMAP4rev1) but
applies equally to <xref target="RFC9051"/> (IMAP4rev2). IMAP4rev2 incorporates
the ENABLE command and the MOVE extension natively, so no separate
capability negotiation is needed for those features.</t>

<t>The formal syntax in this document extends the ABNF productions
defined in <xref target="RFC3501"/>. Servers implementing IMAP4rev2 <bcp14>SHOULD</bcp14> apply
the same extensions to the corresponding productions in <xref target="RFC9051"/>.</t>

</section>
<section anchor="interaction-with-move"><name>Interaction with MOVE</name>

<t>The MOVE command <xref target="RFC6851"/> atomically moves messages between
mailboxes. As specified in <xref target="emailid"/>, MOVE is allowed to create
new EMAILIDs and THREADIDs for the destination messages.  The
server <bcp14>SHOULD</bcp14> preserve the EMAILID when the source and destination
mailboxes share the same ACCOUNTID, but is not required to do so.</t>

<t>The MOVE command does not receive an OBJECTID response code. The
COPYUID response code <xref target="RFC4315"/> already provides the UID mapping
between source and destination.</t>

</section>
<section anchor="deleted-flag"><name>Interaction with the \Deleted Flag</name>

<t>As specified in <xref target="emailid"/>, the \Deleted flag is exempt from the
rule that requires flags to be identical across all messages that
share an EMAILID.  A server <bcp14>MUST NOT</bcp14> propagate a change to the
\Deleted flag to other messages that share the same EMAILID.</t>

<t>Clients frequently move a message between mailboxes at the IMAP
level by copying it to the destination and then setting \Deleted on
the source copy followed by an EXPUNGE; this is the traditional
alternative to the MOVE command <xref target="RFC6851"/>.  A client performing
such a move has no way to know that the source and destination
copies share an EMAILID.  If the server were to apply \Deleted to
every copy sharing that EMAILID, the destination copy would also be
marked \Deleted and could be expunged, destroying the very message
the client intended to preserve.</t>

</section>
<section anchor="interaction-with-namespace"><name>Interaction with NAMESPACE</name>

<t>The NAMESPACE extension <xref target="RFC2342"/> exposes that a single IMAP
connection may provide access to mailboxes from different
namespaces, including personal, other users', and shared namespaces.</t>

<t>The ACCOUNTID returned for a mailbox <bcp14>SHOULD</bcp14> reflect the account
that owns the mailbox data, not the account of the authenticated
user accessing it. For example:</t>

<t><list style="symbols">
  <t>Mailboxes in the personal namespace have the authenticated
user's ACCOUNTID.</t>
  <t>Mailboxes in the "Other Users" namespace that belong to a
different user <bcp14>SHOULD</bcp14> have that other user's ACCOUNTID.</t>
  <t>Mailboxes in a shared namespace <bcp14>SHOULD</bcp14> have the ACCOUNTID of
the account that owns the shared data.  See <xref target="accountid"/> for
shared data that is not owned by any user.</t>
</list></t>

<t>This ensures that ACCOUNTID provides meaningful account-level
disambiguation and, when JMAPACCESS is advertised, correctly
correlates with the JMAP accountId that owns the corresponding
Mailbox objects.</t>

</section>
<section anchor="interaction-with-uidonly"><name>Interaction with UIDONLY</name>

<t>When the UIDONLY extension <xref target="RFC9586"/> is active, FETCH responses
are replaced with UIDFETCH responses. The OBJECTID FETCH data
item works identically in UIDFETCH responses. A server that
supports both OBJECTID+ and UIDONLY <bcp14>MUST</bcp14> include the OBJECTID
data item in UIDFETCH responses when requested.</t>

</section>
<section anchor="interaction-with-sort-and-thread"><name>Interaction with SORT and THREAD</name>

<t>The THREAD command defined in <xref target="RFC5256"/> computes thread
relationships algorithmically based on message headers and returns
a thread structure for display purposes. The THREADID defined in
this document is a persistent identifier assigned by the server
to group related messages.</t>

<t>THREADID and the THREAD command are independent. A server <bcp14>MAY</bcp14> use
different algorithms for THREAD responses and THREADID assignment,
and the thread groupings need not correlate. Clients <bcp14>MUST NOT</bcp14>
assume that messages sharing a THREADID will appear in the same
thread structure returned by the THREAD command, or vice versa.</t>

</section>
<section anchor="advice-to-client-implementers"><name>Advice to Client Implementers</name>

<t>In cases of server failure and disaster recovery, or misbehaving
servers, it is possible that a client will be sent invalid
information, e.g., identical ObjectIDs or ObjectIDs that have changed
where they <bcp14>MUST NOT</bcp14> change according to this document.</t>

<t>In a case where a client detects inconsistent ObjectID responses from
a server, it <bcp14>SHOULD</bcp14> fall back to relying on the guarantees of
<xref target="RFC3501"/>.  For simplicity, a client <bcp14>MAY</bcp14> instead choose to discard its
entire cache and resync all state from the server.</t>

<t>Client authors protecting against server misbehavior <bcp14>MUST</bcp14> ensure that
their design cannot get into an infinite loop of discarding cache and
fetching the same data repeatedly without user interaction.</t>

</section>
</section>
<section anchor="future-considerations"><name>Future Considerations</name>

<t>This extension is intentionally defined to be compatible with the
data model in JMAP for Mail.</t>

<t>A future extension to the Sieve <spanx style="verb">:mailboxid</spanx> extension <xref target="RFC9042"/>
could add ACCOUNTID support for multi-account environments.</t>

<t>An extension to allow fetching message content directly via EMAILID
and message listings by THREADID could be proposed.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="imap-capabilities-registry"><name>IMAP Capabilities Registry</name>

<t>IANA is requested to add the following entry to the "IMAP Capabilities"
registry located at <eref target="https://www.iana.org/assignments/imap-capabilities">https://www.iana.org/assignments/imap-capabilities</eref>:</t>

<texttable>
      <ttcol align='left'>Capability</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>OBJECTID+</c>
      <c>This document</c>
</texttable>

<t>IANA is requested to update the reference for the existing
"JMAPACCESS" entry in the "IMAP Capabilities" registry from
<xref target="RFC9698"/> to this document.</t>

<t>The existing "OBJECTID" entry registered by <xref target="RFC8474"/> remains
unchanged. Servers <bcp14>MAY</bcp14> advertise OBJECTID alongside OBJECTID+ for
backward compatibility as described in this document.</t>

</section>
<section anchor="imap-response-codes-registry"><name>IMAP Response Codes Registry</name>

<t>IANA is requested to add the following entry to the "IMAP Response
Codes" registry located at
<eref target="https://www.iana.org/assignments/imap-response-codes">https://www.iana.org/assignments/imap-response-codes</eref>:</t>

<texttable>
      <ttcol align='left'>Response Code</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>OBJECTID</c>
      <c>This document</c>
</texttable>

<t>The existing "MAILBOXID" entry in the "IMAP Response Codes" registry,
registered by <xref target="RFC8474"/>, remains unchanged.</t>

</section>
<section anchor="list-extended-options-registry"><name>LIST-EXTENDED Options Registry</name>

<t>IANA is requested to add the following entry to the "LIST-EXTENDED
options" registry defined in <xref target="RFC5258"/> and located at
<eref target="https://www.iana.org/assignments/imap-list-extended">https://www.iana.org/assignments/imap-list-extended</eref>:</t>

<t>LIST-EXTENDED option name: OBJECTID</t>

<t>LIST-EXTENDED option type: RETURN</t>

<t>LIST-EXTENDED option description: Causes the LIST command to return
the OBJECTID extended data item for each listed mailbox.</t>

<t>Published specification: This document, <xref target="list-objectid"/></t>

<t>Security considerations: This document, Security Considerations</t>

<t>Intended usage: COMMON</t>

<t>Person and email address to contact for further information:
Authors of this document</t>

<t>Owner/Change controller: IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref></t>

</section>
<section anchor="list-extended-extended-data-items-registry"><name>LIST-EXTENDED Extended Data Items Registry</name>

<t>IANA is requested to add the following entry to the "LIST-EXTENDED
extended data items" registry defined in <xref target="RFC5258"/> and located at
<eref target="https://www.iana.org/assignments/imap-list-extended">https://www.iana.org/assignments/imap-list-extended</eref>:</t>

<t>LIST-EXTENDED extended data item tag: OBJECTID</t>

<t>LIST-EXTENDED extended data item description: Carries the MAILBOXID
and ACCOUNTID of the listed mailbox as a compound OBJECTID.</t>

<t>Which LIST-EXTENDED option(s) (and their types) causes this extended
data item to be returned (if any): OBJECTID return option</t>

<t>Published specification: This document, <xref target="list-objectid"/></t>

<t>Security considerations: This document, Security Considerations</t>

<t>Intended usage: COMMON</t>

<t>Person and email address to contact for further information:
Authors of this document</t>

<t>Owner/Change controller: IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref></t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="object-identifier-generation"><name>Object Identifier Generation</name>

<t>It is strongly advised that servers generate ObjectIDs that are safe
to use as filesystem names and unlikely to be autodetected as
numbers.  See implementation considerations.</t>

<t>If a digest is used for ID generation, it must have a collision-
resistant property, so server implementations are advised to monitor
current security research and choose secure digests.  As the IDs are
generated by the server, it will be possible to migrate to a new hash
by just using the new algorithm when creating new IDs.  This is
particularly true if a prefix is used on each ID, which can be
changed when the algorithm changes.</t>

<t>The use of a digest for ID generation may be used as proof that a
particular sequence of bytes was seen by the server.  However, this
is only a risk if IDs are leaked to clients who don't have permission
to fetch the data directly.  Servers that are expected to handle
highly sensitive data should consider this when choosing how to
create IDs.</t>

<t>See also the security considerations in <xref section="11" sectionFormat="of" target="RFC3501"/>.</t>

</section>
<section anchor="account-identifier-exposure"><name>Account Identifier Exposure</name>

<t>The ACCOUNTID reveals information about the account structure of the
server and which mailboxes belong to which accounts. While this
information is generally not considered sensitive in the context of an
authenticated IMAP session, servers that wish to minimize information
disclosure <bcp14>MAY</bcp14> choose to generate account identifiers using
unpredictable values (such as UUIDs) rather than sequential numbers
or other patterns that might reveal information about account creation
order or the total number of accounts on the server.</t>

</section>
<section anchor="identifiers-of-unselectable-mailboxes"><name>Identifiers of Unselectable Mailboxes</name>

<t>The OBJECTID extended data item on the LIST response
(<xref target="list-objectid"/>) reveals the MAILBOXID and ACCOUNTID of every
mailbox the client is permitted to list, including mailboxes it
cannot select or STATUS.  An identifier conveys nothing about the
contents of a mailbox, and the client already learns the name
from the same response, so this does not widen what a LIST
discloses beyond the identifiers themselves.</t>

</section>
<section anchor="selecting-by-identifier"><name>Selecting by Identifier</name>

<t>The OBJECTID parameter on SELECT and EXAMINE (<xref target="select-objectid"/>)
allows a client to identify a mailbox by its identifiers rather
than by name.  If a server selected a mailbox that the client is
not permitted to select by name, or responded differently for such
a mailbox, a client could use this parameter to discover the
identifiers of mailboxes it has no access to.  For this reason,
<xref target="select-objectid"/> requires the server to select such a mailbox
only by name.</t>

</section>
<section anchor="cross-account-information-leakage"><name>Cross-Account Information Leakage</name>

<t>Servers <bcp14>MUST</bcp14> ensure that the ACCOUNTID mechanism does not inadvertently
grant users access to information about accounts they are not authorized
to access. In particular, servers <bcp14>MUST NOT</bcp14> return account identifiers
for accounts that the authenticated user does not have permission to
access, even if such accounts exist on the server.</t>

</section>
<section anchor="consistency-with-jmap-authentication"><name>Consistency with JMAP Authentication</name>

<t>A server <bcp14>MUST NOT</bcp14> advertise JMAPACCESS unless the authentication
credentials used for the IMAP session are sufficient to also
authenticate via JMAP.  Inconsistencies in authentication or
authorization between IMAP and JMAP could lead to situations where
a client receives account identifiers that it cannot subsequently use
to access the corresponding JMAP resources, potentially revealing the
existence of accounts the user cannot access.</t>

<t>The JMAP session URL returned by GETJMAPACCESS is available to any
authenticated IMAP client.  This reveals that a JMAP server exists
for the user, but since an authenticated client with valid credentials
could discover this independently via <xref target="RFC8620"/> Section 2.2, this
does not represent a meaningful increase in exposure.</t>

</section>
<section anchor="privacy-in-multi-tenant-environments"><name>Privacy in Multi-Tenant Environments</name>

<t>In multi-tenant or hosted environments, servers <bcp14>SHOULD</bcp14> generate account
identifiers in a manner that does not reveal relationships between
accounts or organizational structures that users should not be aware of.
For example, if multiple accounts belong to the same organization, the
account identifier generation mechanism should not use patterns that
would allow users to infer these relationships unless such information
is explicitly intended to be visible.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3501">
  <front>
    <title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="March" year="2003"/>
    <abstract>
      <t>The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev1 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server. IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes, checking for new messages, permanently removing messages, setting and clearing flags, RFC 2822 and RFC 2045 parsing, searching, and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 supports a single server. A mechanism for accessing configuration information to support multiple IMAP4rev1 servers is discussed in RFC 2244. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as RFC 2821. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3501"/>
  <seriesInfo name="DOI" value="10.17487/RFC3501"/>
</reference>
<reference anchor="RFC4466">
  <front>
    <title>Collected Extensions to IMAP4 ABNF</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <date month="April" year="2006"/>
    <abstract>
      <t>Over the years, many documents from IMAPEXT and LEMONADE working groups, as well as many individual documents, have added syntactic extensions to many base IMAP commands described in RFC 3501. For ease of reference, this document collects most of such ABNF changes in one place.</t>
      <t>This document also suggests a set of standard patterns for adding options and extensions to several existing IMAP commands defined in RFC 3501. The patterns provide for compatibility between existing and future extensions.</t>
      <t>This document updates ABNF in RFCs 2088, 2342, 3501, 3502, and 3516. It also includes part of the errata to RFC 3501. This document doesn't specify any semantic changes to the listed RFCs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4466"/>
  <seriesInfo name="DOI" value="10.17487/RFC4466"/>
</reference>
<reference anchor="RFC5234">
  <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
    <author fullname="P. Overell" initials="P." surname="Overell"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="68"/>
  <seriesInfo name="RFC" value="5234"/>
  <seriesInfo name="DOI" value="10.17487/RFC5234"/>
</reference>
<reference anchor="RFC5256">
  <front>
    <title>Internet Message Access Protocol - SORT and THREAD Extensions</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <author fullname="K. Murchison" initials="K." surname="Murchison"/>
    <date month="June" year="2008"/>
    <abstract>
      <t>This document describes the base-level server-based sorting and threading extensions to the IMAP protocol. These extensions provide substantial performance improvements for IMAP clients that offer sorted and threaded views. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5256"/>
  <seriesInfo name="DOI" value="10.17487/RFC5256"/>
</reference>
<reference anchor="RFC5258">
  <front>
    <title>Internet Message Access Protocol version 4 - LIST Command Extensions</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="June" year="2008"/>
    <abstract>
      <t>IMAP4 has two commands for listing mailboxes: LIST and LSUB. As we have added extensions, such as Mailbox Referrals, that have required specialized lists we have had to expand the number of list commands, since each extension must add its function to both LIST and LSUB, and these commands are not, as they are defined, extensible. If we've needed the extensions to work together, we've had to add a set of commands to mix the different options, the set increasing in size with each new extension. This document describes an extension to the base LIST command that will allow these additions to be done with mutually compatible options to the LIST command, avoiding the exponential increase in specialized list commands. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5258"/>
  <seriesInfo name="DOI" value="10.17487/RFC5258"/>
</reference>
<reference anchor="RFC5819">
  <front>
    <title>IMAP4 Extension for Returning STATUS Information in Extended LIST</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="T. Sirainen" initials="T." surname="Sirainen"/>
    <date month="March" year="2010"/>
    <abstract>
      <t>Many IMAP clients display information about total number of messages / total number of unseen messages in IMAP mailboxes. In order to do that, they are forced to issue a LIST or LSUB command and to list all available mailboxes, followed by a STATUS command for each mailbox found. This document provides an extension to LIST command that allows the client to request STATUS information for mailboxes together with other information typically returned by the LIST command. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5819"/>
  <seriesInfo name="DOI" value="10.17487/RFC5819"/>
</reference>
<reference anchor="RFC6851">
  <front>
    <title>Internet Message Access Protocol (IMAP) - MOVE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="N. Freed" initials="N." role="editor" surname="Freed"/>
    <date month="January" year="2013"/>
    <abstract>
      <t>This document defines an IMAP extension consisting of two new commands, MOVE and UID MOVE, that are used to move messages from one mailbox to another. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6851"/>
  <seriesInfo name="DOI" value="10.17487/RFC6851"/>
</reference>
<reference anchor="RFC8474">
  <front>
    <title>IMAP Extension for Object Identifiers</title>
    <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
    <date month="September" year="2018"/>
    <abstract>
      <t>This document updates RFC 3501 (IMAP4rev1) with persistent identifiers on mailboxes and messages to allow clients to more efficiently reuse cached data when resources have changed location on the server.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8474"/>
  <seriesInfo name="DOI" value="10.17487/RFC8474"/>
</reference>
<reference anchor="RFC8620">
  <front>
    <title>The JSON Meta Application Protocol (JMAP)</title>
    <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2019"/>
    <abstract>
      <t>This document specifies a protocol for clients to efficiently query, fetch, and modify JSON-based data objects, with support for push notification of changes and fast resynchronisation and for out-of- band binary data upload/download.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8620"/>
  <seriesInfo name="DOI" value="10.17487/RFC8620"/>
</reference>
<reference anchor="RFC8621">
  <front>
    <title>The JSON Meta Application Protocol (JMAP) for Mail</title>
    <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="August" year="2019"/>
    <abstract>
      <t>This document specifies a data model for synchronising email data with a server using the JSON Meta Application Protocol (JMAP). Clients can use this to efficiently search, access, organise, and send messages, and to get push notifications for fast resynchronisation when new messages are delivered or a change is made in another client.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8621"/>
  <seriesInfo name="DOI" value="10.17487/RFC8621"/>
</reference>
<reference anchor="RFC9051">
  <front>
    <title>Internet Message Access Protocol (IMAP) - Version 4rev2</title>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <author fullname="B. Leiba" initials="B." role="editor" surname="Leiba"/>
    <date month="August" year="2021"/>
    <abstract>
      <t>The Internet Message Access Protocol Version 4rev2 (IMAP4rev2) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev2 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev2 also provides the capability for an offline client to resynchronize with the server.</t>
      <t>IMAP4rev2 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; removing messages permanently; setting and clearing flags; parsing per RFCs 5322, 2045, and 2231; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev2 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers.</t>
      <t>IMAP4rev2 does not specify a means of posting mail; this function is handled by a mail submission protocol such as the one specified in RFC 6409.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9051"/>
  <seriesInfo name="DOI" value="10.17487/RFC9051"/>
</reference>
<reference anchor="RFC9698">
  <front>
    <title>The JMAPACCESS Extension for IMAP</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="B. Gondwana" initials="B." surname="Gondwana"/>
    <date month="January" year="2025"/>
    <abstract>
      <t>This document defines an IMAP extension to let clients know that the messages in this IMAP server are also available via the JSON Meta Application Protocol (JMAP), and how. It is intended for clients that want to migrate gradually to JMAP or use JMAP extensions within an IMAP client.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9698"/>
  <seriesInfo name="DOI" value="10.17487/RFC9698"/>
</reference>
<reference anchor="RFC5161">
  <front>
    <title>The IMAP ENABLE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." role="editor" surname="Gulbrandsen"/>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <date month="March" year="2008"/>
    <abstract>
      <t>Most IMAP extensions are used by the client when it wants to and the server supports it. However, a few extensions require the server to know whether a client supports that extension. The ENABLE extension allows an IMAP client to say which extensions it supports. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5161"/>
  <seriesInfo name="DOI" value="10.17487/RFC5161"/>
</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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC2342">
  <front>
    <title>IMAP4 Namespace</title>
    <author fullname="M. Gahrns" initials="M." surname="Gahrns"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="May" year="1998"/>
    <abstract>
      <t>This document defines a NAMESPACE command that allows a client to discover the prefixes of namespaces used by a server for personal mailboxes, other users' mailboxes, and shared mailboxes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2342"/>
  <seriesInfo name="DOI" value="10.17487/RFC2342"/>
</reference>
<reference anchor="RFC4122">
  <front>
    <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <author fullname="R. Salz" initials="R." surname="Salz"/>
    <date month="July" year="2005"/>
    <abstract>
      <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4122"/>
  <seriesInfo name="DOI" value="10.17487/RFC4122"/>
</reference>
<reference anchor="RFC4315">
  <front>
    <title>Internet Message Access Protocol (IMAP) - UIDPLUS extension</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="December" year="2005"/>
    <abstract>
      <t>The UIDPLUS extension of the Internet Message Access Protocol (IMAP) provides a set of features intended to reduce the amount of time and resources used by some client operations. The features in UIDPLUS are primarily intended for disconnected-use clients. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4315"/>
  <seriesInfo name="DOI" value="10.17487/RFC4315"/>
</reference>
<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>
<reference anchor="RFC5465">
  <front>
    <title>The IMAP NOTIFY Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="C. King" initials="C." surname="King"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="February" year="2009"/>
    <abstract>
      <t>This document defines an IMAP extension that allows a client to request specific kinds of unsolicited notifications for specified mailboxes, such as messages being added to or deleted from such mailboxes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5465"/>
  <seriesInfo name="DOI" value="10.17487/RFC5465"/>
</reference>
<reference anchor="RFC6154">
  <front>
    <title>IMAP LIST Extension for Special-Use Mailboxes</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="J. Nicolson" initials="J." surname="Nicolson"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new optional mailbox attributes that a server may include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6154"/>
  <seriesInfo name="DOI" value="10.17487/RFC6154"/>
</reference>
<reference anchor="RFC7377">
  <front>
    <title>IMAP4 Multimailbox SEARCH Extension</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="October" year="2014"/>
    <abstract>
      <t>The IMAP4 specification allows the searching of only the selected mailbox. A user often wants to search multiple mailboxes, and a client that wishes to support this must issue a series of SELECT and SEARCH commands, waiting for each to complete before moving on to the next. This extension allows a client to search multiple mailboxes with one command, limiting the delays caused by many round trips and not requiring disruption of the currently selected mailbox. This extension also uses MAILBOX, UIDVALIDITY, and TAG fields in ESEARCH responses, allowing a client to pipeline the searches if it chooses. This document updates RFC 4466 and obsoletes RFC 6237.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7377"/>
  <seriesInfo name="DOI" value="10.17487/RFC7377"/>
</reference>
<reference anchor="RFC9042">
  <front>
    <title>Sieve Email Filtering: Delivery by MAILBOXID</title>
    <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
    <date month="June" year="2021"/>
    <abstract>
      <t>The OBJECTID capability of IMAP (RFC 8474) allows clients to identify mailboxes by a unique identifier that survives renaming.</t>
      <t>This document extends the Sieve email filtering language (RFC 5228) to allow using that same unique identifier as a target for fileinto rules and for testing the existence of mailboxes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9042"/>
  <seriesInfo name="DOI" value="10.17487/RFC9042"/>
</reference>
<reference anchor="RFC9586">
  <front>
    <title>IMAP Extension for Using and Returning Unique Identifiers (UIDs) Only</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="A. P. Achuthan" initials="A. P." surname="Achuthan"/>
    <author fullname="V. Nagulakonda" initials="V." surname="Nagulakonda"/>
    <author fullname="A. Singh" initials="A." surname="Singh"/>
    <author fullname="L. Alves" initials="L." surname="Alves"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>The UIDONLY extension to the Internet Message Access Protocol (RFCs 3501 and 9051) allows clients to enable a mode in which information about mailbox changes is returned using only Unique Identifiers (UIDs). Message numbers are not returned in responses and cannot be used in requests once this extension is enabled. This helps both clients and servers to reduce resource usage required to maintain a map between message numbers and UIDs.</t>
      <t>This document defines an experimental IMAP extension.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9586"/>
  <seriesInfo name="DOI" value="10.17487/RFC9586"/>
</reference>



    </references>

</references>


<?line 1387?>

<section anchor="ideas-for-implementing-object-identifiers"><name>Ideas for Implementing Object Identifiers</name>

<t>Ideas for calculating account identifiers:</t>

<t><list style="symbols">
  <t>Universally Unique Identifier (UUID) <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
  <t>Hash of the JMAP accountId (if JMAP integration is provided)</t>
</list></t>

<t>Ideas for calculating mailbox identifiers:</t>

<t><list style="symbols">
  <t>Universally Unique Identifier (UUID) <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>Ideas for implementing EMAILID:</t>

<t><list style="symbols">
  <t>Digest of message content (RFC822 bytes) -- expensive unless
cached</t>
  <t>UUID <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>Ideas for implementing THREADID:</t>

<t><list style="symbols">
  <t>Derive from EMAILID of first seen message in the thread.</t>
  <t>UUID <xref target="RFC4122"/></t>
  <t>Server-assigned sequence number (guaranteed not to be reused)</t>
</list></t>

<t>There is a need to index and look up reference/in-reply-to data at
message creation to efficiently find matching messages for threading.
Threading may be either across mailboxes or within each mailbox only.
The server has significant leeway here.</t>

</section>
<section anchor="changes-from-rfc-8474-and-rfc-9698"><name>Changes from RFC 8474 and RFC 9698</name>

<t>This document obsoletes <xref target="RFC8474"/>, updates <xref target="RFC9698"/>, and
introduces the following changes:</t>

<t>The OBJECTID+ capability and extension is defined as an independent
extension that may be advertised alongside or in place of the
OBJECTID capability from <xref target="RFC8474"/>.  Servers that advertise only
OBJECTID+ are not required to support the individual MAILBOXID,
EMAILID, or THREADID attributes defined in <xref target="RFC8474"/>.</t>

<t>The compound OBJECTID response format is introduced, using
key-value pairs where unsupported identifiers are omitted rather
than returned as NIL.  This compound format is used uniformly for
SELECT, EXAMINE, CREATE, RENAME, STATUS, LIST, and FETCH responses.</t>

<t>The ACCOUNTID identifier is defined for account-level context,
enabling disambiguation of mailboxes in environments where
multiple accounts are accessible through a single IMAP session.</t>

<t>The RENAME command now returns an OBJECTID response code containing
the identifiers of the renamed mailbox, which is new behavior not
present in <xref target="RFC8474"/>.</t>

<t>The OBJECTID SELECT/EXAMINE parameter is introduced, supporting
both activation of the OBJECTID+ extension and identifier-based
mailbox selection with fallback to the mailbox name.</t>

<t>An implicit activation model replaces mandatory ENABLE: OBJECTID+
is activated when the client uses any OBJECTID+-specific feature
(OBJECTID in SELECT, EXAMINE, FETCH, STATUS, or LIST RETURN, or
ENABLE OBJECTID+), with an untagged ENABLED response to signal
activation.</t>

<t>The OBJECTID FETCH data item provides EMAILID and THREADID in
compound form.  The OBJECTID STATUS attribute and the OBJECTID
LIST return option provide MAILBOXID and ACCOUNTID in compound
form.</t>

<t>The JMAPACCESS capability and GETJMAPACCESS command defined in
<xref target="RFC9698"/> are updated: when a server advertises both JMAPACCESS
and OBJECTID+, it additionally asserts that IMAP ACCOUNTIDs
correspond directly to JMAP accountIds.</t>

<t>Security considerations are added for account identifier exposure,
cross-account information leakage, JMAP authentication consistency,
and privacy in multi-tenant environments.</t>

<t>IANA registrations are updated to include the OBJECTID+ capability,
JMAPACCESS capability, OBJECTID response code, and the OBJECTID
LIST-EXTENDED return option and extended data item.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank the members of the IETF mailmaint
working group for their contributions to this specification.</t>

</section>
<section anchor="changes"><name>Changes</name>

<t>[[This section to be removed by RFC Editor]]</t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-08</strong></t>

<t><list style="symbols">
  <t>Allowed an empty identifier list in the OBJECTID parameter on
SELECT and EXAMINE (<xref target="select-objectid"/>), equivalent to the
parameter without arguments, so that a client can return an
empty compound OBJECTID response unchanged</t>
  <t>Specified how the OBJECTID parameter on SELECT and EXAMINE
matches a mailbox: unsupported keys are ignored, MAILBOXID is
required, a missing ACCOUNTID refers to the personal namespace,
and a mailbox that the client is not permitted to select by name
is never selected by identifier; added a corresponding security
consideration</t>
  <t>Specified that activation takes effect even if the activating
command fails (<xref target="activation"/>)</t>
  <t>Allowed the empty compound for \NoAccess names, in addition to
\Noselect and \NonExistent</t>
  <t>Required a distinct ACCOUNTID for mailboxes in a shared namespace
that is not owned by any user (<xref target="accountid"/>)</t>
  <t>Relaxed the requirement to include MAILBOXID for every selectable
mailbox to a <bcp14>SHOULD</bcp14>, keeping the <bcp14>MUST</bcp14> for mailboxes that are
visible through JMAP; for a mailbox that is not visible through
JMAP the server <bcp14>MAY</bcp14> omit all identifiers, but if it returns a
MAILBOXID it <bcp14>MUST</bcp14> also return an ACCOUNTID (<xref target="objectid-compound"/>, <xref target="accountid"/>)</t>
  <t>Specified that SEARCH EMAILID and THREADID with an ObjectID that
the server has not assigned to any message do not match any
messages, rather than returning an error</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-07</strong></t>

<t><list style="symbols">
  <t>Added the OBJECTID LIST return option and extended data item
(<xref target="list-objectid"/>), returning MAILBOXID and ACCOUNTID inline
in LIST responses, including \Noselect mailboxes, and required
in every unsolicited LIST response once OBJECTID+ is active;
requesting it activates OBJECTID+; added the corresponding ABNF, IANA
LIST-EXTENDED registrations, and a security consideration;
added RFC 5258 as a normative reference and RFC 5465 as an
informative reference</t>
  <t>Required in <xref target="objectid-compound"/> that a server supporting
MAILBOXID include it for every selectable mailbox, and that
ACCOUNTID be included wherever MAILBOXID is; allowed
the empty compound "OBJECTID ()" for \Noselect and \NonExistent
names in LIST and CREATE responses (for example
"CREATE noselect/")</t>
  <t>Added LIST to the mailbox-context lists in <xref target="objectid-compound"/>,
the extension overview, and the summary of changes from RFC 8474</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-06</strong></t>

<t><list style="symbols">
  <t>Required in <xref target="emailid"/> that all flags except \Recent and
\Deleted be identical across messages that share an EMAILID, with
a note that a server <bcp14>MAY</bcp14> assign a distinct EMAILID per message
(for example, from the {MAILBOXID, UID} pair) to avoid keeping
flags synchronized; added the <xref target="jmapaccess"/> subsection on how
this common flag set maps to the JMAP keywords of the
corresponding Email when JMAPACCESS and OBJECTID+ are both
advertised; added RFC 8621 as a normative reference</t>
  <t>Added implementation guidance that a server <bcp14>MUST NOT</bcp14> propagate a
\Deleted flag change to other messages sharing an EMAILID, to
avoid destroying the destination copy when a client moves a
message via COPY plus \Deleted plus EXPUNGE</t>
  <t>Editorial: reworded the MAILBOXID reuse requirement in
<xref target="mailboxid"/>, the ObjectID byte-value and length restrictions,
and the proxy ACCOUNTID guidance for aggregating backend servers
for readability</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-05</strong></t>

<t><list style="symbols">
  <t>Added <xref target="jmapaccess"/> subsection specifying how the per-message IMAP 
flags of messages sharing an EMAILID relate to the single JMAP 
keywords set of the corresponding Email when JMAPACCESS and 
OBJECTID+ are both advertised; added RFC 8621 as a normative 
reference and a cross-reference from the EMAILID note</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-04</strong></t>

<t><list style="symbols">
  <t>Unified wording for the empty compound "OBJECTID ()" across the
introduction and <xref target="objectid-compound"/> ("in the current context")</t>
  <t>Clarified in <xref target="objectid-compound"/> that the compound format is
used both by the server (in responses) and by the client (as
the argument to the OBJECTID parameter on SELECT/EXAMINE)</t>
  <t>Moved the "Relationship to Individual Attributes" content from
<xref target="objectid-compound"/> into the OBJECTID-capability interaction
section, scoping the equivalence to servers that advertise both
capabilities</t>
  <t>Added a paragraph to <xref target="accountid"/> describing how ACCOUNTID is
returned in compound OBJECTID responses, mirroring the
corresponding paragraph for MAILBOXID in <xref target="mailboxid"/></t>
  <t>Clarified the {name, uidvalidity, uid} triple in <xref target="emailid"/> as
{mailbox name, uidvalidity, uid}</t>
  <t>Added guidance in <xref target="select-objectid"/> on how clients can
determine the current name of a mailbox selected by identifier
after a rename (the OLDNAME extended data item from
Section 6.3.9.7 of <xref target="RFC9051"/> for IMAP4rev2; LIST plus OBJECTID
STATUS for IMAP4rev1)</t>
  <t>Aligned the CREATE response-code phrasing in <xref target="create-objectid"/>
with the RENAME phrasing in <xref target="rename-objectid"/>, dropping the
"instead of MAILBOXID" comparison</t>
  <t>Removed a duplicated LIST-STATUS example from
<xref target="status-objectid"/></t>
  <t>Restricted the formal-syntax capability production in
<xref target="objectid-syntax"/> to "OBJECTID+" only; "OBJECTID" remains
defined by <xref target="RFC8474"/></t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-03</strong></t>

<t><list style="symbols">
  <t>Relaxed uniqueness scope for MAILBOXID, EMAILID, and THREADID
from server-wide (<xref target="RFC8474"/>) to within a single ACCOUNTID</t>
  <t>Updated JMAPACCESS (<xref target="RFC9698"/>): when advertised with OBJECTID+,
server additionally asserts ACCOUNTID corresponds to JMAP accountId</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-02</strong></t>

<t><list style="symbols">
  <t>Extended SELECT/EXAMINE OBJECTID parameter to support ID-based
mailbox selection with fallback to mailbox name, following the
pattern established by <xref target="RFC9042"/></t>
  <t>Removed restatement of <xref target="RFC8474"/> behavior for MAILBOXID,
EMAILID, and THREADID; this document now references <xref target="RFC8474"/>
for base OBJECTID behavior and focuses on OBJECTID+ extensions</t>
  <t>Reduced introduction length</t>
  <t>Clients <bcp14>MUST</bcp14> ignore unrecognised key-value pairs in compound
OBJECTID responses (extensibility)</t>
  <t>ABNF objectid-key extended to allow future keys via atom</t>
  <t>Clarified COPY/MOVE EMAILID semantics: COPY/MOVE <bcp14>MAY</bcp14> create
new EMAILIDs; same EMAILID <bcp14>MUST</bcp14> have same content; same
content <bcp14>SHOULD</bcp14> have same EMAILID</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-01</strong></t>

<t><list style="symbols">
  <t>Replaced mandatory ENABLE with implicit activation model:
OBJECTID+ is activated when the client uses any
OBJECTID+-specific feature (OBJECTID in SELECT/FETCH/STATUS,
or ENABLE OBJECTID+)</t>
  <t>Changed compound OBJECTID format from positional with NIL to
key-value pairs where unsupported identifiers are omitted</t>
  <t>Removed ACCOUNTID from FETCH OBJECTID (redundant with SELECT)</t>
  <t>Removed standalone ACCOUNTID STATUS attribute, FETCH data item,
and SEARCH filter; ACCOUNTID is only available through compound
OBJECTID responses</t>
  <t>Added OBJECTID parameter for SELECT/EXAMINE as an activation
trigger</t>
  <t>MAILBOXID reverted to single objectid format in individual
items (compatible with RFC 8474)</t>
  <t>Renamed capability from OBJECTIDBIS to OBJECTID+</t>
  <t>Clarified that object identifiers only need to be unique within
the scope of a single ACCOUNTID; proxies <bcp14>MUST</bcp14> assign different
ACCOUNTIDs for different backends</t>
</list></t>

<t><strong>draft-ietf-mailmaint-imap-objectid-bis-00</strong></t>

<t><list style="symbols">
  <t>Initial version</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+19a3fbyJXg9/oVteo9J1KHlC1ZsmU5yY7aVqeV8aPXlifT
291nBiRBCTEJcABSMuN4fsv+lv1le59VtwCQkpPOZD+sz0lagoB63Lp134/h
cOiWxXKWn/qLV2ff+/OPy7xsiqr006r2b0Z/ysdLfzHJy2UxLfK6cdloVOc3
8vabb/5w/vzy4sWv3aQal9kcRpnU2XQ5LPLldDjPihn8r4Rf59liWNFgxWQ4
KprhwxPXrEbzosG5LtcLnP/88ls3zpb5VVWvT32znLjVYgK/N6f+7bfPHx0/
PBjgD08fHssPj5+euGrUVLNcXzo5enLkikV96pf1qlkePnz49OGh+5Cvb6t6
AlOUy7wu8+XwBa7SNcusnPxbNqtKmH6dNw7e+nBVV6vFqQ+Ld4vi1P+4rMYD
31T1ss6nDfy0nuMPPzuXrZbXVX3q/NB5+FeUsJBv9v3vq3Jym5UZPWTIfFMD
VJPnVX116r/NmiVORk8UusnDBibNl6f+ZX6Tz/zhwB8cHPk/FrNZkc39uyW9
My6WALNX+WxUrWCH9KzOrwC4p/5fLp77Rw8fPuQXq1W5RPieAXzqDMagxznO
dupHsMarf5rK7Ms8m++Pqzm9saoBDtfL5aI5ffDg9vZ2X9/iN8z2X+37F7n/
fV6WWV0ZALzKVnXV/hPB4N0ym91m9dK/zEaNf/nyeQKM5K8JRA4ePXzqn1fT
aZ6X/uwmL1f5wL9bFcvcHxzqhgky767zuphkZQKYP/4gIJnA6k4OTx4epCB6
/+7MAmeO6/+nBlezD8vpQiX+yZVVPc+WxU1+Sq8J/gZE1odHR48fn+oP+vD4
8NHRqf4QHx4/PtUfzMMTfXgSHp4cPD3VH/Th45Njnh1/0Id4W+K10YePDx+e
6g/m4YE+DJ/jRTzVH8JDuJSn4Xbqkg4e85v4g3NFOe2AB7Z6eKo/BPAcHPJD
/CE8fHRwfKo/hIePj3ha/CFMe/SY38QfAiQOjnnT+IM+fPLoyZNT/SHuT5aE
P4SHxyd8DviDc8PhEPAUb9IYTv3yumg8kMLVHAimn+TToswbv7zOI6X0eUJh
kYwO/O11Mb6OpMx/+iSH8vnzvjffAjmqq8lqDK9kgKbzBWDqJPzd1XmzqMom
9wxemBj+bwSvzOADJr++iLQch6s8EMfhTTZb5W6RFTXQtgyu0vPnb96/hiHN
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
GA7crokB2iNg1jnlfPNe2W1bYjhBXS1qDKjkU89LCUsKXJP8nngR5PRXsxb9
UcQzqg0FUm/Ot9aUmM0RioZMSfxsImpE21W4/YZSPXoYKBV//ACLte7ci9Sc
nDx6OhlnB4fDR/n0ZHiUPTkcjh4/mgyPj6ZP85PsoJ/yHI6On06fTo9alAdW
cgfleV0tNTNbouV7XGhG5MZccM1rzq5QvLbyYRRkkN1o5kysHCD8hIAShLdr
0vB7QDrQpETSGjTmnTM+XCf8ZD+1Z73V2/RcorE0We/TV+3SEH9zoFiSy3aH
mTdkFMJrIaswpohTWBWJ0tPVTJesMWIRLQ2yqUcbiD4d+Ubc+uUkHotFsIQj
XcIoq3EJR/dZwuNHx4dZ/vDRcPRkejw8evxoPDx5+ng6nJyMYJb80Zct4ViX
YC4cLuX4Pkv52+9c61KJ9pienlVjiIhxdH5PeiTVCRTyEwz7Ceck00swjF8D
i83q8TUmW6L9EwPkkIRayzhBR6OnfcgWFLXLKq9JGp/bmvS4wYoVkfOxHksp
8z3AQ3ncOpQuALdfZImc/PRVu4TL/7sXuRXsud+JMi9T4UZMfybiT9VHDi6J
mq/iB8MiRKY0NjvJhBWLhTGiMXDdaAjpZKclkpWQX9K7XJwz5g+F6ZqgIrcT
j2SGBOob/JYbNIx+QGxdhARk6O5GeKIAD3QKWaemIzdd1mNqEUd4O5MmMeT0
sKRuUpGm+PSyO2cfG6sVLBFdagM9q2DKy2/bCaskaKPGIBkLodyJMbpJFgNy
6UU1K8ZrK+3gn2YCuEFiTFHMmpj7faJohyqRQBtv+Ml/MRNKbQV02kOFjO4l
rebZcAUiu5mDR7ob4GNA6ciu875BkzCf/D4838HtHdyLyWZPnowP84Onw5Oj
yaPh0ejhdPg0Bybz+Mlkejw+yb6Uq1iieBYiqxGBRXz99FW7SFHLOdap7pGU
Gtpc2zLE42sWe8ukmVxPLSsDI9eFEZx3Q1EQcrOntUgwUuwdJWKeRh6z49xb
XqBi/OadbKid5Ta76fqEqcda+gnxeVfBuNFgRo9lKfTF39vQpMwzYgau+omu
GvG2vWpZHv3p7yuS0YRPuss70eUZ2WzTMpNX/s5i216gVK2L9ndy7puKGR3s
3VQy0VpeUHEeyqeU97il0iS2l9DQVwyd03w5ZkgyiAqmqJ2PNB7LRlyQqh7r
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
cpUf8lW+KAvKxUKhn+L2/y/CHgPT6PwAAA==

-->

</rfc>

