<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-lanov-email-retention-period-00

-->
<?xml-model href="rfc7991bis.rnc"?>

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

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-lanov-email-retention-period-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- 
    * docName should be the name of your draft
    * category should be one of std, bcp, info, exp, historic
    * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
    * updates can be an RFC number as NNNN
    * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="Abbreviated Title">Email Retention Extensions</title>

    <seriesInfo name="Internet-Draft" value="draft-lanov-email-retention-period-00"/>
   
    <author fullname="Dennis Lanov" initials="D." role="editor" surname="Lanov">
      
    <!-- all of the following elements are optional -->
      <organization>Cisco Systems</organization>
	  <address>
        <email>dennis.lanov@gmail.com</email> 
		</address>
    </author>
   
    <date year="2024" month="9" day="19"/>

    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    
    <keyword>Email Expiration</keyword>

    <abstract>
      <t>This document proposes extensions to the SMTP, IMAP, POP3, and MIME protocols to introduce a standard mechanism for email retention period management.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
    <!-- The default attributes for <section> are numbered="true" and toc="default" -->
      <name>Introduction</name>
      <t>
        Email protocols such as SMTP <xref target="RFC5321"/>, IMAP <xref target="RFC9051"/>, POP3 <xref target="RFC1939"/>, and MIME <xref target="RFC2045"/> are widely used for the transmission, retrieval, and management of email messages. However, there is no native support for managing the retention period of emails across these protocols. This document introduces extensions that define a unified mechanism for setting and managing a retention period for email messages. The retention period defines a point in time after which the email message or its content should be removed or marked inaccessible.
      </t>
      <t>
        This proposal builds on previous work, such as <xref target="RFC2156"/>
                and 
        <xref target="I-D.ietf-mailmaint-expires"/>
        that extended the "Expires" header to email. However, our proposal goes further by specifying not only de-emphasizing or hiding messages but also enabling the automatic removal of email after the retention period, extending this capability to cover multiple protocols (SMTP, IMAP, POP3, MIME) and making it enforceable across servers and clients.
      </t>
      
      <section anchor="requirements">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" 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>
      </section>
    </section>
    <section anchor="smtp-retention-period-header">
      <name>SMTP Retention Period Header</name>
	  <section>
        <name>Overview</name>
          <t>An SMTP header, <tt>RETENTION</tt>, is introduced to specify the retention period for an email message at the time of sending. This enables the server to know when the message should be deleted or marked inaccessible after the defined retention period.</t>
	  </section>
	  <section>
        <name>SMTP Retention Header Format</name>
			<t>Example of SMTP Retention Header</t>
			<sourcecode name="smtp_retention" type="yang" markers="false">
<![CDATA[Retention: Sun, 15 Sep 2024 12:00:00 GMT]]>
			</sourcecode>
	  </section>
	  <section>
        <name>SMTP Extension Definition</name>
			<t>The client includes the <tt>Retention</tt> header during the <tt>MAIL FROM</tt> phase of SMTP.</t>
			<t>SMTP servers MUST respect this header and act upon the email when the retention period is reached by deleting or rendering it inaccessible.</t>
			<t>Servers not supporting this extension MAY ignore the <tt>Retention</tt> header, but SHOULD provide a notification of non-compliance.</t>
	  </section>
    </section>
    <section anchor="imap-retention-period-command">
