<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-art-tigress-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Tigress">Transfer Digital Credentials Securely</title>
    <seriesInfo name="Internet-Draft" value="draft-art-tigress-04"/>
    <author initials="D." surname="Vinokurov" fullname="Dmitry Vinokurov">
      <organization>Apple Inc</organization>
      <address>
        <email>dvinokurov@apple.com</email>
      </address>
    </author>
    <author initials="Y." surname="Karandikar" fullname="Yogesh Karandikar">
      <organization>Apple Inc</organization>
      <address>
        <email>ykarandikar@apple.com</email>
      </address>
    </author>
    <author initials="M." surname="Lerch" fullname="Matthias Lerch">
      <organization>Apple Inc</organization>
      <address>
        <email>mlerch@apple.com</email>
      </address>
    </author>
    <author initials="A." surname="Pelletier" fullname="Alex Pelletier">
      <organization>Apple Inc</organization>
      <address>
        <email>a_pelletier@apple.com</email>
      </address>
    </author>
    <author initials="N." surname="Sha" fullname="Nick Sha">
      <organization>Alphabet Inc</organization>
      <address>
        <email>nicksha@google.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="10"/>
    <area>Applications and Real-Time</area>
    <workgroup>Transfer dIGital cREdentialS Securely</workgroup>
    <keyword>tigress</keyword>
    <keyword>requirements</keyword>
    <abstract>
      <?line 95?>

