<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.4 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dweekly-wrong-recipient-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title abbrev="Wrong Recipient">Adding a Wrong Recipient URL for Handling Misdirected Emails</title>
    <seriesInfo name="Internet-Draft" value="draft-dweekly-wrong-recipient-01"/>
    <author fullname="David Weekly">
      <organization>Capital One</organization>
      <address>
        <email>david@weekly.org</email>
      </address>
    </author>
    <date year="2024" month="January" day="03"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 37?>

<t>This document describes a mechanism for an email recipient to indicate that
they are not the intended recipient of an email, providing that signal back
to the originating mail server.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dweekly.github.io/ietf-wrong-recipient/draft-dweekly-wrong-recipient.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dweekly-wrong-recipient/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dweekly/ietf-wrong-recipient"/>.</t>
    </note>
  </front>
  <middle>
    <?line 43?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Email recipients today have no clear option as to how to best signal to a
provider that they are not the correct recipient of an email. This is a
different issue than either an unsubscription request from a mailing list
or reporting an email as spam, since the service itself may be a valid
sender attempting to reach some user for a valid purpose, but the sender
may have inadvertently recorded the wrong email address either due to
user error or data entry error.</t>
      <t>There is collective benefit to all parties if a service is able to detect
when an email address is incorrect for a user; the intended recipient,
the service, and the inadvertent recipient all prefer correct delivery.</t>
      <t>Consequently, there ought be a mechanism whereby a service can indicate
it has an endpoint to indicate a "wrong recipient" of an email. If this
header field is present in an email message, the user can select an option to
indicate that they are not the intended recipient.</t>
      <t>Similar to one-click unsubscription <xref target="RFC8058"/>, the mail service can
perform this action in the background as an HTTPS POST to the provided
URL without requiring the user's further attention to the matter.</t>
      <t>Since it's possible the user may have a separate valid account with the
sending service, it may be important that the sender be able to tie
<em>which</em> email was sent to the wrong recipient. For this reason, the
sender may also include an opaque blob in the header field to specify the
account ID referenced in the email; this is included in the POST.</t>
      <t>Note that this kind of misdelivery shouldn't be possible if a service
has previously verified the user's email address.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="high-level-goals">
      <name>High-Level Goals</name>
      <t>Allow a recipient to stop receiving emails intended for someone else.</t>
      <t>Allow a service to discover when they have the wrong email for a user.</t>
    </section>
    <section anchor="out-of-scope">
      <name>Out of Scope</name>
      <t>This document does not propose a mechanism for automatically discovering
whether a given user is the correct recipient of an email, though it is
possible to use some of the signals in an email, such as the intended
recipient name, to infer a possible mismatch between actual and intended
recipients.</t>
    </section>
    <section anchor="implementation">
      <name>Implementation</name>
      <section anchor="mail-senders-when-sending">
        <name>Mail Senders When Sending</name>
        <t>Mail Senders that wish to be notified when a misdelivery has occurred
<bcp14>SHOULD</bcp14> include a Wrong-Recipient header field with an HTTPS URI to which the
recipient's mail client can POST. If this header field is included, the mail
sender <bcp14>MUST</bcp14> ensure this endpoint is valid.</t>
        <t>The sender <bcp14>MUST</bcp14> encode a mapping to the underlying account identifier
in the URI in order to allow the service to know which of their users
has an incorrect email.</t>
      </section>
      <section anchor="mail-recipients">
        <name>Mail Recipients</name>
        <t>When a mail client receives an email that includes a Wrong-Recipient
header field, an option <bcp14>SHOULD</bcp14> be exposed in the user interface that allows
a recipient to indicate that the mail was intended for another user.</t>
        <t>If the user selects this option, the mail client <bcp14>MUST</bcp14> perform an
HTTPS POST to the URI in the Wrong-Recipient header field.</t>
      </section>
      <section anchor="mail-senders-after-wrong-sender-notification">
        <name>Mail Senders After Wrong Sender Notification</name>
        <t>When a misdelivery has been indicated by a POST to the HTTPS URI, the
sender <bcp14>MUST</bcp14> make a reasonable effort to cease emails to the indicated
email address for that user account.</t>
        <t>Any GET request to this URI <bcp14>MUST</bcp14> be ignored, since anti-spam software
may attempt a GET request to URIs mentioned in mail headers.</t>
        <t>The sender <bcp14>SHOULD</bcp14> make a best effort to attempt to discern a correct
email address for the user account. How the sender should accomplish
this task is not part of this specification.</t>
      </section>
    </section>
    <section anchor="additional-requirements">
      <name>Additional Requirements</name>
      <t>The email needs at least one valid authentication identifier.  In
this version of the specification the only supported identifier type
is DKIM <xref target="RFC7489"/>, that provides a domain-level identifier in the
content of the "d=" tag of a validated DKIM-Signature header field.</t>
      <t>The Wrong-Recipient header field needs to be included in the "h=" tag of a
valid DKIM-Signature header field.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>Header in Email</t>
      <artwork><![CDATA[
Wrong-Recipient: <https://example.com/wrong-recipient?uid=12345&email=user@example.org>
]]></artwork>
      <t>Resulting POST request</t>
      <artwork><![CDATA[
POST /wrong-recipient?uid=12345&email=user@example.org HTTP/1.1
Host: example.com
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Wrong-Recipient header field will contain the recipient address, but
that is already exposed in other header fields like To:.</t>
      <t>The user ID of the recipient with the sending service may be exposed
by the Wrong-Recipient URI, which may not be desired but a sender
may use an opaque blob to perform a mapping to a user ID on their
end without leaking any information to outside parties.</t>
      <t>A bad actor with access to the user's email could maliciously
indicate the recipient was a Wrong Recipient with any services that
used this protocol, causing mail delivery and potentially account
access difficulties for the user.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA will be requested to add a new entry to the "Permanent Message Header Field
Names" registry.</t>
      <artwork><![CDATA[
Header field name: Wrong-Recipient
Protocol: mail
Status: Provisional
Author/Change controller: IETF
Specification document(s): *** This document ***
Related information: none
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8058">
          <front>
            <title>Signaling One-Click Functionality for List Email Headers</title>
            <author fullname="J. Levine" initials="J." surname="Levine"/>
            <author fullname="T. Herkula" initials="T." surname="Herkula"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes a method for signaling a one-click function for the List-Unsubscribe email header field. The need for this arises out of the actuality that mail software sometimes fetches URLs in mail header fields, and thereby accidentally triggers unsubscriptions in the case of the List-Unsubscribe header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8058"/>
          <seriesInfo name="DOI" value="10.17487/RFC8058"/>
        </reference>
        <reference anchor="RFC7489">
          <front>
            <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
              <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
              <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7489"/>
          <seriesInfo name="DOI" value="10.17487/RFC7489"/>
        </reference>
      </references>
    </references>
    <?line 197?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to John Levine, Oliver Deighton, and Murray Kucherawy for their
kind and actionable feedback on the language and proposal. Thanks to
Eliot Lear for helping guide the draft to the right hands for review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
CfyXi9rVjkQDQSrzGE40CNHbofgvHj04UBobAAA=

-->

</rfc>