<name>IMAP Retention Period Command</name>
<section>
<name>Overview</name>
<t>IMAP servers and clients need a mechanism to retrieve and act on email retention periods. The <tt>EXPIRE</tt> capability is added to IMAP, allowing clients to fetch retention information.</t>
</section>
	  <section>
        <name>IMAP Command</name>
            <t>A new IMAP command, <tt>FETCH RETENTION</tt>, allows clients to query the retention period.</t>
			<t>Example of IMAP FETCH RETENTION command</t>
			<sourcecode name="imap_retention" type="yang" markers="false">
            <![CDATA[
Client requests: A001 FETCH 1 (RETENTION)
Server responds: 
* 1 FETCH (RETENTION "Sun, 15 Sep 2024 12:00:00 GMT")
]]>
		</sourcecode>
	  </section>
	  <section>
        <name>IMAP Server Behavior</name>
			<t>IMAP servers MUST enforce retention periods, deleting or archiving messages as appropriate after the specified retention time.</t>
			<t>Servers SHOULD allow clients to query the retention status of a message and notify users when a message has expired.</t>
	  </section>
    </section>
    
	
    <section anchor="pop3-retention-period-command">
      <name>POP3 Retention Period Command</name>
	  <section>
        <name>Overview</name>
			<t>The <tt>X-RETENTION</tt> command is introduced for POP3 servers to support retention period retrieval.</t>
	  </section>
	  <section>
        <name>POP3 Command</name>
			<t>The <tt>X-RETENTION</tt> command allows POP3 clients to request the retention period for a message.</t>
			<t>Example of POP3 X-RETENTION command</t>
			<sourcecode name="pop3_retention" type="yang" markers="false">
			<![CDATA[
Client requests: X-RETENTION 1
Server responds: 
+OK Retention date: Sun, 15 Sep 2024 12:00:00 GMT
			]]>
			</sourcecode>
	  </section>
	  <section>
        <name>POP3 Server Behavior</name>
			<t>POP3 servers MUST delete or archive messages that have exceeded their retention period and SHOULD notify clients of this status.</t>
	  </section>
    </section>
	
    <section anchor="mime-retention-period-header">
      <name>MIME Retention Period Header</name>
	  <section>
        <name>Overview</name>
			<t>To extend retention period management to multimedia content, a new MIME header, <tt>Retention</tt>, is introduced, which defines when email content (attachments, body text) should be removed or made inaccessible.</t>
	  </section>
	  <section>
        <name>MIME Header Extension</name>
			<t>Example of MIME Retention Header</t>
			<sourcecode name="mime_retention" type="yang" markers="false">
			<![CDATA[
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Retention: Sun, 15 Sep 2024 12:00:00 GMT
			]]>
			</sourcecode>
	  </section>
	  <section>
        <name>MIME Processing Behavior</name>
			<t>Clients and servers MUST enforce the removal of content based on the <tt>Retention</tt> header.</t>
	  </section>
    </section>
	
   
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests IANA register the <tt>Retention</tt> header for MIME and the SMTP <tt>RETENTION</tt> extension in the appropriate registries.</t>
    </section>
    
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The retention period introduces potential risks if critical messages are deleted prematurely. Implementers should ensure compliance with legal and regulatory requirements, such as data retention policies in healthcare (HIPAA) or financial sectors (SEC Rule 17a-4), and ensure appropriate handling of retention for sensitive data.</t>
    </section>
    
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
<reference anchor="RFC5321" target="https://www.rfc-editor.org/info/rfc5321">
<front>
<title>Simple Mail Transfer Protocol</title>
<author fullname="J. Klensin" initials="J." surname="Klensin"/>
<date month="October" year="2008"/>
<abstract>
<t>This document is a specification of the basic protocol for Internet electronic mail transport. It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete. It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions. Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a "mail submission" protocol for "split-UA" (User Agent) mail reading systems and mobile environments. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5321"/>
<seriesInfo name="DOI" value="10.17487/RFC5321"/>
</reference>

<reference anchor="RFC9051" target="https://www.rfc-editor.org/info/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="RFC1939" target="https://www.rfc-editor.org/info/rfc1939">
<front>
<title>Post Office Protocol - Version 3</title>
<author fullname="J. Myers" initials="J." surname="Myers"/>
<author fullname="M. Rose" initials="M." surname="Rose"/>
<date month="May" year="1996"/>
<abstract>
<t>The Post Office Protocol - Version 3 (POP3) is intended to permit a workstation to dynamically access a maildrop on a server host in a useful fashion. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="STD" value="53"/>
<seriesInfo name="RFC" value="1939"/>
<seriesInfo name="DOI" value="10.17487/RFC1939"/>
</reference>
  
  
<reference anchor="RFC2045" target="https://www.rfc-editor.org/info/rfc2045">
<front>
<title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
<author fullname="N. Freed" initials="N." surname="Freed"/>
<author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
<date month="November" year="1996"/>
<abstract>
<t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="2045"/>
<seriesInfo name="DOI" value="10.17487/RFC2045"/>
</reference>
  
  
<reference anchor="I-D.ietf-mailmaint-expires" target="https://datatracker.ietf.org/doc/html/draft-ietf-mailmaint-expires-00">
<front>
<title>Updated Use of the Expires Message Header Field</title>
<author fullname="Benjamin BILLON" initials="B." surname="BILLON">
<organization>Splio</organization>
</author>
<author fullname="John R. Levine" initials="J. R." surname="Levine">
<organization>Standcore LLC</organization>
</author>
<date day="12" month="August" year="2024"/>
<abstract>
<t>This document allows broader use of the Expires message header field for mail messages. Message creators can then indicate when a message expires, while recipients would use this information to handle an expired message differently.</t>
</abstract>
</front>
<seriesInfo name="Internet-Draft" value="draft-ietf-mailmaint-expires-00"/>
</reference>

<reference anchor="RFC2156" target="https://www.rfc-editor.org/info/rfc2156">
<front>
<title>MIXER (Mime Internet X.400 Enhanced Relay): Mapping between X.400 and RFC 822/MIME</title>
<author fullname="S. Kille" initials="S." surname="Kille"/>
<date month="January" year="1998"/>
<abstract>
<t>This document relates primarily to the ITU-T 1988 and 1992 X.400 Series Recommendations / ISO IEC 10021 International Standard. This ISO/ITU-T standard is referred to in this document as "X.400", which is a convenient shorthand. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="2156"/>
<seriesInfo name="DOI" value="10.17487/RFC2156"/>
</reference>

      </references>
  
      <references>
        <name>Informative References</name>
       
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <!-- Manually added reference -->
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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" target="https://www.rfc-editor.org/info/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>
    
 </back>
</rfc>