<t>Digital Credentials allow users to access Homes, Cars or Hotels using their mobile devices. Once a user has a Credential on a device, sharing it to others is a natural use case. This document describes a sharing flow that allows convenient and seamless user experience, similar to sharing other digital assets like photos or documents. The sharing process should be secure and private. This document also defines a new transport to meet unique requirements of sharing a Credential.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://datatracker.ietf.org/doc/draft-art-tigress/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-art-tigress/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transfer dIGital cREdentialS Securely Working Group mailing list (<eref target="mailto:tigress@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tigress/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tigress/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dimmyvi/tigress"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Mobile devices with ever increasing computational power and security capabilities are enabling various use cases. One such category includes use of mobile devices to gain access to a property that a user owns or rents or is granted access to. The cryptographic material and other data required to enable this use case is termed as Digital Credential. The process of getting a Digital Credential on a mobile device is termed as Provisioning.</t>
      <t>Based on type of property, various public or proprietary standards govern details of Digital Credentials used to access them. These sets of standards are termed as Verticals. The details include policies, mechanism and practices to create, maintain and use Digital Credentials and vary considerably across Verticals.</t>
      <t>Once a user has a Digital Credential for some Vertical provisioned on their mobile device, next natural use case is to share it with others. Sharing a Credential should feel like a natural extension of regular communication methods (like instant messaging, sms, email). The user experience of sharing a Credential should be intuitive, similar to sharing other digital assets like photos or documents. The sharing process should be secure and privacy preserving.</t>
      <t>Credentials pose two requirements that differ from sharing other digital assets. The Initiator and Recipient devices may need to communicate back and forth to get the necessary Provisioning Information. The Provisioning information exchange must be limited to Initiator device and the first Recipient device to claim the information.</t>
      <t>To achieve these goals, a new transport is necessary. This document specifies an Application Programming Interface(API) for a transport protocol built using standard HTTP [RFC9110] to create such a transport termed as Relay Server. The document also defines data in JSON standard [RFC8259] to enable a uniform user experience for securely sharing Digital Credentials of various types.</t>
    </section>
    <section anchor="conventions-definitions">
      <name>Conventions &amp; 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 anchor="general-terms">
        <name>General Terms</name>
        <ul spacing="normal">
          <li>
            <t>Digital Credential (or simply Credential) - Cryptographic material and other data used to authorize User with an access point. The cryptographic material can also be used for mutual authentication between user device and access point.</t>
          </li>
          <li>
            <t>Digital Credential Vertical (or simply Vertical) - The public or proprietary standards that that define details of Digital Credentials for type of property accessed. The details include policy, process and mechanism to create, maintain and use Digital Credentials in the given Vertical.</t>
          </li>
          <li>
            <t>Provisioning - A process of adding a new Digital Credential to the device.</t>
          </li>
          <li>
            <t>Provisioning Entity - An entity that facilitates creation, update and termination (Lifecycle Management) of the Credential. Based on Vertical, the role of Provisioning Entity may be played by various actors in various stages of Credential lifecycle.</t>
          </li>
          <li>
            <t>Provisioning Information - data transferred from Initiator to Recipient that is both necessary and sufficient for the Recipient to Provision a Credential.</t>
          </li>
          <li>
            <t>Initiator - User and their device initiating a transfer of Provisioning Information to a Recipient.</t>
          </li>
          <li>
            <t>Recipient - User and their device that receives Provisioning Information and uses it to provision a new Credential.</t>
          </li>
          <li>
            <t>Relay Server - an intermediary server that provides a standardized and platform-independent way of transferring Provisioning Information between Initiator and Recipient, acting as a temporary store and forward service.</t>
          </li>
          <li>
            <t>Secret - a symmetric encryption key shared between an Initiator and Recipient device. It is used to encrypt Provisioning Information stored on the Relay server.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="overview-of-sharing-process">
      <name>Overview of Sharing Process</name>
      <section anchor="some-example-use-cases">
        <name>Some Example Use Cases</name>
        <ul spacing="normal">
          <li>
            <t>Amit owns a car that supports Digital Credentials. Being a tech enthusiast, he has the Credential provisioned on his mobile device. Amit can now use his mobile device to lock/unlock and operate his car. One Monday he is out of town and realizes that his car needs to be moved for street cleaning. He asks his neighbor Bob for help via their favorite instant messaging method. As Bob agrees, Amit shares the Digital Credential to Bob via the next instant message. Bob accepts the Credential and uses his mobile device to unlock Amit's car and drive it to the other side of street.</t>
          </li>
          <li>
            <t>Alice booked a room at a hotel that supports Digital Credentials. Being a frequent traveller, she has the Digital Credential provisioned on her mobile device. As her flight gets delayed, she realizes that her partner Bakari will reach the hotel first. So she shares the Digital Credential with him over email. Bakari sees the email after his flight lands and he accepts the shared Credential. On his arrival to the hotel, Bakari is able to access common areas and their room using his mobile device.</t>
          </li>
        </ul>
      </section>
      <section anchor="credential-sharing-flow">
        <name>Credential Sharing Flow</name>
        <t>A simplified sharing flow is shown in the sequence diagram below. Initiator (User) uses their device to share a Credential over their preferred communication method. Recipient User accepts the Credential share invitation. Then the two devices go back and forth as necessary to transfer Provisioning Information. After the Provisioning Information transfer is complete Recipient device gets the Credential Provisioned.</t>
        <artset>
          <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="529px" preserveAspectRatio="none" version="1.1" viewBox="0 0 926 529" width="926px">
              <defs/>
              <g>
                <rect fill="none" height="136.9966" width="608" x="169.5" y="293.6099" stroke="#000000" stroke-width="1.5"/>
                <line x1="54" x2="54" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="238.5" x2="238.5" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="468" x2="468" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="703.5" x2="703.5" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="872" x2="872" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="5" y="79.0752">Initiator User</text>
                <ellipse cx="54" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M54,21.5 L54,48.5 M41,29.5 L67,29.5 M54,48.5 L41,63.5 M54,48.5 L67,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="5" y="460.6816">Initiator User</text>
                <ellipse cx="54" cy="472.1211" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M54,480.1211 L54,507.1211 M41,488.1211 L67,488.1211 M54,507.1211 L41,522.1211 M54,507.1211 L67,522.1211 " fill="none" stroke="black" stroke-width="0.5"/>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="179.5" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="186.5" y="71.0752">Initiator Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="179.5" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="186.5" y="467.6816">Initiator Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="417" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="424" y="71.0752">Relay Server</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="417" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="424" y="467.6816">Relay Server</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="640.5" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="647.5" y="71.0752">Recipient Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="640.5" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="647.5" y="467.6816">Recipient Device</text>
                <text fill="black" font-family="sans-serif" font-size="14" x="819" y="79.0752">Recipient User</text>
                <ellipse cx="872" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M872,21.5 L872,48.5 M859,29.5 L885,29.5 M872,48.5 L859,63.5 M872,48.5 L885,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="819" y="460.6816">Recipient User</text>
                <ellipse cx="872" cy="472.1211" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M872,480.1211 L872,507.1211 M859,488.1211 L885,488.1211 M872,507.1211 L859,522.1211 M872,507.1211 L885,522.1211 " fill="none" stroke="black" stroke-width="0.5"/>
                <polygon fill="black" points="227,109.814,237,113.814,227,117.814,231,113.814" stroke="black" stroke-width="1.0"/>
                <line x1="54" x2="233" y1="113.814" y2="113.814" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="61" y="109.0845">Initiate Credential Share</text>
                <polygon fill="black" points="456,139.6133,466,143.6133,456,147.6133,460,143.6133" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="462" y1="143.6133" y2="143.6133" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="138.8838">upload Provisioning Information</text>
                <polygon fill="black" points="692,185.2119,702,189.2119,692,193.2119,696,189.2119" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="698" y1="189.2119" y2="189.2119" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="168.6831">Invitation to accept Credential</text>
                <text fill="black" font-family="sans-serif" font-size="13" x="251" y="184.4824">over IM, sms, email etc</text>
                <polygon fill="black" points="715,215.0112,705,219.0112,715,223.0112,711,219.0112" stroke="black" stroke-width="1.0"/>
                <line x1="709" x2="871" y1="219.0112" y2="219.0112" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="721" y="214.2817">accept the Credential</text>
                <polygon fill="black" points="479,244.8105,469,248.8105,479,252.8105,475,248.8105" stroke="black" stroke-width="1.0"/>
                <line x1="473" x2="703" y1="248.8105" y2="248.8105" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="485" y="244.0811">request Provisioning Information</text>
                <polygon fill="black" points="692,274.6099,702,278.6099,692,282.6099,696,278.6099" stroke="black" stroke-width="1.0"/>
                <line x1="468" x2="698" y1="278.6099" y2="278.6099" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="475" y="273.8804">deliver Provisioning Information</text>
                <path d="M169.5,293.6099 L245.5,293.6099 L245.5,301.4092 L235.5,311.4092 L169.5,311.4092 L169.5,293.6099 " fill="white" stroke="#000000" stroke-width="1.5"/>
                <rect fill="none" height="136.9966" width="608" x="169.5" y="293.6099" stroke="#000000" stroke-width="1.5"/>
                <text fill="black" font-family="sans-serif" font-size="13" font-weight="bold" x="184.5" y="307.6797">loop</text>
                <text fill="black" font-family="sans-serif" font-size="11" font-weight="bold" x="260.5" y="306.6689">[Additional Data if Required]</text>
                <polygon fill="black" points="479,329.2085,469,333.2085,479,337.2085,475,333.2085" stroke="black" stroke-width="1.0"/>
                <line x1="473" x2="703" y1="333.2085" y2="333.2085" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="485" y="328.479">additional data request</text>
                <polygon fill="black" points="250,359.0078,240,363.0078,250,367.0078,246,363.0078" stroke="black" stroke-width="1.0"/>
                <line x1="244" x2="467" y1="363.0078" y2="363.0078" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="256" y="358.2783">Forward request</text>
                <polygon fill="black" points="456,388.8071,466,392.8071,456,396.8071,460,392.8071" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="462" y1="392.8071" y2="392.8071" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="388.0776">additional data response</text>
                <polygon fill="black" points="692,418.6064,702,422.6064,692,426.6064,696,422.6064" stroke="black" stroke-width="1.0"/>
                <line x1="468" x2="698" y1="422.6064" y2="422.6064" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="475" y="417.877">forward response</text>
                <!--SRC=[VP3FQiCm38VlVWhHS_S2EGp6mY27GR7PRHTXAwl0jJFPpTZRpqxpRuFk9bkVVlfij3aA7Bh0cR6MRuda09Y0ozM99CMW1fJCbWSCUO-sDBAb2UxQtv0cZzzWICOvJPk_GAcOIhbBqQt2cy_MNds4xAoZDZLuU2ox6vYb29w5N1bZz63EAAIwjZBQD70TV4G79uaZ9uw1mqUPwwDSC9VZGavf8-Vf4d84j9Q6l4j-3n3Bkw1xFKAwf2FG1Ta3PQjMoLiKDCjqFk_Tb5wjX3wlbF9zBMqMBKUUwzwxg8znW2Vdk9xA3xIO4RW7NNPmMQu0jiMuSQvoiqXbpFAjBr6-KDokr_qpduOO4gq1LRbV0-Oc1QT-0000]-->
  </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[            ┌─┐                                                                                                                      ┌─┐      
            ║"│                                                                                                                      ║"│      
            └┬┘                                                                                                                      └┬┘      
            ┌┼┐                                                                                                                      ┌┼┐      
             │                 ┌────────────────┐                 ┌────────────┐                  ┌────────────────┐                  │       
            ┌┴┐                │Initiator Device│                 │Relay Server│                  │Recipient Device│                 ┌┴┐      
      Initiator User           └───────┬────────┘                 └─────┬──────┘                  └───────┬────────┘           Recipient User 
            │ Initiate Credential Share│                                │                                 │                          │        
            │ ─────────────────────────>                                │                                 │                          │        
            │                          │                                │                                 │                          │        
            │                          │ upload Provisioning Information│                                 │                          │        
            │                          │ ───────────────────────────────>                                 │                          │        
            │                          │                                │                                 │                          │        
            │                          │                  Invitation to accept Credential                 │                          │        
            │                          │                   over IM, sms, email etc                        │                          │        
            │                          │ ─────────────────────────────────────────────────────────────────>                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │                                 │   accept the Credential  │        
            │                          │                                │                                 │ <─────────────────────────        
            │                          │                                │                                 │                          │        
            │                          │                                │ request Provisioning Information│                          │        
            │                          │                                │ <────────────────────────────────                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │ deliver Provisioning Information│                          │        
            │                          │                                │ ────────────────────────────────>                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │                                 │                          │        
            │        ╔═══════╤═════════╪════════════════════════════════╪═════════════════════════════════╪══════════════════╗       │        
            │        ║ LOOP  │  Additional Data if Required             │                                 │                  ║       │        
            │        ╟───────┘         │                                │                                 │                  ║       │        
            │        ║                 │                                │     additional data request     │                  ║       │        
            │        ║                 │                                │ <────────────────────────────────                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │         Forward request        │                                 │                  ║       │        
            │        ║                 │ <───────────────────────────────                                 │                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │    additional data response    │                                 │                  ║       │        
            │        ║                 │ ───────────────────────────────>                                 │                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │                                │         forward response        │                  ║       │        
            │        ║                 │                                │ ────────────────────────────────>                  ║       │        
            │        ╚═════════════════╪════════════════════════════════╪═════════════════════════════════╪══════════════════╝       │        
      Initiator User           ┌───────┴────────┐                 ┌─────┴──────┐                  ┌───────┴────────┐           Recipient User 
            ┌─┐                │Initiator Device│                 │Relay Server│                  │Recipient Device│                 ┌─┐      
            ║"│                └────────────────┘                 └────────────┘                  └────────────────┘                 ║"│      
            └┬┘                                                                                                                      └┬┘      
            ┌┼┐                                                                                                                      ┌┼┐      
             │                                                                                                                        │       
            ┌┴┐                                                                                                                      ┌┴┐      
]]></artwork>
        </artset>
      </section>
      <section anchor="things-to-note">
        <name>Things to note</name>
        <ul spacing="normal">
          <li>
            <t>Initiator User and Recipient user may not be online at the same time.</t>
          </li>
          <li>
            <t>Users can pick any communication method for delivering invitation. Most communication methods have a goal to provide secure and private communication, but those properties can not be taken for granted.</t>
          </li>
          <li>
            <t>Once a Recipient User accepts the Invitation from a device, only that Recipient device <bcp14>SHALL</bcp14> get the Provisioning Information.</t>
          </li>
          <li>
            <t>Verticals may define a second factor to authenticate a Digital Credential Provisioned via sharing. The mechanisms and policies around the second factor are Vertical dependent and out of scope of this design.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="design-details">
      <name>Design Details</name>
      <ul spacing="normal">
        <li>
          <t>Initiator device composes Provisioning Information and encrypts it with a Secret before storing it in a mailbox on Relay Server</t>
        </li>
        <li>
          <t>Initiator Device calls CreateMailbox API endpoint on a Relay server in order to create a mailbox. A unique Mailbox Identifier is generated by the Relay server using a good source of entropy (preferably hardware-based entropy).</t>
        </li>
        <li>
          <t>Initiator device generates a unique token - an Initiator Device Claim - and stores it to the mailbox. Device Claim allows the Initiator Device presenting it to read and write data to / from the mailbox, thus binding it to the mailbox.</t>
        </li>
        <li>
          <t>A mailbox has limited lifetime configured with mandatory "expiration" parameter in mailboxConfiguration. When expired, the mailbox <bcp14>SHALL</bcp14> be deleted - refer to DeleteMailbox endpoint.  Relay server <bcp14>SHALL</bcp14> be responsible to periodically check for mailboxes that are past the expiration time and delete them.</t>
        </li>
        <li>
          <t>Relay server builds a unique URL link to a mailbox (for example, “https://relayserver.example.com/v1/m/1234567890”) and returns it to the Initiator Device. This link is sent as invitation to Recipient Device over communication method preferred by users.</t>
        </li>
        <li>
          <t>Recipient Device, having obtained both the URL link and the Secret, is ready to read the mailbox upon user action. It generates a unique token - a Recipient Device Claim - and presents it to the Relay server to read the mailbox. The Recipient Device Claim binds the Recipient device to the mailbox.</t>
        </li>
        <li>
          <t>Relay server only allows bound devices to read or write data to the mailbox or to delete the mailbox. Note that a Relay Server may host multiple mailboxes at the same time, each bound to various pairs of Initiator and Recipient Devices. Relay Server <bcp14>SHALL</bcp14> not be able to relate the devices across various mailboxes.</t>
        </li>
        <li>
          <t>Initiator Device or Recipient Device may delete the mailbox using the DeleteMailbox API call.</t>
        </li>
        <li>
          <t>Initiator and Recipient Devices can also deposit an optional notification token for the mailbox with the Relay Server. Relay Server can notify Initiator and Recipient devices when other side has deposited data in mailbox that is ready to be read. This improves user experience over polling mechanism that the devices would have to use otherwise.</t>
        </li>
      </ul>
      <artset>
        <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="1110px" preserveAspectRatio="none" version="1.1" viewBox="0 0 1111 1110" width="1111px">
            <defs/>
            <g>
              <line x1="54" x2="54" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="347.5" x2="347.5" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="648" x2="648" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="887.5" x2="887.5" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="1057" x2="1057" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="5" y="79.0752">Initiator User</text>
              <ellipse cx="54" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M54,21.5 L54,48.5 M41,29.5 L67,29.5 M54,48.5 L41,63.5 M54,48.5 L67,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="5" y="1042.4673">Initiator User</text>
              <ellipse cx="54" cy="1053.9067" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M54,1061.9067 L54,1088.9067 M41,1069.9067 L67,1069.9067 M54,1088.9067 L41,1103.9067 M54,1088.9067 L67,1103.9067 " fill="none" stroke="black" stroke-width="0.5"/>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="288.5" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="295.5" y="71.0752">Initiator Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="288.5" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="295.5" y="1049.4673">Initiator Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="597" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="604" y="71.0752">Relay Server</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="597" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="604" y="1049.4673">Relay Server</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="824.5" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="831.5" y="71.0752">Recipient Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="824.5" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="831.5" y="1049.4673">Recipient Device</text>
              <text fill="black" font-family="sans-serif" font-size="14" x="1004" y="79.0752">Recipient User</text>
              <ellipse cx="1057" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M1057,21.5 L1057,48.5 M1044,29.5 L1070,29.5 M1057,48.5 L1044,63.5 M1057,48.5 L1070,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="1004" y="1042.4673">Recipient User</text>
              <ellipse cx="1057" cy="1053.9067" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M1057,1061.9067 L1057,1088.9067 M1044,1069.9067 L1070,1069.9067 M1057,1088.9067 L1044,1103.9067 M1057,1088.9067 L1070,1103.9067 " fill="none" stroke="black" stroke-width="0.5"/>
              <polygon fill="black" points="336,125.6133,346,129.6133,336,133.6133,340,129.6133" stroke="black" stroke-width="1.0"/>
              <line x1="54" x2="342" y1="129.6133" y2="129.6133" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="61" y="109.0845">Share this Credential with Recipient User</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="66" y="124.8838">over communication method m_1</text>
              <path d="M208,142.6133 L208,183.6133 L487,183.6133 L487,152.6133 L477,142.6133 L208,142.6133 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M477,142.6133 L477,152.6133 L487,152.6133 L477,142.6133 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="214" y="160.6831">Create and encrypt Provisioning</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="214" y="176.4824">Info message_1 encrypted with Secret</text>
              <polygon fill="black" points="636,222.8105,646,226.8105,636,230.8105,640,226.8105" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="226.8105" y2="226.8105" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="206.2817">CreateMailbox</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="222.0811">(With DeviceClaim and Notification token)</text>
              <polygon fill="black" points="359,252.6099,349,256.6099,359,260.6099,355,256.6099" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="256.6099" y2="256.6099" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="251.8804">URL link to mailbox</text>
              <polygon fill="black" points="876,298.2085,886,302.2085,876,306.2085,880,302.2085" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="882" y1="302.2085" y2="302.2085" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="281.6797">URL link and Secret</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="360" y="297.479">over preferred communication method m_1</text>
              <polygon fill="black" points="899,328.0078,889,332.0078,899,336.0078,895,332.0078" stroke="black" stroke-width="1.0"/>
              <line x1="893" x2="1056" y1="332.0078" y2="332.0078" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="905" y="327.2783">Accept the Credential</text>
              <polygon fill="black" points="659,373.6064,649,377.6064,659,381.6064,655,377.6064" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="377.6064" y2="377.6064" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="357.0776">ReadSecureContentFromMailbox</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="670" y="372.877">(With DeviceClaim)</text>
              <polygon fill="black" points="876,403.4058,886,407.4058,876,411.4058,880,407.4058" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="407.4058" y2="407.4058" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="402.6763">encrypted info</text>
              <path d="M692,420.4058 L692,445.4058 L1084,445.4058 L1084,430.4058 L1074,420.4058 L692,420.4058 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M1074,420.4058 L1074,430.4058 L1084,430.4058 L1074,420.4058 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="698" y="438.4756">Decrypt with Secret to get Provisioning Info message_1</text>
              <path d="M761,456.2051 L761,497.2051 L1014,497.2051 L1014,466.2051 L1004,456.2051 L761,456.2051 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M1004,456.2051 L1004,466.2051 L1014,466.2051 L1004,456.2051 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="767" y="474.2749">Generate Provision Info message_2</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="767" y="490.0742">encrypted with Secret</text>
              <polygon fill="black" points="659,520.603,649,524.603,659,528.603,655,524.603" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="524.603" y2="524.603" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="519.8735">UpdateMailbox(encrypted info)</text>
              <polygon fill="black" points="876,550.4023,886,554.4023,876,558.4023,880,554.4023" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="554.4023" y2="554.4023" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="549.6729">OK</text>
              <polygon fill="black" points="359,580.2017,349,584.2017,359,588.2017,355,584.2017" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="584.2017" y2="584.2017" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="579.4722">Push Notification</text>
              <polygon fill="black" points="636,610.001,646,614.001,636,618.001,640,614.001" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="614.001" y2="614.001" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="609.2715">ReadSecureContentFromMailbox</text>
              <polygon fill="black" points="359,639.8003,349,643.8003,359,647.8003,355,643.8003" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="643.8003" y2="643.8003" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="639.0708">encrypted info</text>
              <path d="M161,656.8003 L161,681.8003 L534,681.8003 L534,666.8003 L524,656.8003 L161,656.8003 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M524,656.8003 L524,666.8003 L534,666.8003 L524,656.8003 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="167" y="674.8701">Decrypt with Secret to get Provision Info message_2</text>
              <path d="M211,692.5996 L211,733.5996 L484,733.5996 L484,702.5996 L474,692.5996 L211,692.5996 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M474,692.5996 L474,702.5996 L484,702.5996 L474,692.5996 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="217" y="710.6694">Update with Provision Info message_3</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="217" y="726.4688">encrypted with Secret</text>
              <polygon fill="black" points="636,756.9976,646,760.9976,636,764.9976,640,760.9976" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="760.9976" y2="760.9976" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="756.2681">UpdateMailbox(encrypted info)</text>
              <polygon fill="black" points="359,786.7969,349,790.7969,359,794.7969,355,790.7969" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="790.7969" y2="790.7969" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="786.0674">OK</text>
              <polygon fill="black" points="876,816.5962,886,820.5962,876,824.5962,880,820.5962" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="820.5962" y2="820.5962" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="815.8667">Push Notification</text>
              <polygon fill="black" points="659,846.3955,649,850.3955,659,854.3955,655,850.3955" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="850.3955" y2="850.3955" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="845.666">ReadSecureContentFromMailbox</text>
              <polygon fill="black" points="876,876.1948,886,880.1948,876,884.1948,880,880.1948" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="880.1948" y2="880.1948" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="875.4653">encrypted info</text>
              <path d="M593,893.1948 L593,918.1948 L943,918.1948 L943,903.1948 L933,893.1948 L593,893.1948 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M933,893.1948 L933,903.1948 L943,903.1948 L933,893.1948 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="599" y="911.2646">Decrypt with Secret for Provision Info message_3</text>
              <polygon fill="black" points="659,941.7935,649,945.7935,659,949.7935,655,945.7935" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="945.7935" y2="945.7935" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="941.064">DeleteMailbox</text>
              <polygon fill="black" points="876,971.5928,886,975.5928,876,979.5928,880,975.5928" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="975.5928" y2="975.5928" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="970.8633">OK</text>
              <path d="M782,988.5928 L782,1013.5928 L993,1013.5928 L993,998.5928 L983,988.5928 L782,988.5928 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M983,988.5928 L983,998.5928 L993,998.5928 L983,988.5928 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="788" y="1006.6626">Finish Credential Provisioning</text>
              <!--SRC=[bPH1J-Cm48Nl_XKZJY3j7c1lFI2jYa08TXUrglQ2X8mpRKOaTkIuPVdtEucRs0ukXLlgFhzvyyqaKZbZuUHMaoFPFQvQj2SWMo0-wdw8Hbf7YXgfNIoymXqfxANZOQfTO2NVO8bsjxVi3wOQVYBanyXlF1JInmkgCPv5rQSJGqxuVXc2m0oMfRG8hgGMvXOBlaooWbTo9QHsZneC9mHbwdghIKb7HaEDhZG5r4_dGcZZq6j2fz2vIZwNkW3Kohur3XwisL7BrqblM76hruQDsbPkyEbyK67XKonHMNG2-NvNG8Jmt4cFQhQlyKjIzMp-mQC-_TlTzAZcbQIwB__RE5eFmPrvGNqcXASVGvd1Qd4F5UaN5a7jJSMqxXvD9EvA-B0mi6eihj4orW-exIUKkF9SVYg5ZCgL6CsbYpj8GlSBb0KNtbgS6-tulsjhwW03tj4u2rr7ZGJkn0E9nnaM3TZ6pp2QJOTfW-bO9qCDuplaUuCQRRSeeqjgSS6Q8vkHOxDgYh0PfscBUGn_xl9ByR1josI5H7OLFnf6rdU2FVyIVORwb5T0dlVqQBpb0PCVnw5d8NoIUaGXeHvDuptrhxu1NzvrLdyxkl9hxlSWj00d5_OAAnpX75p1_5jopPzn1X9zgPDlwLZuFm00]-->
  </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[            ┌─┐                                                                                                                                             ┌─┐      
            ║"│                                                                                                                                             ║"│      
            └┬┘                                                                                                                                             └┬┘      
            ┌┼┐                                                                                                                                             ┌┼┐      
             │                                 ┌────────────────┐                           ┌────────────┐               ┌────────────────┐                  │       
            ┌┴┐                                │Initiator Device│                           │Relay Server│               │Recipient Device│                 ┌┴┐      
      Initiator User                           └───────┬────────┘                           └─────┬──────┘               └───────┬────────┘           Recipient User 
            │ Share this Credential with Recipient User│                                          │                              │                          │        
            │  over communication method m_1           │                                          │                              │                          │        
            │ ─────────────────────────────────────────>                                          │                              │                          │        
            │                                          │                                          │                              │                          │        
            │                       ╔══════════════════╧═══════════════════╗                      │                              │                          │        
            │                       ║Create and encrypt Provisioning      ░║                      │                              │                          │        
            │                       ║Info message_1 encrypted with Secret  ║                      │                              │                          │        
            │                       ╚══════════════════╤═══════════════════╝                      │                              │                          │        
            │                                          │ CreateMailbox                            │                              │                          │        
            │                                          │ (With DeviceClaim and Notification token)│                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │            URL link to mailbox           │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                 URL link and Secret      │                              │                          │        
            │                                          │                  over preferred communication method m_1                │                          │        
            │                                          │ ────────────────────────────────────────────────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │                              │   Accept the Credential  │        
            │                                          │                                          │                              │ <─────────────────────────        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │ ReadSecureContentFromMailbox │                          │        
            │                                          │                                          │  (With DeviceClaim)          │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │        encrypted info        │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │  ╔═══════════════════════════╧══════════════════════════╧═╗      
            │                                          │                                          │  ║Decrypt with Secret to get Provisioning Info message_1 ░║      
            │                                          │                                          │  ╚═══════════════════════════╤══════════════════════════╤═╝      
            │                                          │                                          │             ╔════════════════╧══════════════════╗       │        
            │                                          │                                          │             ║Generate Provision Info message_2 ░║       │        
            │                                          │                                          │             ║encrypted with Secret              ║       │        
            │                                          │                                          │             ╚════════════════╤══════════════════╝       │        
            │                                          │                                          │ UpdateMailbox(encrypted info)│                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              OK              │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │             Push Notification            │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │       ReadSecureContentFromMailbox       │                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │              encrypted info              │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                ╔═════════════════════════╧═══════════════════════════╗              │                              │                          │        
            │                ║Decrypt with Secret to get Provision Info message_2 ░║              │                              │                          │        
            │                ╚═════════════════════════╤═══════════════════════════╝              │                              │                          │        
            │                       ╔══════════════════╧═══════════════════╗                      │                              │                          │        
            │                       ║Update with Provision Info message_3 ░║                      │                              │                          │        
            │                       ║encrypted with Secret                 ║                      │                              │                          │        
            │                       ╚══════════════════╤═══════════════════╝                      │                              │                          │        
            │                                          │       UpdateMailbox(encrypted info)      │                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                    OK                    │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │       Push Notification      │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │ ReadSecureContentFromMailbox │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │        encrypted info        │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                 ╔════════╧══════════════════════════════╧══════════╗               │        
            │                                          │                                 ║Decrypt with Secret for Provision Info message_3 ░║               │        
            │                                          │                                 ╚════════╤══════════════════════════════╤══════════╝               │        
            │                                          │                                          │         DeleteMailbox        │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              OK              │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              ╔═══════════════╧════════════════╗         │        
            │                                          │                                          │              ║Finish Credential Provisioning ░║         │        
      Initiator User                           ┌───────┴────────┐                           ┌─────┴──────┐       ╚════════════════════════════════╝   Recipient User 
            ┌─┐                                │Initiator Device│                           │Relay Server│               │Recipient Device│                 ┌─┐      
            ║"│                                └────────────────┘                           └────────────┘               └────────────────┘                 ║"│      
            └┬┘                                                                                                                                             └┬┘      
            ┌┼┐                                                                                                                                             ┌┼┐      
             │                                                                                                                                               │       
            ┌┴┐                                                                                                                                             ┌┴┐      
]]></artwork>
      </artset>
      <section anchor="api-parameters">
        <name>API parameters:</name>
        <ul spacing="normal">
          <li>
            <t>Device Claim - a unique token allowing the caller to read from / write data to the mailbox. Exactly one Initiator Device and one Recipient Device <bcp14>SHOULD</bcp14> be able to read from / write secure payload to the mailbox. Initiator Device provides a Device Claim in order to create a mailbox. When the Relay server, having received a request from the Initiator Device, creates a mailbox, it binds this Initiator's Device Claim to the mailbox. When the Recipient Device first reads data from the mailbox it presents its Device Claim to the Relay Server, which binds the mailbox to the given Recipient Device. Thus, both Initiator and Recipient devices are bound to the mailbox (allowed to read from / write to it). Only Initiator and Recipient devices that present valid Device Claims are allowed to send subsequent read/update/delete calls to the mailbox. The value <bcp14>SHALL</bcp14> be a unique UUID <xref target="RFC4122"/>. Initiator and Recipient <bcp14>MUST</bcp14> use different values for Device Claim. Implementation <bcp14>SHOULD</bcp14> assign unique values for new mailboxes (avoid re-using values).</t>
          </li>
          <li>
            <t>Notification Token - a short or long-lived unique token stored by the Initiator or Recipient Device in a mailbox on the Relay server, which allows Relay server to send a push notification to the Initiator or Recipient Device, informing them of updates in the mailbox.</t>
          </li>
          <li>
            <t>MailboxIdentifier - a unique identifier for the given mailbox, generated by the Relay server at the time of mailbox creation. The value is a UUID <xref target="RFC4122"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="provisioning-information-structure">
        <name>Provisioning Information Structure</name>
        <t>The Provisioning Information is the data transferred via the Relay Server between the Initiator Device and Recipient Device. Each use case defines its own specialized Provisioning Information format, but all formats must at least adhere to the following structure. Formats are free to define new top level keys, so clients shouldn't be surprised if a message of an unexpected format has specialized top level keys.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Type</th>
              <th align="left">Required</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">format</td>
              <td align="left">String</td>
              <td align="left">Yes</td>
              <td align="left">The Provisioning Information format that the message follows. This is used by the Initiator Device and Recipient Device to know how to parse the message.</td>
            </tr>
            <tr>
              <td align="left">content</td>
              <td align="left">Dictionary</td>
              <td align="left">Yes</td>
              <td align="left">A dictionary of content to be used for the credential transfer. See each format's specification for exact fields.</td>
            </tr>
          </tbody>
        </table>
        <section anchor="provisioning-information-format">
          <name>Provisioning Information Format</name>
          <t>Each Provisioning Information format must have the message structure defined in an external specification.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Format Type</th>
                <th align="left">Spec Link</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">digitalwallet.carkey.ccc</td>
                <td align="left">
                  <xref target="CCC-Digital-Key-30"/></td>
                <td align="left">A digital wallet Provisioning Information for sharing a car key that follows the Car Connectivity Consortium specification.</td>
              </tr>
              <tr>
                <td align="left">digitalwallet.generic.authorizationToken</td>
                <td align="left">
                  <xref target="ISO-18013-5"/></td>
                <td align="left">A digital wallet Provisioning Information for sharing a generic pass that relies solely on an authorization token.</td>
              </tr>
            </tbody>
          </table>
          <figure anchor="provisioning-info-format">
            <name>Provisioning Information format</name>
            <artwork><![CDATA[
{
   "format" : "digitalwallet.carkey.ccc",
   "content": {
      // Format specific fields
   }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="provisioning-information-encryption">
          <name>Provisioning Information Encryption</name>
          <t>Provisioning Information will be stored on the Relay Server encrypted. The Secret used to encrypt the Provisioning Information should be given to the Recipient Device via a "Share URL" (a URL link to a mailbox). The encrypted payload should be a data structure having the following key-value pairs:</t>
          <ul spacing="normal">
            <li>
              <t>"type" (String, Required) - the encryption algorithm and mode used.</t>
            </li>
            <li>
              <t>"data" (String, Required) - Base64 encoded binary value of the encrypted Provisioning Information, aka the ciphertext.</t>
            </li>
          </ul>
          <t>Please refer to <xref target="RFC5116"/> for the details of the encryption algorithm.</t>
          <t>The following algorithms and modes are mandatory to implement:</t>
          <ul spacing="normal">
            <li>
              <t>"AEAD_AES_128_GCM": AES symmetric encryption algorithm with key length 128 bits, in GCM mode with no padding.  Initialization Vector (IV) has the length of 96 bits randomly generated and tag length of 128 bits.</t>
            </li>
            <li>
              <t>"AEAD_AES_256_GCM": AES symmetric encryption algorithm with key length 256 bits, in GCM mode with no padding.  Initialization Vector (IV) has the length of 96 bits randomly generated and tag length of 128 bits.</t>
            </li>
          </ul>
          <figure anchor="secure-payload-format">
            <name>Secure Payload Format example</name>
            <artwork><![CDATA[
{
    "type" : "AEAD_AES_128_GCM",
    "data" : "IV  ciphertext  tag"
}
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="share-url">
        <name>Share URL</name>
        <t>A "Share URL" is the url a Initiator Device sends to the Recipient Device allowing it to retrieve the Provisioning Information stored on the Relay Server. A Share URL is made up of the following fields:</t>
        <figure anchor="share-url-example">
          <name>Share URL example</name>
          <artwork><![CDATA[
https://{RelayServerHost}/v{ApiVersion}/m/{MailboxIdentifier}?v={CredentialVertical}#{Secret}
]]></artwork>
        </figure>
        <table>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Location</th>
              <th align="left">Required</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">RelayServerHost</td>
              <td align="left">URL Host</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">ApiVersion</td>
              <td align="left">URI Path Parameter</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">MailboxIdentifier</td>
              <td align="left">URI Path Parameter</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">CredentialVertical</td>
              <td align="left">Query Parameter</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Secret</td>
              <td align="left">Fragment</td>
              <td align="left">No</td>
            </tr>
          </tbody>
        </table>
        <section anchor="credential-vertical-in-share-url">
          <name>Credential Vertical in Share URL</name>
          <t>When a user interacts with a share URL on a Recipient Device it can be helpful to know what Credential Vertical this share is for. This is particularly important if the Recipient Device has multiple applications that can handle a share URL. For example, a Recipient Device might want to handle a general access share in their wallet app, but handle car key shares in a specific car application.</t>
          <t>To properly route a share URL, the Initiator can include the Credential Vertical in the share URL as a query parameter. The Credential Vertical can't be included in the encrypted payload because the Recipient Device might need to open the right application before retrieving the secure payload. The Credential Vertical query parameter uses the "v" key and supports the below types. If no Credential Vertical is provided it will be assumed that this is a general access share URL.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Vertical</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">General Access</td>
                <td align="left">a or <em>None</em></td>
              </tr>
              <tr>
                <td align="left">Home Key</td>
                <td align="left">h</td>
              </tr>
              <tr>
                <td align="left">Car Key</td>
                <td align="left">c</td>
              </tr>
            </tbody>
          </table>
          <figure anchor="car-key-share-url-example">
            <name>Car Key Share URL example</name>
            <artwork><![CDATA[
https://relayserver.example.com/v1/m/2bba630e-519b-11ec-bf63-0242ac130002?v=c#hXlr6aRC7KgJpOLTNZaLsw==
]]></artwork>
          </figure>
          <t>The Credential Vertical query parameter can be added to the share URL by the Initiator Device when constructing the full share URL that is going to be sent to the Recipient Device.</t>
        </section>
      </section>
    </section>
    <section anchor="api-connection-details">
      <name>API connection details</name>
      <t>The Relay server API endpoint <bcp14>MUST</bcp14> be accessed over HTTP using an https URI <xref target="RFC2818"/> and <bcp14>SHOULD</bcp14> use the default https port.
Request and response bodies <bcp14>SHALL</bcp14> be formatted as either JSON or HTML (based on the API endpoint). The communication protocol used for all interfaces <bcp14>SHALL</bcp14> be HTTPs.
All Strings <bcp14>SHOULD</bcp14> be UTF-8 encoded (Unicode Normalization Form C (NFC)).
An API version <bcp14>SHOULD</bcp14> be included in the URI for all interfaces. The version at the time of this document's latest update is v1. The version <bcp14>SHALL</bcp14> be incremented by 1 for major API changes or backward incompatible iterations on existing APIs.</t>
    </section>
    <section anchor="http-headers">
      <name>HTTP Headers</name>
      <section anchor="mailbox-request-id">
        <name>Mailbox-Request-ID</name>
        <t>All requests to and from Relay server will have an HTTP header "Mailbox-Request-ID". The corresponding response to the API will have the same HTTP header, which <bcp14>SHALL</bcp14> echo the value in the request header. This is used to identify the request associated to the response for a particular API request and response pair. The value <bcp14>SHOULD</bcp14> be a UUID <xref target="RFC4122"/>.
The request originator <bcp14>SHALL</bcp14> match the value of this header in the response with the one sent in the request. If response is not received, caller may retry sending the request with the same value of "Mailbox-Request-ID".
Relay server <bcp14>SHOULD</bcp14> store the value of the last successfully processed "Mailbox-Request-ID" for each device based on the caller's Device Claim.
A key-value pair of "Device Claim" to "Mailbox-Request-ID" is suggested to store the last successfully processed request for each device.
In case of receiving a request with duplicated "Mailbox-Request-ID", Relay <bcp14>SHOULD</bcp14> respond to the caller with status code 201, ignoring the duplicate request body content.</t>
      </section>
      <section anchor="mailbox-device-claim">
        <name>Mailbox-Device-Claim</name>
        <t>All requests to CreateMailbox, ReadSecureContentFromMailbox and UpdateMailbox endpoints <bcp14>MUST</bcp14> contain this header. The value represents "Device Claim" (refer to Terminology)</t>
      </section>
      <section anchor="mailbox-device-attestation">
        <name>Mailbox-Device-Attestation</name>
        <t>Request to CreateMailbox <bcp14>MAY</bcp14> contain this header. The value represents a Device Attestation (String, Optional) - optional remote OEM device proprietary attestation data</t>
      </section>
    </section>
    <section anchor="http-access-methods">
      <name>HTTP access methods</name>
      <section anchor="createmailbox">
        <name>CreateMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to create a mailbox and store secure data content to it (encrypted data specific to a provisioning partner). MailboxIdentifier is created by the Relay server as an UUID <xref target="RFC4122"/>, using cryptographic entropy. A URL to the created mailbox to be returned to the caller in the response.</t>
        <section anchor="endpoint">
          <name>Endpoint</name>
          <t>POST  /{version}/m</t>
        </section>
        <section anchor="request-parameters">
          <name>Request Parameters:</name>
          <t>Path parameters</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
          </ul>
          <t>Header parameters</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="consumes">
          <name>Consumes</name>
          <t>This API call consumes the following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="produces">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>application/json</tt></t>
        </section>
        <section anchor="request-body">
          <name>Request body</name>
          <t>Request body is a complex structure, including the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>payload (Object, Required) - for the purposes of Tigress API, this is a data structure, describing Provisioning Information specific to Credential Provider. It consists of the following 2 key-value pairs:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>"type": "AEAD_AES_128_GCM" (refer to Encryption Format section).</t>
                </li>
                <li>
                  <t>"data": BASE64-encoded binary value of ciphertext.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>displayInformation (Object, Required) - for the purposes of the Tigress API, this is a data structure. It allows an application running on a receiving device to build a visual representation of the credential to show to user.
The data structure contains the following fields:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>title (String, Required) - the title of the credential (e.g. "Car Key")</t>
                </li>
                <li>
                  <t>description (String, Required) - a brief description of the credential (e.g. "a key to my personal car")</t>
                </li>
                <li>
                  <t>imageURL (String, Required) - a link to a picture representing the credential visually.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>notificationToken (Object, Optional) - optional notification token used to notify an appropriate remote device that the mailbox data has been updated. Data structure includes the following (if notificationToken is provided it should include both fields):
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>type (String, Required) - notification token name. Used to define which Push Notification System to be used to notify appropriate remote device of a mailbox data update. (E.g. "com.apple.apns" for APNS)</t>
                </li>
                <li>
                  <t>tokenData (String, Required) - notification token data (data encoded based on specific device OEM notification service rules - e.g. HEX-encoded or Base64-encoded) - application-specific - refer to appropriate Push Notification System specification.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>mailboxConfiguration (Object, Optional) - optional mailbox configuration, defines access rights to the mailbox, mailbox expiration time. Required at the time of the mailbox creation. OEM device may provide this data in the request, Relay server shall define a default configuration, if it is not provided in the incoming request. Data structure includes the following:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>accessRights (String, Optional) - optional access rights to the mailbox for Initiator and  Recipient devices. Default access to the mailbox is Read and Delete.
Value is defined as a combination of the following values: "R" - for read access, "W" - for write access, "D" - for delete access. Example" "RD" - allows to read from the mailbox and delete it.</t>
                </li>
                <li>
                  <t>expiration (String, Required) - Mailbox expiration time in "YYYY-MM-DDThh:mm:ssZ" format (UTC time zone) <xref target="RFC3339"/>. Mailbox has limited livetime. Once expired, it <bcp14>SHALL</bcp14> be deleted - refer to DeleteMailbox endpoint. Relay server <bcp14>SHOULD</bcp14> periodically check for expired mailboxes and delete them.</t>
                </li>
              </ol>
            </li>
          </ul>
          <figure anchor="apple-push-token">
            <name>Apple Push Token Example</name>
            <artwork><![CDATA[
{
   "notificationToken": {
        "type":"com.apple.apns",
        "tokenData":"APNS1234...QW"
    }
}
]]></artwork>
          </figure>
          <figure anchor="create-mailbox-request">
            <name>Create Mailbox Request Example</name>
            <artwork><![CDATA[
{
    "displayInformation" : {
        "title" : "Hotel Pass",
        "description" : "Some Hotel Pass",
        "imageURL" : "https://example.com/sharingImage"
    },
    "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "notificationToken" : {
        "type" : "com.apple.apns",
        "tokenData" : “APNS...1234"
    },
    "mailboxConfiguration" : {
        "accessRights" : "RWD",
        "expiration" : "2022-02-08T14:57:22Z"
    }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="responses">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody:</t>
          <ul spacing="normal">
            <li>
              <t>urlLink (String, Required) - a full URL link to the mailbox including fully qualified domain name and mailbox Identifier. Refer to "Share URL" section for details.</t>
            </li>
            <li>
              <t>isPushNotificationSupported (boolean, Required) - indicates whether push notification is supported or not. The device uses this field to decide whether it should listen on the push topic or do long-polling.</t>
            </li>
          </ul>
          <figure anchor="create-mailbox-response">
            <name>Create Mailbox Response Example</name>
            <artwork><![CDATA[
{
    "urlLink":"https://relayserver.example.com/m/12345678-9...A-BCD",
    "isPushNotificationSupported":true
}
]]></artwork>
          </figure>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicated request (duplicated "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicated requests with 201 without creating a new mailbox. "Mailbox-Request-ID" passed in the first CreateMailbox request's header <bcp14>SHOULD</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicated requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not create a new mailbox, but respond with 201 instead. The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHOULD</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>400</tt>
Bad Request - invalid request has been passed (can not parse or required fields missing).</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to create a mailbox. E.g. a device presented an invalid device claim or device attestation.</t>
        </section>
      </section>
      <section anchor="updatemailbox">
        <name>UpdateMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to update secure data content in an existing mailbox (encrypted data specific to a Provisioning Partner). The update effectively overwrites the secure payload previously stored in the mailbox.</t>
        <section anchor="endpoint-1">
          <name>Endpoint</name>
          <t>PUT  /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-1">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="consumes-1">
          <name>Consumes</name>
          <t>This API call consumes the following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="produces-1">
          <name>Produces</name>
          <t>This API call produces following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="request-body-1">
          <name>Request body</name>
          <t>Request body is a complex structure, including the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>payload (Object, Required) - for the purposes of Tigress API, this is a data structure, describing Provisioning Information specific to Credential Provider. It consists of the following 2 key-value pairs:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>"type": "AEAD_AES_128_GCM" (refer to Encryption Format section).</t>
                </li>
                <li>
                  <t>"data": BASE64-encoded binary value of ciphertext.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>notificationToken (Object, Optional) - optional notification token used to notify an appropriate remote device that the mailbox data has been updated. Data structure includes the following (if notificationToken is provided it should include both fields):
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>type (String, Required) - notification token name. Used to define which Push Notification System to be used to notify appropriate remote device of a mailbox data update. (E.g. "com.apple.apns" for APNS)</t>
                </li>
                <li>
                  <t>tokenData (String, Required) - notification token data (data encoded based on specific device OEM notification service rules - e.g. HEX-encoded or Base64-encoded) - application-specific - refer to appropriate Push Notification System specification.</t>
                </li>
              </ol>
            </li>
          </ul>
          <figure anchor="update-mailbox-request">
            <name>Update Mailbox Request Example</name>
            <artwork><![CDATA[
{
     "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "notificationToken":{
        "type" : "com.apple.apns",
        "tokenData" : “APNS...1234"
    }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="responses-1">
          <name>Responses</name>
          <t>ResponseBody:</t>
          <ul spacing="normal">
            <li>
              <t>isPushNotificationSupported (boolean, Required) - indicates whether push notification is supported or not. The device uses this field to decide whether it should listen on the push topic or do long-polling.</t>
            </li>
          </ul>
          <figure anchor="update-mailbox-response">
            <name>Create Mailbox Response Example</name>
            <artwork><![CDATA[
{
    "isPushNotificationSupported":true
}
]]></artwork>
          </figure>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicate request (duplicate "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicate requests with 201 without performing mailbox update. "Mailbox-Request-ID" passed in the first UpdateMailbox request's header <bcp14>SHALL</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicate requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not perform mailbox update, but respond with 201 instead.
The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHALL</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>400</tt>
Bad Request - invalid request has been passed (can not parse or required fields missing).</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to update the mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="deletemailbox">
        <name>DeleteMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to close the existing mailbox after it served its purpose. Recipient or Initiator Device needs to present a Device Claim in order to close the mailbox.</t>
        <section anchor="endpoint-2">
          <name>Endpoint</name>
          <t>DELETE /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-2">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="responses-2">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to delete a mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found. Relay server may respond with 404 if the Mailbox Identifier passed by the caller is invalid or mailbox has already been deleted (as a result of duplicate DeleteMailbox request).</t>
        </section>
      </section>
      <section anchor="readdisplayinformationfrommailbox">
        <name>ReadDisplayInformationFromMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to retrieve public display information content from a mailbox. Display Information shall be returned in OpenGraph format (please refer to https://ogp.me for details).
OpenGraph-formatted display information is required to display a preview of credential in a messaging application, e.g. iMessage or WhatsApp.</t>
        <section anchor="endpoint-3">
          <name>Endpoint</name>
          <t>GET /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-3">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required)- the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="produces-2">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>text/html</tt></t>
        </section>
        <section anchor="responses-3">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody :</t>
          <ul spacing="normal">
            <li>
              <t>displayInformation (Object, Required) - visual representation of digital credential in OpenGraph format (please refer to https://ogp.me for details).</t>
            </li>
          </ul>
          <figure anchor="read-display-information-response">
            <name>Read Display Information Response Example</name>
            <artwork><![CDATA[
    "<html prefix="og: https://ogp.me/ns#">
     <head>
     <title>Hotel Pass</title>
     <meta property="og:title" content="Hotel Pass" />
     <meta property="og:type" content="image/jpeg" />
     <meta property="og:description" content="Some Hotel Pass" />
     <meta property="og:url" content="share://" />
     <meta property="og:image" content="https://example.com/photos/photo.jpg" />
     <meta property="og:image:width" content="612" />
     <meta property="og:image:height" content="408" /></head>
     </html>"
]]></artwork>
          </figure>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="readsecurecontentfrommailbox">
        <name>ReadSecureContentFromMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to retrieve secure payload content from a mailbox (encrypted data specific to a Provisioning Information Provider).</t>
        <section anchor="endpoint-4">
          <name>Endpoint</name>
          <t>POST /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-4">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>MAilbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="produces-3">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>application/json</tt></t>
        </section>
        <section anchor="responses-4">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody :</t>
          <ul spacing="normal">
            <li>
              <t>payload (String, Required) - for the purposes of Tigress API, this is a JSON metadata blob, describing Provisioning Information specific to Credential Provider.</t>
            </li>
            <li>
              <t>displayInformation (Object, Required) - for the purposes of the Tigress API, this is a JSON data blob. It allows an application running on a receiving device to build a visual representation of the credential to show to user. Specific to Credential Provider.</t>
            </li>
            <li>
              <t>expiration (String, Required) - the date that the mailbox will expire. The mailbox expiration time is set during mailbox creation. Expiration time should be a complete <xref target="RFC3339"/> date string in "YYYY-MM-DDThh:mm:ssZ" format (UTC time zone), and can be used to allow receiving clients to show when a share will expire.</t>
            </li>
          </ul>
          <figure anchor="read-secure-content-response">
            <name>Read Secure Content Response Example</name>
            <artwork><![CDATA[
{
    “displayInformation" : {
        "title" : "Hotel Pass",
        "description" : "Some Hotel Pass",
        "imageURL" : "https://example.com/sharingImage"
    },
    "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "expiration": "2021-11-03T20:32:34Z"
}
]]></artwork>
          </figure>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to read the secure content of the mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="relinquishmailbox">
        <name>RelinquishMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to relinquish their ownership of the mailbox. Recipient Device needs to present the currently established Recipient Device Claim in order to relinquish their ownership of the mailbox. Once relinquished, the mailbox can be bound to a different Recipient Device that presents its Device Claim in a ReadSecureContentFromMailbox call.</t>
        <section anchor="endpoint-5">
          <name>Endpoint</name>
          <t>PATCH /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-5">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="responses-5">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicate request (duplicate "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicate requests with 201 without performing mailbox relinquish. "Mailbox-Request-ID" passed in the first RelinquishMailbox request's header <bcp14>SHALL</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicate requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not perform mailbox relinquish, but respond with 201 instead.
The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHALL</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to relinquish a mailbox. E.g. a device presented the incorrect Device Claim, or the device is not bound to the mailbox.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found. Relay server may respond with 404 if the Mailbox Identifier passed by the caller is invalid.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The following threats and mitigations have been considered:</t>
      <ul spacing="normal">
        <li>
          <t>Initiator shares with the wrong Recipient
          </t>
          <ul spacing="normal">
            <li>
              <t>Initiator <bcp14>SHOULD</bcp14> be encouraged to share Secret over a channel allowing authentication of the Recipient (e.g. voice).</t>
            </li>
            <li>
              <t>Verticals allow Initiator to cancel in-flight shares and delete completed shares.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Malicious Recipient forwards the share to 3rd party without redeeming it or the Recipient's device is compromised.
          </t>
          <ul spacing="normal">
            <li>
              <t>No mitigation, the Initiator <bcp14>SHOULD</bcp14> only share with receivers they trust.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Share-url and secret is exposed to Recipient plus some other users.
          </t>
          <ul spacing="normal">
            <li>
              <t>Verticals <bcp14>SHALL</bcp14> ensure that the Provisioning Information of a share can only be redeemed once.</t>
            </li>
            <li>
              <t>Relay Server <bcp14>SHALL</bcp14> ensure that only first Receiver to claim Provisioning Information gets it.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Network attacks
          </t>
          <ul spacing="normal">
            <li>
              <t>Machine-in-the-middle:
Relay server <bcp14>SHALL</bcp14> only allow TLS connections.
URLs displayed to user <bcp14>SHOULD</bcp14> include the https scheme.</t>
            </li>
            <li>
              <t>MailboxIdentifier guessing:
the MailboxIdentifier is a version 4 UUID <xref target="RFC4122"/> which <bcp14>SHOULD</bcp14> contain 122-bits of cryptographic entropy, making brute-force attacks impractical.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Risk of hosting malicious or untrusted scripts by relay server preview page (ReadDisplayInformationFromMailbox)
          </t>
          <ul spacing="normal">
            <li>
              <t>Relay server should either not allow hosting a third party JavaScripts on a preview page or implement a policy and utilize tools to maintain the trust of such scripts (e.g. force client to verify the script against a good known hash of it).</t>
            </li>
          </ul>
        </li>
      </ul>
      <section anchor="initiatorrecipient-privacy">
        <name>Initiator/Recipient privacy</name>
        <ul spacing="normal">
          <li>
            <t>At no time Relay server <bcp14>SHALL</bcp14> store or track the identities of both Initiator and Recipient devices.</t>
          </li>
          <li>
            <t>The value of the Notification Token shall not contain information allowing the identification of the device providing it. It <bcp14>SHOULD</bcp14> also be different for every new share to prevent the Relay server from correlating different sharing.</t>
          </li>
          <li>
            <t>Notification token <bcp14>SHOULD</bcp14> only inform the corresponding device that there has been a data update on the mailbox associated to it (by Device Claim). Each device <bcp14>SHOULD</bcp14> keep track of all mailboxes associated with it and make read calls to appropriate mailboxes.</t>
          </li>
          <li>
            <t>Both Initiator and Recipient devices <bcp14>SHOULD</bcp14> store the URL of the Relay server they use for an active act of credential transfer.</t>
          </li>
          <li>
            <t>The value of Mailbox-Device-Attestation header parameter <bcp14>SHALL</bcp14> not contain information allowing the identification of the device providing it. It <bcp14>SHOULD</bcp14> also be different for every new share to prevent the Relay server from correlating different sharing.</t>
          </li>
          <li>
            <t>Display Information is not encrypted, therefore, it <bcp14>SHOULD</bcp14> not contain any information allowing to identify Initiator or Recipient devices.</t>
          </li>
        </ul>
      </section>
      <section anchor="credentials-confidentiality-and-integrity">
        <name>Credential's confidentiality and integrity</name>
        <ul spacing="normal">
          <li>
            <t>Content of the mailbox <bcp14>SHALL</bcp14> be only visible to devices having Secret.</t>
          </li>
          <li>
            <t>Relay server <bcp14>MUST</bcp14> not receive the Secret with the MailboxIdentifier at any time.</t>
          </li>
          <li>
            <t>Content of the mailbox <bcp14>MUST</bcp14> guaranty its integrity with cryptographic checksum (e.g. MAC, AES-GCM tag).</t>
          </li>
          <li>
            <t>Relay server <bcp14>SHALL</bcp14> periodically check and delete expired mailboxes ( refer to expiration parameter in the CreateMailbox request).</t>
          </li>
          <li>
            <t>It is recommended that URL and secret are send separately. But if the Initiator sends both URL and the Secret as a single URL, Secret <bcp14>MUST</bcp14> be appended as URI fragment <xref target="RFC3986"/>.  Recipient Device, upon receipt of such URL, <bcp14>MUST</bcp14> remove the Fragment (Secret) before calling the Relay server API.</t>
          </li>
        </ul>
        <figure anchor="link-with-fragment">
          <name>Example of URL with Secret as URI Fragment</name>
          <artwork><![CDATA[
“https://relayserver.example.com/v1/m/{mailboxIdentifier}#{Secret}”
]]></artwork>
        </figure>
      </section>
      <section anchor="second-factor-authentication-for-recipient-credential-provisioning">
        <name>Second factor authentication for Recipient Credential Provisioning</name>
        <ul spacing="normal">
          <li>
            <t>Vertical determines need of a second factor to Provision Credential on Recipient device. This determination is done on the basis of known security properties of the communication method used to send the invitation.</t>
          </li>
          <li>
            <t>Verticals can use PIN codes, presence of Initiator Credential or other mechanisms as second factor.</t>
          </li>
          <li>
            <t>Details of the second factor and policies around use of the second factor is out of scope of this document.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers new headers, "Mailbox-Request-ID", "Mailbox-Device-Claim" and "Mailbox-Device-Attestation"
in the "Permanent Message Header Field Names" &lt;<eref target="https://www.iana.org/assignments/message-headers"/>&gt;.</t>
      <figure anchor="iana-header-type-table">
        <name>Registered HTTP Header</name>
        <artwork><![CDATA[
    +----------------------------+----------+--------+---------------+
    | Header Field Name          | Protocol | Status |   Reference   |
    +----------------------------+----------+--------+---------------+
    | Mailbox-Request-ID         |   http   |  std   | This document |
    | Mailbox-Device-Claim       |   http   |  std   | This document |
    | Mailbox-Device-Attestation |   http   |  std   | This document |
    +----------------------------+----------+--------+---------------+
]]></artwork>
      </figure>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="CCC-Digital-Key-30" target="https://carconnectivity.org/download-digital-key-3-specification/">
          <front>
            <title>Digital Key Release 3</title>
            <author>
              <organization>Car Connectivity Consortium</organization>
            </author>
            <date year="2022" month="July"/>
          </front>
        </reference>
        <reference anchor="ISO-18013-5" target="https://www.iso.org/standard/69084.html">
          <front>
            <title>Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application</title>
            <author>
              <organization>Cards and security devices for personal identification</organization>
            </author>
            <date year="2021" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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="RFC5116">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Tigress-req-03" target="https://github.com/dimmyvi/tigress-requirements/">
          <front>
            <title>Tigress requirements</title>
            <author initials="D." surname="Vinokurov" fullname="Dmitry Vinokurov">
              <organization/>
            </author>
            <author initials="A." surname="Pelletier" fullname="Alex Pelletier">
              <organization/>
            </author>
            <author initials="C." surname="Astiz" fullname="Casey Astiz">
              <organization/>
            </author>
            <author initials="Y." surname="Karandikar" fullname="Yogesh Karandikar">
              <organization/>
            </author>
            <author initials="B." surname="Lassey" fullname="Brad Lassey">
              <organization/>
            </author>
            <date year="2023" month="April"/>
          </front>
        </reference>
        <reference anchor="RFC2818">
          <front>
            <title>HTTP Over TLS</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This memo describes how to use Transport Layer Security (TLS) to secure Hypertext Transfer Protocol (HTTP) connections over the Internet. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2818"/>
          <seriesInfo name="DOI" value="10.17487/RFC2818"/>
        </reference>
      </references>
    </references>
    <?line 836?>

<section anchor="contributors">
      <name>Contributors</name>
      <t>The following people provided substantive contributions to this document:</t>
      <ul spacing="normal">
        <li>
          <t>Ben Chester</t>
        </li>
        <li>
          <t>Casey Astiz</t>
        </li>
        <li>
          <t>Jean-Luc Giraud</t>
        </li>
        <li>
          <t>Matt Byington</t>
        </li>
        <li>
          <t>Alexey Bulgakov</t>
        </li>
        <li>
          <t>Tommy Pauly</t>
        </li>
        <li>
          <t>Crystal Qin</t>
        </li>
        <li>
          <t>Adam Bar-Niv</t>
        </li>
        <li>
          <t>Manuel Gerster</t>
        </li>
        <li>
          <t>Igor Gariev</t>
        </li>
      </ul>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
PSaBgQs/OzwDDdt8C3rP/wOPhCdrLq4AAA==

-->

</rfc>
