<?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.34 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mailmaint-pdparchive-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="PDPArchive">Personal Data Portability Archive</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mailmaint-pdparchive-00"/>
    <author initials="L." surname="Dusseault" fullname="Lisa Dusseault">
      <organization>Data Transfer Initiative</organization>
      <address>
        <email>lisa@dtinit.org</email>
      </address>
    </author>
    <author initials="H. J." surname="Happel" fullname="Hans-Joerg Happel">
      <organization>audriga</organization>
      <address>
        <email>hans-joerg@audriga.com</email>
      </address>
    </author>
    <author initials="A." surname="Melnikov" fullname="Alexey Melnikov">
      <organization>Isode Ltd</organization>
      <address>
        <email>Alexey.Melnikov@isode.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="21"/>
    <area>Applications and Real-Time</area>
    <workgroup>mailmaint</workgroup>
    <keyword>email</keyword>
    <keyword>calendaring</keyword>
    <keyword>archive</keyword>
    <keyword>personal</keyword>
    <keyword>portability</keyword>
    <abstract>
      <?line 111?>

<t>This document proposes the Personal Data Portability Archive format (PDPA), suitable for import/export, backup/restore, and data transfer scenarios for personal data.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lisad.github.io/draft-happel-mailmaint-pdparchive/draft-ietf-mailmaint-pdparchive.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-mailmaint-pdparchive/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        mailmaint Working Group mailing list (<eref target="mailto:mailmaint@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mailmaint/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mailmaint/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lisad/draft-happel-mailmaint-pdparchive"/>.</t>
    </note>
  </front>
  <middle>
    <?line 116?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>As part of communication protocols, the IETF has standardized a number of data formats such as the Internet Message Format <xref target="RFC5322"/>,  <xref target="vCard"/>,  <xref target="iCalendar"/>, or, more recently, <xref target="JSContact"/> and <xref target="JSCalendar"/>.</t>
      <t>While mainly designed for interoperability, many of these data formats have also become popular for data portability, i.e., the import/export of data across different services. The growing importance of data portability however demands an open standard archive format which can deal with different types of personal data in a homogeneous fashion.</t>
      <t>To this end, this document proposes the Personal Data Portability Archive format (PDPA), suitable for import/export, backup/restore, and data transfer scenarios for personal data. It is compatible with both IMAP and JMAP and should be suitable as an interchange format between related software and services such as for email, contacts, calendaring, tasks, or files.</t>
      <t>The approach is to define JSON formats, folder structure, and a common compression format.  Additional specifications will likely define a protocol how these files can be requested from, imported into, or transferred between servers, but this specification can be used as-is with user-directed imports or exports.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The term "personal data" refers to persistent data which users created and managed within applications or services. Classic examples are emails, contacts, calendars, tasks, notes, or files. Other examples might be fitness tracking records, energy bills, or location history.</t>
      <t>The term "data portability" refers to the right or technical procedure to use or transfer personal data across different applications or services.</t>
      <t>The terms "message" and "email message" refer to "electronic mail messages" or "emails" as specified in <xref target="RFC5322"/>. The term "Message User Agent" (MUA) denotes an email client application as per <xref target="RFC5598"/>.</t>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="goals">
      <name>Goals</name>
      <t>The core goal is to provide an open and extensible archive and transfer format for personal data. This includes data types that are subject of existing IETF protocols, such as email and groupware data (e.g., contacts, calendars, tasks) but may also include further types of personal data.</t>
      <t>Goals will be refined by use cases and cross-cutting technical goals in the following sub-sections.</t>
      <t>JSON is used as a widely interoperable base format that systems can easily translate their internal data representation into. Wherever possible, fields, values and data structures are derived from existing IMAP/JMAP specifications to remain compatible with both.</t>
      <section anchor="use-cases">
        <name>Use cases</name>
        <t>Many of these use cases benefit greatly from a simple, read-only export format,
compared to having IMAP and CalDAV access to personal data.   While these use cases may suggest interesting niche features, adding those may be left to future specs. For example, legal and forensics use cases might benefit from signing features, but nevertheless this specification would advance those use cases even without signing features.</t>
        <section anchor="data-portability">
          <name>Data portability</name>
          <t>A main use case for the novel format is to allow exporting the full user data managed by services or software products into a simple file (or set of files) which is under full control of the user.</t>
          <t>The user might use such export for backup, archiving, or for importing when switching to another service or software (i.e., migration).</t>
          <t>Depending on the type of data, exporting/importing can be a time-consuming process. Particularly for the case of switching services, PDPA should allow to minimize the time period during which a user cannot use the origin system but also the destination system is not yet ready.</t>
        </section>
        <section anchor="read-only-data-access">
          <name>Read-only data access</name>
          <t>General access to data powers all kinds of analysis and applications.  Exporting content and metadata in a structure suitable for ease of use in data pipelines or analysis tools would make these much easier.</t>
        </section>
        <section anchor="incremental-data-access">
          <name>Incremental data access</name>
          <t>Beyond snapshot backups/exports, the format should optionally allow for incremental data
access - knowing what new data has been added.</t>
          <ul spacing="normal">
            <li>
              <t>Automated maintenance of a permanent, incremental mirror of user data, e.g. for instant restore</t>
            </li>
            <li>
              <t>Compliance or audit logs</t>
            </li>
            <li>
              <t>Spam tracking and analysis</t>
            </li>
            <li>
              <t>CRM or productivity integration scenarios that are read-only</t>
            </li>
          </ul>
        </section>
        <section anchor="synchronization">
          <name>Synchronization</name>
          <t>Data portability does not just allow users to switch from one service to another one, but to let users benefit from 3rd party services getting access to their data  (at the request of the user).  Simple synchronization features could make this much better.</t>
          <t>For example, current online systems that allow importing contacts are not often suited to maintaining one's address book on two systems. Re-importing a contact into a system that already has that contact often results in duplicating the exact same contact, whether or not there have been edits, making repeated synchronization practically infeasible. It should be easy to do a significantly better job of this with some attention to object IDs and modification timestamps.</t>
          <t>We however do not attempt to solve two-way synchronization via export files.  It would require significant additional work to allow two systems, neither of which is agreed-upon to be the source of truth, to reliably synchronize changes from both. In comparison, solving one-way synchronization only requires agreed-upon usage of existing fields and values.</t>
        </section>
        <section anchor="dataset-exchange">
          <name>Dataset exchange</name>
          <t>PDPA should be usable to exchange and share larger data sets than just one user, or to share a single user's data outside the context where the user knows what it is and where it came from.</t>
          <t>Potential applications of this are:</t>
          <ul spacing="normal">
            <li>
              <t>The ability to exchange test data and known mailstore state, e.g. for conformance testing or internal functional tests</t>
            </li>
            <li>
              <t>Legal discovery and forensics use cases may benefit from a standard export format, such that investigators can expect a great deal of consistency when collecting data from different systems.</t>
            </li>
            <li>
              <t>Researchers may be able to collect archive files through data donations and use as input to research.</t>
            </li>
          </ul>
        </section>
        <section anchor="data-persistence">
          <name>Data persistence</name>
          <t>The format <bcp14>MAY</bcp14> be used as a development-time active persistence layer for user data in, e.g., email clients or applications. It is not intended as, or suitable for, a production-level persistence layer.</t>
        </section>
      </section>
      <section anchor="technical-goals">
        <name>Technical Goals</name>
        <t>Besides actual use cases, there are a number of side requirements and goals for PDPA.</t>
        <section anchor="email-standards-compatibility">
          <name>Email standards compatibility</name>
          <t>Data formats should aim for compatibility with JMAP data formats for the sake of interoperability and synergies in software libraries.</t>
          <t>Dedicated JMAP API methods for exporting and importing the format described here, or for related server-to-server transfer protocols are out of the scope of this document.</t>
          <t>Due to its specifics and ubiquitous usage, the Internet Message Format <xref target="RFC5322"/>; latest revision of <xref target="RFC2822"/>/<xref target="RFC822"/> should be the core of representing individual email data.</t>
          <t>This specification should ideally describe mappings between PDPA and existing mailbox persistence schemes such as Maildir or <xref target="MBOX"/>.</t>
        </section>
        <section anchor="interoperability">
          <name>Interoperability</name>
          <t>It should be mostly possible to use personal data exports from one system with different software or services.  When a source exports personal data it can include all the information it would need for a fully-functional import, <em>however</em> destination systems running different software may not be able to import all of that information (especially if it includes non-standard features) and use it exactly the same way.  This specification does not attempt to achieve perfect interoperability between diverse systems, but instead to make reasonable trade-offs.</t>
        </section>
        <section anchor="extensibility">
          <name>Extensibility</name>
          <t>This format should be extensible to accommodate types of personal data not explicitly mentioned or foreseen when writing these specs.</t>
        </section>
        <section anchor="flexible-granularity">
          <name>Flexible granularity</name>
          <t>This format should allow flexible granularity in two ways:</t>
          <t>1) It should enable easy access to separate types of data (e.g., emails vs. contacts), e.g. to allow for partial imports or exports</t>
          <t>2) While ideally representable as a single file, archives may also span several files due to reasons such as file size restrictions or incremental generation logic.</t>
          <t>(The ability for a user to export and/or backup an entire email account requires some accommodation of large amounts of data and risks of interruptions in downloads.  Splitting exports into multiple files during export is one possible solution.)</t>
        </section>
        <section anchor="accessible-for-local-tooling">
          <name>Accessible for local tooling</name>
          <t>PDPA should allow easy access for local tools (e.g., CLIs). While this may sound obvious, it is a key factor for the intended versatility of the format.</t>
        </section>
        <section anchor="efficiency">
          <name>Efficiency</name>
          <t>Since certain kinds of personal data might involve large quantities of data, major use cases for PDPA should be realizable in an efficient manner.</t>
          <t>For now, this is stated as an abstract guiding principle. Its actual dimensions and trade-offs need to be refined while evolving this specification.</t>
        </section>
      </section>
      <section anchor="related-work">
        <name>Related work</name>
        <t>Many email server implementors have found it desirable to have one or more file formats for storing email in a file system even when the primary active email storage is more commonly a database.  Examples include <xref target="PST"/> files (Outlook), NSF (Notes), <xref target="GoogleTakeout"/>, Maildir, MBOX.  File formats are already used for interoperability in many cases even when not standardized.</t>
        <t>This specification follows that pattern in order to build on these partial successes.  By standardizing one format, we expect to be able to satisfy use cases that are harder to satisfy with a plurality of formats, such as use cases for server-to-server transfer of email account data during account migrations.  Specifications that explain how to create these archives in different situations can refer to this specification.</t>
      </section>
    </section>
    <section anchor="approach">
      <name>Approach</name>
      <section anchor="using-json-mostly">
        <name>Using JSON (mostly)</name>
        <t>JSON is used in this spec for new metadata and for objects including contacts, tasks,  events and notes.  However, the Email Message Format <xref target="RFC5322"/> is used for email message content. Individual items are stored in individual files, which are referenced in collection metadata. Finally these JSON and other file formats are packaged and compressed together in a standard but flexible way.</t>
        <t>Our rationale for using JSON to the extent reasonable:</t>
        <ul spacing="normal">
          <li>
            <t>We envision an export format being used not just by developers of full IMAP servers but also by developers building task management systems, calendar systems that don't include email, etc.</t>
          </li>
          <li>
            <t>We should minimize requiring multiple libraries to parse different formats. If the Metadata is going to be in JSON, it would really help to have the item data in JSON.</t>
          </li>
          <li>
            <t>Personal data formats must be extensible and extensibility for JSON is well-understood.</t>
          </li>
        </ul>
        <t>Using JSON for all the data <em>except</em>  EML files was carefully considered.  EML files are rather specialized and more challenging to replace.  Much of email is not structured data but content and involves MIME.  EML is more likely to be a system's native data store, unlike VCARD and VTODO which are most commonly transformed for use in a relational data store for active use.  Finally, email signature implementations like S/MIME and OpenPGP would be less disrupted by keeping EML.</t>
        <t>Information not covered by these existing file formats, but still necessary for migration or backup/restore of an email account, is packaged into JSON files. JSON structure and values are defined with CDDL <xref target="RFC8610"/>.  The JSON files for email folders and other collections contain references to individual resources by unique ID and filename.</t>
      </section>
      <section anchor="approach-to-partial-updates">
        <name>Approach to partial updates</name>
        <t>Our use case requirements <eref target="use_cases">above</eref> included some very common personal use cases that motivate exporting only a time-limited set of items, but retaining the ability to use that subset export to update a previously acquired or maintained snapshot.  These are partial updates - partial exports able to update a full copy.  Our approach is to define a version of the archive format that includes a subset of a repository's content, and additionally some change markers necessary to maintain consistency.</t>
        <t>A partial-update export</t>
        <ul spacing="normal">
          <li>
            <t>Contains new items just like a full export.</t>
          </li>
          <li>
            <t>Omits unchanged items from before the time cutoff.</t>
          </li>
          <li>
            <t>Does NOT list unchanged items in folder listings either.</t>
          </li>
          <li>
            <t>Allows updated items to be identified so they can replace previous versions</t>
          </li>
          <li>
            <t>Allows deleted items to be identified so they could be removed in the updated snapshot</t>
          </li>
        </ul>
        <t>The existing definitions for UIDs and 'updated' in JMAP and IMAP should make this quite possible. Also IMAP MODSEQs <xref target="RFC7162"/> can be used for flag changes.</t>
      </section>
      <section anchor="approach-to-synchronization">
        <name>Approach to synchronization</name>
        <t>Email and calendaring services appear to already do synchronization just fine, but this is via a client-server model.  The client drives the read and write requests until content is synchronized, using mostly UIDs and timestamps.</t>
        <t>Archive and export formats aren't part of this client-server model, and the work to make server-to-server or peer-to-peer synchronization work perfectly is substantial (involving features such as version numbers or change logs -- features that aren't commonly standardized for the objects handled in this spec).  Still, there are some things possible with archive formats and the current object definitions that are sensible.  Our approach is to describe what is possible with the fields that exist, and mandate those fields be used, so that users aren't left with multiple locations for their data and no way to repeatedly synchronize them.</t>
        <t>As an illustrative use case, let the user have contacts stored in one email service and also in one mobile device platform doing online backups.  The email platform creates contacts when the user emails new recipients, or receives contact information over email.  The mobile device platform synchronizes contact information from a phone.  The email service is not a client of the mobile device platform, nor is the mobile device platform a client of the email service, so client-to-server protocols cannot directly synchronize the data between these two services.  A user attempting to solve this by repeatedly importing contacts into one system from the other may find this works poorly - for example, it might create new contact objects over and over for the same contact data even if it is unchanged, and deleted objects may re-animate after being re-copied.</t>
        <t>Both servers ought to allow exporting of contact data (along with any other data covered in this specification), including especially the UID and updated (timestamp) fields.   This would allow at least some sensible personal workflows or for 3rd party tools to make synchronization work better.</t>
        <t>When importing contact data (along with any other data covered in this specification), a service needs to take note of the UID in the import, and use it as the UID for creating a new object, so that it may be later avoid being recreated. If the service importing already has the said UID, the service should compare 'updated' timestamps and use that to decide how to update the object with new values.  An object that hasn't changed since last imported should remain unchanged and not updated.</t>
        <t>This approach to synchronization is imperfect.  Let the user have performed one synchronization by exporting from the email service and importing to the mobile device platform.  If the user updates a contact on the email service (e.g adding a street address) and the mobile platform also updates the contact (e.g. adding an avatar link), then the user attempts to repeat the synchronization, both services will have a new 'updated' timestamp on the same object UID, and the earlier of the two changes will get wiped out.  Nevertheless, a disciplined user can remember to only make changes on the email service and always copy them over to the mobile platform, and avoid many such lost updates.</t>
        <t>Based on the approach described here, this specification standardizes some behavior for both exporters and importers, to maximize potential success.</t>
      </section>
    </section>
    <section anchor="solution-requirements">
      <name>Solution Requirements</name>
      <t>These technical requirements on the solution are intended to meet the goals above, and to add more specifics about how those goals are intended to be met with the architecture chosen.   This section does not attempt to translate the solution requirements into implementor requirements.</t>
      <t>Folder format requirements</t>
      <ul spacing="normal">
        <li>
          <t>can include partial results, showing only a subset of objects within the folder</t>
        </li>
        <li>
          <t>can include a human-readable representation of the meaning of that subset (e.g. a date filter, or recipient filter)</t>
        </li>
      </ul>
      <t>Email object format requirements</t>
      <ul spacing="normal">
        <li>
          <t>can maintain full fidelity including preserving character sets, content transfer encoding of body parts and exact MIME structure</t>
        </li>
      </ul>
      <t>Compression and packaging of resources</t>
      <ul spacing="normal">
        <li>
          <t>Servers can bundle resources together in different ways to be flexible in handling size and network limitations.  Servers must be able to choose optimal file size and organization of information within files.</t>
        </li>
      </ul>
      <t>Synchronization requirements</t>
      <ul spacing="normal">
        <li>
          <t>Can see which items are identical in two systems, e.g. one system previously imported an item exported by the other.</t>
        </li>
        <li>
          <t>Can detect changes made since the last time an item was imported, in a way that supports replacing an older version previously synchronized with a newer version that has edits.</t>
        </li>
      </ul>
    </section>
    <section anchor="file-format">
      <name>File format</name>
      <t>This section describes the internal "raw" file format of a personal data portability archive. For discussion about a surrounding container format, see section "open issues".</t>
      <t>PDPA in general consists of:</t>
      <ul spacing="normal">
        <li>
          <t>A main metadata file ("archive.json")</t>
        </li>
        <li>
          <t>Top-level folders for each data type ("/mail")</t>
        </li>
        <li>
          <t>Subfolders representing actual collections of individual data items plus additional metadata files</t>
        </li>
      </ul>
      <section anchor="archive-metadata-file">
        <name>Archive metadata file</name>
        <t>The archive.json file consists of three main sections with metadata about the archive as exported, the dataset used, and the source of the data.</t>
        <ul spacing="normal">
          <li>
            <t>archive: general information about the archive</t>
          </li>
          <li>
            <t>dataset: characteristics of the dataset itself</t>
          </li>
          <li>
            <t>datasource: meta-information about the dataset</t>
          </li>
        </ul>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Description and requirements</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">archive/id</td>
              <td align="left">Archive identifier, generated by archive generator, <bcp14>MUST</bcp14> be unique</td>
            </tr>
            <tr>
              <td align="left">archive/name</td>
              <td align="left">Human readable label</td>
            </tr>
            <tr>
              <td align="left">archive/note</td>
              <td align="left">Note for human use and display (optional)</td>
            </tr>
            <tr>
              <td align="left">archive/legal</td>
              <td align="left">Legal desclaimer (optional)</td>
            </tr>
            <tr>
              <td align="left">archive/timestamp</td>
              <td align="left">Archive timestamp</td>
            </tr>
            <tr>
              <td align="left">archive/version</td>
              <td align="left">PDPA spec version</td>
            </tr>
            <tr>
              <td align="left">archive/generator</td>
              <td align="left">Archive generator</td>
            </tr>
            <tr>
              <td align="left">dataset/extent</td>
              <td align="left">Extent of the archive (full, partial)</td>
            </tr>
            <tr>
              <td align="left">dataset/selector</td>
              <td align="left">Select critia for partial datasets (date, folder, size, custom) (optional)</td>
            </tr>
            <tr>
              <td align="left">dataset/datatypes</td>
              <td align="left">List of data types</td>
            </tr>
            <tr>
              <td align="left">dataset/languagetag</td>
              <td align="left">BCP 47 language tag for the dominant language in the dataset</td>
            </tr>
            <tr>
              <td align="left">dataset/timezone</td>
              <td align="left">IANA tz identifier for the dataset</td>
            </tr>
            <tr>
              <td align="left">datasource/service</td>
              <td align="left">Information about the source service (id, url, ..)</td>
            </tr>
            <tr>
              <td align="left">datasource/account</td>
              <td align="left">Information about the source account (id, type, ...)</td>
            </tr>
          </tbody>
        </table>
        <t>TODO: Is selector intended to be human readable or machine parsable?</t>
        <t>More formally:</t>
        <figure anchor="archive-schema">
          <name>General JSON Schema for archive.json</name>
          <artwork><![CDATA[
{
  "$id": "https://id.schemas.pub/o/DTI/PDPArchive/archve",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Schema for Personal Data Portability Archive (pdparchive) Archive Metadata",
  "type": "object",
  "required": ["archive", "dataset", "datasource"],
  "archive": {
    "type": "object",
    "required": ["id", "name", "timestamp", "version", "generator"],
    "properties": {
      "id": {
        "type": "string"
      },
      "generator": {
        "type": "string",
      },
      "legal": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "note": {
        "type": "string"
      },
      "timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "version": {
        "type": "string",
      },
    },
  },
  "dataset": {
    "type": "object",
    "required": ["extent", "languagetag", "timezone"],
    "properties": {
      "datatypes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "extent": {
        "type": "string"
      },
      "languagetag": {
        "type": "string"
      },
      "selector": {
        "type": "string"
      },
      "timezone": {
        "type": "string"
      }

    }
  },
  "datasource": {
    "type": "object",
    "properties": {
      "account": {
        "type": "string"
      },
      "service": {
        "type": "string"
      }
    }
  }
}
]]></artwork>
        </figure>
        <t>Example of archive.json (full export):</t>
        <figure anchor="archive-example">
          <name>A basic archive.json example</name>
          <artwork><![CDATA[
{ 
  "archive": {
  
    "id": "b47c1b85-c085-48b9-ae15-cb1b455422cd",
    "archive_id": "123",
    "name": "Jane's data export (2025-10-19)",
    "note": "Personal account export", 
    "timestamp": "2025-10-18T23:20:59Z",
    "version": "PDPA v1.0",
    "generator": "PDPA exporter v0.9"
  },
  "dataset": {
    "extent": "FULL",
    "datatypes": ["MAIL"],
    "languagetag": "en_ca",
    "timezone": "America/Montreal"
  },
  "datasource": {
    "account": "marieclaire"
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="folder-structure">
        <name>Folder structure</name>
        <t>Rather than have deeply nested JSON with folder information inside folder
information inside archive index JSON files, this approach uses file system
directory structure with separate files for archive metadata and folder
metadata as well as item data.</t>
        <ul spacing="normal">
          <li>
            <t>Folders can be nested.  Any kind of content here can be within nested folders -- this is a necessary feature for email, but extends to content like contacts that aren't always represented in nested folders.   (TODO: elsewhere, describe the requirements for an importing system to preserve folders or not.)</t>
          </li>
          <li>
            <t>Names of files do not have to be globally unique.   Indexes and folder contents listings can name files relatively to their location in the archive structure, which means that references may not be resolvable if that context is lost.</t>
          </li>
          <li>
            <t>Individual content items are individual files.  This may not always be the easiest choice for exporters who must generate a large number of files for individually small items (contrast to a JSON stream including all objects) but as an archive format, the individual files allow more clarity in individual handling, transactions and errors.</t>
          </li>
        </ul>
        <artwork><![CDATA[
archive.json
/mail/
    /Archive/
        folder.json
        m1.eml
        m2.eml
        m3.eml
        ...
    /Archive/2023/
        folder.json
        m1.eml
        m2.eml
        m3.eml
        ...
    /Archive/2024/
        folder.json
        m1.eml
        m2.eml
        m3.eml
        ..
    /INBOX/
        folder.json
        m1.eml
        m2.eml
        m3.eml
        ...
    /Sent Mail/
        folder.json
        m1.eml
        m2.eml
        ...
/contacts/
     contact1.json
     contact2.json
     ...
/calendars/
    /calendar2/
        event1.json
        event2.json
/sieve/
/blob/
    ...?
]]></artwork>
        <section anchor="file-and-folder-names">
          <name>File and folder names</name>
          <t>Because filenames can be generated by the exporting server, it is always possible to generate non-colliding filenames.  Display names are NOT intended to be determined by file names, but instead by fields within each file.  Similarly, filenames are NOT intended to be globally unique IDs.</t>
          <t>Mail folder names are defined in <xref target="RFC9051"/> (IMAP v4 rev2) with great freedom for servers.  Servers may or may not treat mailbox names as case sensitive.  Folder names may even include non-graphic characters, "%" and "*". Hierarchy separators may even differ among IMAP servers although "/" is probably most common.</t>
          <t>Since this specification is new, it is possible to be more constrained.  This specification only supports "/" as a folder separator.</t>
        </section>
      </section>
      <section anchor="data-formats">
        <name>Data formats</name>
        <section anchor="email">
          <name>Email</name>
          <t>Each IMAP/JMAP folder is represented as subdirectory under "mail" directory. For
example, the folder INBOX would be represented as "mail/INBOX", and the
folder "Archive/2024/2024-12" would be represented
as "mail/Archive/2024/2024-12". Folder names are encoded in UTF-8.</t>
          <t>TODO: how to signal removal of a folder in an incremental archive? Need to add some kind of tombstone mechanism.</t>
          <t>Each folder metatadata is described by "folder.json" (this name is <bcp14>REQUIRED</bcp14>),
which has the following fields:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Attribute Name</th>
                <th align="center">Type</th>
                <th align="left">Mandatory?</th>
                <th align="left">Comment</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">allowed_keywords</td>
                <td align="center">array of strings (IMAP keywords)</td>
                <td align="left">No</td>
                <td align="left">PERMANENTFLAGS minus "\*" <xref target="IMAP4"/></td>
              </tr>
              <tr>
                <td align="left">uid</td>
                <td align="center">string</td>
                <td align="left">
                  <bcp14>SHOULD</bcp14>*</td>
                <td align="left">Use OBJECTID from <xref target="RFC8474"/></td>
              </tr>
              <tr>
                <td align="left">last_uid</td>
                <td align="center">unsigned 32 bit integer</td>
                <td align="left">Yes</td>
                <td align="left">Last UID assigned in the folder. It is UIDNEXT value minus 1 <xref target="IMAP4"/></td>
              </tr>
              <tr>
                <td align="left">recent_uid</td>
                <td align="center">unsigned 32 bit integer</td>
                <td align="left">No</td>
                <td align="left">Lowest UID of a message with the \Recent flag <xref target="IMAP4"/></td>
              </tr>
              <tr>
                <td align="left">uidvalidity</td>
                <td align="center">unsigned 32 bit integer</td>
                <td align="left">Yes</td>
                <td align="left">UIDVALIDITY value <xref target="IMAP4"/></td>
              </tr>
              <tr>
                <td align="left">is_subscribed</td>
                <td align="center">boolean</td>
                <td align="left">Yes</td>
                <td align="left">Is the folder returned by IMAP LSUB? <xref target="IMAP4"/></td>
              </tr>
              <tr>
                <td align="left">myrights</td>
                <td align="center">string</td>
                <td align="left">No</td>
                <td align="left">See Section 3.5 of <xref target="RFC4314"/>. For example "rwiptsldaex"</td>
              </tr>
              <tr>
                <td align="left">highest_modseq</td>
                <td align="center">unsigned 64 bit integer</td>
                <td align="left">No</td>
                <td align="left">HIGHESTMODSEQ value <xref target="RFC7162"/></td>
              </tr>
              <tr>
                <td align="left">special_use</td>
                <td align="center">string</td>
                <td align="left">No</td>
                <td align="left">
                  <xref target="RFC6154"/> SPECIAL-USE value. E.g. "inbox", "sent", "drafts", "junk", etc.</td>
              </tr>
              <tr>
                <td align="left">sort_order</td>
                <td align="center"> </td>
                <td align="left">No</td>
                <td align="left">See Section 2, <xref target="JMAP"/>]</td>
              </tr>
              <tr>
                <td align="left">items</td>
                <td align="center">array of content item names and flags</td>
                <td align="left">Yes</td>
                <td align="left">Mapping from UIDs to corresponding message files included in the archive</td>
              </tr>
              <tr>
                <td align="left">original_name</td>
                <td align="center">string</td>
                <td align="left">No</td>
                <td align="left">Original folder name (relative to its parent, if any) if the name can't be represented in filesystem, e.g. if it includes special characters</td>
              </tr>
              <tr>
                <td align="left">comment</td>
                <td align="center">string</td>
                <td align="left">No</td>
                <td align="left">Can include information about partial export or filter used in human readable UTF-8 text</td>
              </tr>
              <tr>
                <td align="left">removed</td>
                <td align="center">array of unsigned 32 bit integers</td>
                <td align="left">No</td>
                <td align="left">List of messages (UIDs) removed since the last export</td>
              </tr>
            </tbody>
          </table>
          <t>* The uid for a folder <bcp14>SHOULD</bcp14> be present.  For IMAP folders, this <bcp14>SHOULD</bcp14> be the OBJECTID defined by <xref target="RFC8474"/>.</t>
          <t>The folder.json format can be defined generally as follows.  Note that this
covers folders containing tasks, notes, contacts or emails, so the fields that
are specific to IMAP folders are not required.</t>
          <figure anchor="schema1">
            <name>General JSON Schema for folder.json</name>
            <artwork><![CDATA[
{
  "$id": "https://datatracker.ietf.org/doc/draft-happel-mailmaint-pdparchive/02/",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Schema for Personal Data Portability Archive (pdparchive) Folder Manifest",

  "type": "object",
  "required": ["name", "items"],
  "properties": {
    "name": {
      "type": "string"
    },
    "uid": {
      "type": "string",
    },
    "removed": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "comment": {
      "type": "string"
    },
    "original_name": {
      "type": "string"
    },
    "sort_order": {
      "type": "integer",
      "minimum": 1,
      "exclusiveMaximum": 2147483648
    },
    "modseqs": {
      "type": "object",
      "additionalProperties": {
        "type": "integer",
        "minimum": 0,
        "exclusiveMaximum": 18446744073709551616
      }
    },
    "highest_modseq": {
      "type": "integer",
      "minimum": 0,
      "exclusiveMaximum": 18446744073709551616
    },
    "special_use": {
      "type": "string",
      "description": "Can be \\All, \\Archive, \\Drafts, \\Flagged, \\Junk, \\Sent or \\Trash as per RFC6154.",
      "pattern": "^\\\\"
    },
    "myrights": {
      "type": "string"
    },
    "is_subscribed": {
      "type": "boolean"
    },
    "last_uid": {
      "description": "Follows the IMAP4 requirements for unsigned 32-bit int",
      "type": "integer",
      "minimum": 0,
      "exclusiveMaximum": 4294967296
    },
    "recent_uid": {
      "description": "Follows the IMAP4 requirements for unsigned 32-bit int",
      "type": "integer",
      "minimum": 0,
      "exclusiveMaximum": 4294967296
    },
    "uidvalidity": {
      "description": "Follows the IMAP4 requirements for non-zero unsigned 32-bit int",
      "type": "integer",
      "minimum": 1,
      "exclusiveMaximum": 4294967296
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["uid", "filename"],
        "properties": {
          "uid": {
            "description": "Either an IMAP UID (non-zero unsigned 32-bit integer) or a string identifier such as a UUID",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "exclusiveMaximum": 4294967296
              },
              {
                "type": "string"
              }
            ]
          },
          "filename": {
            "type": "string"
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "flags": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "allowed_keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
]]></artwork>
          </figure>
          <t>Example of folder.json (full export):</t>
          <figure anchor="example1">
            <name>A basic folder.json example</name>
            <artwork><![CDATA[
{
  "name": "AVClub",
  "uid": "M6d99ac3275bb4e",
  "allowed_keywords": ["$forwarded", "$MDNSent", "$ismailinglist"],
  "last_uid": 16,
  "highest_modseq": 6371729,
  "recent_uid": 15,
  "uidvalidity": 1107190787,
  "is_subscribed": true,
  "special_use": "\\Sent",
  "sort_order": 1,
  "myrights": "rwiptsldaex",

  "items": [
    {
      "uid": "1",
      "filename": "msg-1.eml",
      "flags": ["$seen"]
    },
    {
      "uid": "3", 
      "filename": "msg-3.eml",
      "flags": ["$seen", "$flagged"]
    },
    {
      "uid": "15",
      "filename": "imported-ABC.eml",
      "flags": ["$answered", "$forwarded"]
    }
  ]
}
]]></artwork>
          </figure>
          <t>UIDs <bcp14>SHOULD</bcp14> always be strings.  This allows systems with UIDs that are not
integers to export and synchronize data reliably.  IMAP UIDs can always be
converted back to integers.</t>
          <t>Example of folder.json that shows incremental changes from the previous export shown above.
In this example 2 messages with UIDs 3 and 15 were removed. Message with UID 1 has updated
flags. Several new messages were added, some of them are with flags set.</t>
          <figure anchor="example2">
            <name>A folder.json example with incremental changes</name>
            <artwork><![CDATA[
{
  "allowed_keywords": ["$forwarded", "$MDNSent", "$ismailinglist"],
  "last_uid": 21,
  "highest_modseq": 6371845,
  "recent_uid": 20,
  "uidvalidity": 1107190787,
  "is_subscribed": true,
  "role": "sent",
  "sort_order": 1,
  "myrights": "rwiptsldaex",
  "removed": ["3", "15"],

  "items": [
    {
      "uid": "1",
      "filename": "msg-1.eml",
      "flags": ["$seen", "$answered"]   
    },
    {
      "uid": "17",
      "filename": "msg-17.eml",
      "flags": ["$seen", "$answered", "$forwarded"]   
    },
    {
      "uid": "19",
      "filename": "msg-19.eml",
      "flags": ["$seen"]   
    },
    {
      "uid": "20",
      "filename": "msg-20.eml",
    },
    {
      "uid": "21",
      "filename": "msg-21.eml",
    },
  ]

}
]]></artwork>
          </figure>
          <t>Finally, to show an example containing no IMAP content but also meets schema
requirements:</t>
          <figure anchor="example-folder-tasks">
            <name>A folder.json example with incremental changes</name>
            <artwork><![CDATA[
{
  "name": "AVClub Tasks",
  "sort_order": 2,
  "myrights": "rwiptsldaex",

  "items": [
    {
      "uid": "56cb57e3-dfa9-40b5-9011-fe658909d138",
      "filename": "elect a new chair.json"
    },
    {
      "uid": "65047c09-f236-485b-a011-5f68580c0d4d",
      "filename": "send Jan newsletter.json"
    },
    {
      "uid": "bd57adf2-3862-4256-ac2e-aafaf2ce8d71",
      "filename": "add Mary to project folders.json"
    }
  ]
}
]]></artwork>
          </figure>
        </section>
        <section anchor="contacts">
          <name>Contacts</name>
          <t><xref target="vCard"/> has long been the basis for address book and contact data representation in
structured data files.  The specifications for <xref target="JSContact"/> and JMAP for Contacts <xref target="RFC9610"/>
do a bunch of the work to explain how to do this in JSON, and in particular RFC9610 explains
how to express references between objects (e.g. an address book and a contact in that address
book) which is useful for a full export that can have its references reconstructed.  This section
explains how to use the fields and structures of those specifications within a PDP Archive export.</t>
          <section anchor="individual-contact-items">
            <name>Individual Contact Items</name>
            <t>Individual contact items build on <xref target="JSContact"/> which builds on <xref target="vCard"/>.</t>
            <ul spacing="normal">
              <li>
                <t>The globally unique <tt>uid</tt> property is mandatory in JSContact and <bcp14>MUST</bcp14> be included in PDP archive.</t>
              </li>
              <li>
                <t>The <tt>updated</tt> property is optional in JSContact but <bcp14>MUST</bcp14> be included in PDP archive.</t>
              </li>
              <li>
                <t>The <tt>rev</tt> property defined in <xref target="vCard"/>, which is not included in <xref target="JSContact"/>,
may already be available in implementations.  It <bcp14>MAY</bcp14> also be included as a field on a contact,
in which case it is a simple value field holding a timestamp.</t>
              </li>
              <li>
                <t>The <tt>@type</tt> property should be "ContactCard".  Note that <xref target="JSContact"/> uses a value
of "Card" for @type and registers that in https://www.iana.org/assignments/jscontact/jscontact.xhtml,
but JMAP for Contacts uses "ContactCard" and registers that in https://www.iana.org/assignments/jmap/jmap.xhtml.</t>
              </li>
            </ul>
            <t>We make some specific requirements on the <tt>updated</tt> value so that it can be
useful for synchronization.  See the section on <tt>updated</tt> and <tt>uid</tt> specifically <xref target="uid-updated"/>.</t>
            <t>When the structured data is prepared, a contact can be exported in a file with an arbitrary name
using a limited set of characters suitable for interoperability across filesystems.</t>
            <t>For example, a file called 'contact1.json' could contain:</t>
            <figure anchor="example3">
              <name>A contact.json example</name>
              <artwork><![CDATA[
{
   "@type": "ContactCard",
   "version": "1.0",
   "uid": "22B2C7DF-9120-4969-8460-05956FE6B065",
   "id": "42",
   "updated": "2021-10-31T22:27:10Z",
   "kind": "individual",
   "addressBookIds": [
      "062adcfa-105d-455c-bc60-6db68b69c3f3"
   ],
   "name": {
       "components": [
         { "kind": "given", "value": "John" },
         { "kind": "surname", "value": "Doe" }
       ],
       "isOrdered": true
   },

   "relatedTo": {
      "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6": {
         "relation": {
           "friend": true
         }
       }
   },

   "notes": {
     "n1": {
       "note": "Open office hours are 1600 to 1715 EST, Mon-Fri",
       "created": "2022-11-23T15:01:32Z",
       "author": {
         "name": "John"
       }
     }
   }
}
]]></artwork>
            </figure>
            <t>For clarity, this example includes:
* How a card can reference address books which are exported as separate files in the overall export
* How a card can reference other cards using <tt>relatedTo</tt>
* A card can contain arbitrary notes - those are not necessarily exported as separate files even
though notes are also an object that can be included as individual files in a PDPArchive export.</t>
            <t>TODO:  figure out if these can have RFC9610 "id" field</t>
            <t>Because a ContactCard item can reference an AddressBook item, if a system exports contacts
belonging to address books it <bcp14>SHOULD</bcp14> also export the referenced AddressBook objects.  Likewise,
it <bcp14>SHOULD</bcp14> export the other ContactCard objects that are referenced in the 'relatedTo' field.
A permission or scope inconsistency would be one reason why the exporting system would not do so.
For example, if the user chose to export only a public address book containing the "John Doe"
contact, and not the private "Wedding guests" address book that John Doe also belonged to,
then the private address book would either appear as an unresolvable ID or be cleaned up
so that it didn't appear (implementor's choice).  Likewise, when "John Doe" is exported
as part of a single address book export, but the <tt>friend</tt> relation in <tt>relatedTo</tt> is not
exported because they're not in the same address book, the <tt>relatedTo</tt> value may be included
in the export even if not resolvable by some users of the export file.</t>
          </section>
          <section anchor="group-contact-items">
            <name>Group Contact Items</name>
            <t>Group contact items also refer to other contact items.  A file with an arbitrary name like "contact2.json"
could include:</t>
            <figure anchor="example4">
              <name>A group contact file example</name>
              <artwork><![CDATA[
{
   "@type": "ContactCard",
   "kind": "group",
   "name": {
     "full": "The Doe family"
   },
   "uid": "urn:uuid:ab4310aa-fa43-11e9-8f0b-362b9e155667",
   "updated": "2021-10-31T22:27:10Z",
   "members": {
     "urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af": true,
     "urn:uuid:b8767877-b4a1-4c70-9acc-505d3819e519": true
   }
}
]]></artwork>
            </figure>
            <t>As with individual ContactCard items referencing objects that are not exported at the same time,
a group contact can contain references that are not resolvable within the export.  If the user
chooses to export all address books then presumably the "The Doe family" group members can
all be found somewhere in the export, but if they export only the address book containing
"The Doe family" group and not the address books containing individual members, those IDs
would not be found in the export.</t>
          </section>
        </section>
        <section anchor="using-rfc9610-address-book-objects">
          <name>Using RFC9610 address book objects</name>
          <t>The <xref target="vCard"/> specifications never defined a representation for address books.  Nor did
<xref target="JSContact"/>.  JMAP for Contacts <xref target="RFC9610"/> does.  Its model is clearly that of
non-exclusive collection membership: a Contact item may appear with the same UID in multiple
Address Books, and if the Contact item with that UID is updated in one it is updated in the other
also.</t>
          <t>Individual address book objects are returned in JMAP protocol messages with protocol wrappers.
It is the items inside the "list" element inside "AddressBook/get" that are nearly ready to
be represented as individual files in a PDPArchive. However, some things are missing:
* <tt>uid</tt> is called 'id' in JMAP for Contacts but this specification REQUIRES <tt>uid</tt>.
* <tt>updated</tt> is required
* The <tt>@type</tt> of AddressBook should be included within the data</t>
          <t>This example copies the examples in <xref target="RFC9610"/> so that interoperability between this spec and that one
is clear.</t>
          <t>A file with an arbitrary name like address-book1.json would contain:</t>
          <figure anchor="example5">
            <name>An address book file example</name>
            <artwork><![CDATA[
{
   "@type": "AddressBook",
   "uid": "062adcfa-105d-455c-bc60-6db68b69c3f3",
   "updated": "2020-01-09T14:32:01Z",
   "name": "Personal",
   "description": null,
   "sortOrder": 0,
   "isDefault": true,
   "isSubscribed": true,
   "shareWith": {
     "3f1502e0-63fe-4335-9ff3-e739c188f5dd": {
       "mayRead": true,
       "mayWrite": false,
       "mayShare": false,
       "mayDelete": false
     }
   },
   "myRights": {
     "mayRead": true,
     "mayWrite": true,
     "mayShare": true,
     "mayDelete": false
   }
}
]]></artwork>
          </figure>
          <t>address-book2.json would contain:</t>
          <figure anchor="example6">
            <name>Another address book file example</name>
            <artwork><![CDATA[
address-book2.json
{
   "@type": "AddressBook",
   "uid": "cd40089d-35f9-4fd7-980b-ba3a9f1d74fe",
   "updated": "2020-01-09T14:32:01Z",
   "name": "Autosaved",
   "description": null,
   "sortOrder": 1,
   "isDefault": false,
   "isSubscribed": true,
   "shareWith": null,
   "myRights": {
     "mayRead": true,
     "mayWrite": true,
     "mayShare": true,
     "mayDelete": false
   }
}
]]></artwork>
          </figure>
          <t>Note that the first example includes a <tt>shareWith</tt> value, showing that the user's AddressBook has been
shared with in this case one other principal with the id "3f1502e0-63fe-4335-9ff3-e739c188f5dd".
This information can be exported and may be quite useful in case of backup/restore use cases.
However, it may not be useful in other administrative domains where the same concept of principals
does not allow the Principal ID to be resolved against the correct account.  In any case, the
object referred to by this Principal ID is not itself given representation in the PDP Archive export.</t>
        </section>
        <section anchor="calendar-events-tasks-and-groups">
          <name>Calendar events, tasks and groups</name>
          <t><xref target="JSCalendar"/> is the basis for representing events, tasks and groups in JSON.
This section explains how to export individual events and tasks within an archive.
JMAP for Calendars (https://datatracker.ietf.org/doc/draft-ietf-jmap-calendars/)
does provide some additional considerations when producing calendar data from a JMAP
system or to be consumed by a JMAP system, so it is also a normative reference.</t>
          <t>Note on  <xref target="CalDAV"/> compatibility: Although CalDAV servers are fairly common, they support the
older VEVENT and VTODO syntax.  This specification requires the JSCalendar syntax instead.
Either way, a server building a personal data archive is likely transforming an internal
implementation-specific relational data format to an export format.</t>
          <t>Note on ETag: CalDAV servers use the event's UID to identify the same object, and use ETags
to identify changed events, so that a CalDAV client may make sure it has the version a
server has before it updates an item, solving the lost-update problem.  Since this
specification doesn't attempt to solve the lost-update problem as well as client-server
protocols can, and since JSCalendar does not include the ETag of a calendar event in any way,
this specification does not include any requirements for ETags.</t>
          <t>Notes on specific fields:</t>
          <ul spacing="normal">
            <li>
              <t>The globally unique <tt>uid</tt> property is mandatory in JSCalendar and <bcp14>MUST</bcp14> be included.
See JMAP Calendars draft-ietf-jmap-calendars-26 section 1.4.1 for when the <tt>uid</tt> property can appear the same for
multiple recurrences of the same underlying event.</t>
            </li>
            <li>
              <t>The <tt>updated</tt> property is mandatory in JSCalendar and <bcp14>MUST</bcp14> be included.</t>
            </li>
            <li>
              <t>The <tt>sequence</tt> value is optional in JSCalendar but <bcp14>SHOULD</bcp14> be included if available.</t>
            </li>
            <li>
              <t>The <tt>@type</tt> property for one of these items <bcp14>MUST</bcp14> be "Event", "Task" or "Group".</t>
            </li>
            <li>
              <t>Recurrence rules <bcp14>SHOULD</bcp14> be fully exported, unless it's clear from the use case
or user request that the
destination for the data wants expanded recurrences within a specific time period.</t>
            </li>
            <li>
              <t>The <tt>calendarIds</tt> field defined in JMAP Calendars is <bcp14>REQUIRED</bcp14> in order to match up
events to the calendar they are supposed to appear in.</t>
            </li>
          </ul>
          <t>For example, a file called event1.json could contain:</t>
          <figure anchor="example-event1">
            <name>Event example</name>
            <artwork><![CDATA[
{
  "@type": "Event",
  "uid": "2a358cee-6489-4f14-a57f-c104db4dc2f2",
  "updated": "2020-01-09T14:32:01Z",
  "title": "Board Meeting",
  "start": "2024-10-25T09:00:00",
  "timeZone": "Europe/London",
  "duration": "PT1H30M",
  "participants": {
    "1": {
      "@type": "Participant",
      "name": "Jane Doe",
      "sendTo": {
        "mailto": "jane@example.com"
      },
      "roles": {
        "attendee": true
      }
    }
  },
  "calendarIds": {
    "062adcfa-105d-455c-bc60-6db68b69c3f3": true
  }
}
]]></artwork>
          </figure>
          <t>The event object includes a calendarIds property, which links it to the calendar collection it belongs to.</t>
        </section>
        <section anchor="calendar-collection-items">
          <name>Calendar Collection Items</name>
          <t>Calendar collection items are built using JMAP for Calendars (draft-ietf-jmap-calendars-26).</t>
          <t>If a system exports events belonging to calendars, it <bcp14>SHOULD</bcp14> also export the referenced Calendar objects.</t>
          <t>A file with an arbitrary name, such as calendar1.json, in a directory (e.g., \calendars\calendar2) would contain the calendar's metadata:</t>
          <figure anchor="calendar1">
            <name>Calendar example</name>
            <artwork><![CDATA[
{
  "@type": "Calendar",
  "uid": "062adcfa-105d-455c-bc60-6db68b69c3f3",
  "updated": "2020-01-09T14:32:01Z",
  "name": "Work Calendar",
  "color": "#123456",
  "sortOrder": 0,
  "isDefault": true,
  "isSubscribed": true,
  "myRights": {
    "mayRead": true,
    "mayWrite": true,
    "mayShare": true,
    "mayDelete": false
  }
}
]]></artwork>
          </figure>
          <t>The <tt>uid</tt> value here corresponds to the ID used in the calendarIds property of the individual event item.</t>
          <t>TODO: fix the relationship between folder.json and calendar metadata</t>
          <section anchor="tasks">
            <name>Tasks</name>
            <t>Tasks are also defined by <xref target="JSCalendar"/> using the "Task" object type.
As with events, tasks <bcp14>MUST</bcp14> include the uid and updated fields to support synchronization.</t>
            <t>For example, a file called task1.json could contain:</t>
            <figure anchor="task1">
              <name>Task example</name>
              <artwork><![CDATA[
{
  "@type": "Task",
  "uid": "7b0f69a6-6e3e-4f1b-85d8-c89b43d2f2a1",
  "updated": "2022-11-23T15:01:32Z",
  "title": "Submit Quarterly Report",
  "status": "in-progress",
  "priority": 1,
  "due": "2024-12-31T23:59:59Z"
}
]]></artwork>
            </figure>
          </section>
        </section>
        <section anchor="notes">
          <name>Notes</name>
          <ul spacing="normal">
            <li>
              <t>VJournal is first defined in <xref target="iCalendar"/>.</t>
            </li>
            <li>
              <t>VJournal also used in  <xref target="CalDAV"/>.</t>
            </li>
            <li>
              <t>However, they are NOT used in https://jmap.io/spec-calendars.html</t>
            </li>
          </ul>
          <t>Do we even have a JSON format for notes defined?</t>
        </section>
        <section anchor="files">
          <name>Files</name>
          <t>TODO</t>
        </section>
        <section anchor="other">
          <name>Other</name>
          <t>(LMD Note: I think this might better fit in an out of scope section - I think out of scope sections are useful for statements that explain why scope is limited.  that's assuming we all agree that groups, freebusy and timezones are left out.)</t>
          <t>Groups as defined in JSCalendar are NOT part of this archive format.  Groups in JSCalendar can combine events and tasks in a container.  This specification, for consistency and simplicity, uses folders and requires individual objects to be in separate files.</t>
          <t>VFREEBUSY objects are not part of this archive format.  Calendar software can calculate freebusy time from event data.  Use cases that are not satisfied by this limitation could extend this archive format but understanding what it means to backup, restore, export or import freebusy data would need to be fleshed out.</t>
          <t>VTIMEZONE objects are not part of this archive format.  Timezones are more
likely to be system objects referred to by calendar objects in modern calendar
systems, than personal data.  If there are use cases for timezones as personal
data, this specification can be extended to explain how that would work.</t>
        </section>
      </section>
      <section anchor="synchronization-requirements">
        <name>Synchronization requirements</name>
        <t>This section describes the requirements to achieve repeated one-way synchronization via export/import operations between software by different vendors. While limited, this still provides better functionality than what many end-users experience with their groupware software and services today.</t>
        <t>Supporting <em>repeated</em> synchronization means that the export from system A and import to system B can happen over and over again without needlessly duplicating items.  Supporting <em>one-way</em> synchronization means that changes in the system with the exporter role propagate reliably to the system with the importer role, but not in the reverse direction.   Some of the constraints here arise from the fact that the two systems may not directly connect, and the import may be time-delayed from the export.</t>
        <t>This limited solution for export/import sync may also be used for more direct system-to-system transfers such as service-to-service data transfers, repeated data access requests or data migrations, although some of those use cases could be solved much better with direct negotiation of features.</t>
        <section anchor="uid-updated">
          <name>Always include 'uid' and 'updated'</name>
          <t>These requirements apply to <xref target="JSContact"/>, JSTask and <xref target="JSCalendar"/> objects when exported or imported using the formats in this specification, because these all have 'uid' and 'updated' values.</t>
          <t>Requirements:</t>
          <ul spacing="normal">
            <li>
              <t>exporters <bcp14>MUST</bcp14> include the UID and updated fields.</t>
            </li>
            <li>
              <t>The 'updated' field <bcp14>MUST</bcp14> be exported in UTC and interpreted in UTC.  Accurate system time is important.</t>
            </li>
            <li>
              <t>importers <bcp14>MUST</bcp14> use the UID in an imported object, if the importer is creating a new object, rather than invent a new UID.</t>
            </li>
            <li>
              <t>importers <bcp14>MUST</bcp14> search for existing objects with the same UID, and if the object in storage is <em>similar enough</em>  (see Note below) to the import data, the importer <bcp14>SHOULD NOT</bcp14> change the object and <bcp14>MUST NOT</bcp14> update its 'updated' timestamp.</t>
            </li>
          </ul>
          <t>Recommendations:</t>
          <ul spacing="normal">
            <li>
              <t>Importers <bcp14>SHOULD</bcp14> use caution with fields that are system-updated, especially frequently updated.  Such fields <bcp14>SHOULD NOT</bcp14> change the value of 'updated' that is exported or used to decide whether to update an object during an import operation. See note below on 'updated'.</t>
            </li>
            <li>
              <t>Importers <bcp14>SHOULD</bcp14> apply common sense in updating internal or implementation-specific fields.  This specification does not require the importer to include, omit, handle or disregard values for fields that it believes are internally-generated or implementation-specific.  For example, a system in the role of exporter might export an event object with a video-conference room ID in a custom field.  It can decide that it is sensible to export that value as a URL for external use.  Later, the same system or one with code written for compatibility could import that event with the video-conference URL, and it would be sensible to avoid overwriting its own knowledge of the room ID with the URL.</t>
            </li>
            <li>
              <t>When importing a <em>changed</em> or <em>new</em> object with a UID and 'updated' value, the importer <bcp14>SHOULD</bcp14> set the 'updated' value to the one imported. Thus, if a Contact is updated on Jan 1, exported on Jan 2 and imported on Jan 3, the new or updated imported contact would show an 'updated' value of Jan 1.</t>
            </li>
          </ul>
          <t>Note on <em>similar enough</em>: This specification requires nuance in order to allow both reasonably consistent synchronization and reasonable behavior in a wide variety of use cases and implementations.  The language above is intended to give implementors both guidance and wiggle room.  For example, the importer could convert a DTSTART time from UTC to the user's local time and save it as the displayed start time. Later, re-importing the same object with the same UID, the importing code could be smart enough to realize that the time hasn't <em>actually</em> changed, and avoid changing the 'updated' timestamp or creating a conflicting event.  This logic could be implemented by saving separate fields (imported time vs display time), by keeping a log of updates (log entry stating that the system auto-converted start time from X to Y), or by other clever algorithms. Thus, the clever implementation can avoid the appearance of an object that changes every time the calendar is synchronized.</t>
          <t>Note on <em>updated</em>: The definition of 'updated' in <xref target="JSContact"/> is not rigorous or nuanced. "when the data in the Card was last modified" could refer to several instances of the card -- its internal implementation, its representation in an email share, its representation in an HTTP GET response (<xref target="CardDAV"/>).   It's not specified whether 'updated' is the same as REV in <xref target="vCard"/>, which is defined differently.  Neither definition explicitly covers vendor-specific fields.  Thus, this specification makes additional recommendations for handling 'updated':</t>
          <ul spacing="normal">
            <li>
              <t>The value of 'updated' <bcp14>SHOULD</bcp14> only change when two conditions hold: the end-user makes a decision to change a value of a user-visible field, AND the export of the JSContact shows a different value.</t>
            </li>
            <li>
              <t>Thus, non-user-visible fields like 'version' could be changed without causing the 'updated' value to change.  A value such as 'language' could be set without changing 'updated' (if an implementation infers the language tag and begins to include 'fr-CA' as the language value in exports instead of no language, nevertheless this doesn't change the user-visible content).</t>
            </li>
            <li>
              <t>If implementations need to manage the synchronization of vendor-specific fields, a vendor-specific field like 'example.com:updated' can be used rather than affect the user-visible synchronization made possible by 'updated'. Implementations could possibly also handle 'updated' differently when used for export/import using the formats in this specification, than when the same field is handled in other code paths.</t>
            </li>
          </ul>
          <t>We recognize that this understanding of 'updated' is highly judgement-dependent. The same field can change in one way and cause a change to 'updated' and in another way may not (the example of server inferring the language is 'fr-CA' vs the user explicitly setting it).  It is likely to be frustrating to protocol designers and implementors (as it is to the authors of this specification) that the definition is so wobbly.  We'd love to know of better solutions that work with the status quo.</t>
          <section anchor="synchronizing-from-and-to-caldav-servers">
            <name>Synchronizing from and to CalDAV servers</name>
            <t><xref target="CalDAV"/> uses URLs, ETags and UIDs for synchronizing changes between two systems reliably, but it relies upon client-server architecture, where the server is the "source of truth" and the client must manage its local history and decide which things to update from the server and which things to tell the server to update.  If a user is setting up synchronization or an implementor is building a system that involves synchronization, it may be best to use CalDAV if that is a feasible solution.</t>
            <t>Nevertheless, we believe some of the use cases in our <eref target="use_cases">use case section</eref> motivate not only including calendar data in these archives for backup purposes, but also for partial updates.  This works the same way it does for JSContact and JSCard objects.</t>
          </section>
        </section>
        <section anchor="synchronizing-address-books">
          <name>Synchronizing address books</name>
          <t>Build on <xref target="RFC9610"/></t>
        </section>
        <section anchor="synchronizing-mailbox-folders">
          <name>Synchronizing mailbox folders</name>
          <t>Because servers may differ in which characters they support in folder names, how many levels deep folders may be created, and even in what separator character is used to indicate folder hierarchy, difficulties in synchronizing folder names will definitely arise.  Folder names that are not likely to be widely supported in other systems should be translated for export, because if the exporting system has a consistent translation algorithm, then even if the mailbox name looks different in the importing system it will still be imported consistently.</t>
          <t>Systems that support mailbox IDs <bcp14>MUST</bcp14> include them in exports.  Systems that do not (though it's strongly encouraged) <bcp14>SHOULD</bcp14> use the full mailbox name as the unique identifier value.</t>
          <ul empty="true">
            <li>
              <t>TODO: Also it would be good to include a "display name" in case the server has had to translate the mailbox name for compatibility.  E.g. a server that has a mailbox named "%L33T%", but knows the "%" should not be exported because many servers forbid the "%", would translate the name consistently to <em>pc_L33T_pc</em> or another set of safe characters and include a display name of "%L33T%" for reference and debugging.</t>
            </li>
          </ul>
        </section>
        <section anchor="blobs-and-files">
          <name>Blobs and files?</name>
          <t>Reference <xref target="RFC9404"/>?</t>
        </section>
      </section>
    </section>
    <section anchor="open-issues">
      <name>Open issues</name>
      <section anchor="container-format">
        <name>Container format</name>
        <t>This document leverages existing data formats and adds certain files for representing metadata. While one may work with this raw data, most import/export scenarios will rather require the bundling of individual data items into one or few container files.</t>
        <t>This document does not strive to invent its own container format, but may refer to existing ones.</t>
        <t>High level options would be:</t>
        <ul spacing="normal">
          <li>
            <t>Recommend using a container format without preferring a particular one</t>
          </li>
          <li>
            <t>Mandating a specific format</t>
          </li>
          <li>
            <t>...?</t>
          </li>
        </ul>
        <t>Actual container formats likely differ in various dimensions:</t>
        <ul spacing="normal">
          <li>
            <t>Ease of adding incremental data</t>
          </li>
          <li>
            <t>Ease of updating existing data</t>
          </li>
          <li>
            <t>Ease of accessing files</t>
          </li>
          <li>
            <t>Support for compression</t>
          </li>
          <li>
            <t>Support for data streaming</t>
          </li>
          <li>
            <t>Availability of library/tool support across platforms</t>
          </li>
          <li>
            <t>Internal file references</t>
          </li>
          <li>
            <t>Open standard</t>
          </li>
          <li>
            <t>...?</t>
          </li>
        </ul>
        <t>Candidates</t>
        <ul spacing="normal">
          <li>
            <t>tar/gz</t>
          </li>
          <li>
            <t>zip</t>
          </li>
          <li>
            <t>7z</t>
          </li>
          <li>
            <t>zpaq</t>
          </li>
          <li>
            <t>...?</t>
          </li>
        </ul>
        <t>See https://github.com/hhappel/draft-happel-mailmaint-pdparchive/issues/13</t>
      </section>
      <section anchor="encryption">
        <name>Encryption</name>
        <t>Support for encryption of any kind is so far no requirement in the draft. However, an increasing number of services offers forms of data encryption. Implications for this draft may be considered.</t>
        <t>"Encryption" might refer to various aspects:</t>
        <ul spacing="normal">
          <li>
            <t>Existing encryption of individual files in the export</t>
          </li>
          <li>
            <t>Encrypting the complete export (incl. metadata?)</t>
          </li>
          <li>
            <t>...?</t>
          </li>
        </ul>
        <t>See https://github.com/hhappel/draft-happel-mailmaint-pdparchive/issues/14</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation status</name>
      <t>&lt; RFC Editor: before publication please remove this section and the reference to <xref target="RFC7942"/> &gt;</t>
      <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy considerations</name>
      <t>tbd.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="file-extension">
        <name>File extension</name>
        <t>Register .pdpa?</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="CardDAV">
          <front>
            <title>CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)</title>
            <author fullname="C. Daboo" initials="C." surname="Daboo"/>
            <date month="August" year="2011"/>
            <abstract>
              <t>This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing contact information based on the vCard format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6352"/>
          <seriesInfo name="DOI" value="10.17487/RFC6352"/>
        </reference>
        <reference anchor="RFC8474">
          <front>
            <title>IMAP Extension for Object Identifiers</title>
            <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>This document updates RFC 3501 (IMAP4rev1) with persistent identifiers on mailboxes and messages to allow clients to more efficiently reuse cached data when resources have changed location on the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8474"/>
          <seriesInfo name="DOI" value="10.17487/RFC8474"/>
        </reference>
        <reference anchor="JMAP">
          <front>
            <title>The JSON Meta Application Protocol (JMAP) for Mail</title>
            <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>This document specifies a data model for synchronising email data with a server using the JSON Meta Application Protocol (JMAP). Clients can use this to efficiently search, access, organise, and send messages, and to get push notifications for fast resynchronisation when new messages are delivered or a change is made in another client.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8621"/>
          <seriesInfo name="DOI" value="10.17487/RFC8621"/>
        </reference>
        <reference anchor="JSCalendar">
          <front>
            <title>JSCalendar: A JSON Representation of Calendar Data</title>
            <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
            <author fullname="R. Stepanek" initials="R." surname="Stepanek"/>
            <date month="July" year="2021"/>
            <abstract>
              <t>This specification defines a data model and JSON representation of calendar data that can be used for storage and data exchange in a calendaring and scheduling environment. It aims to be an alternative and, over time, successor to the widely deployed iCalendar data format. It also aims to be unambiguous, extendable, and simple to process. In contrast to the jCal format, which is also based on JSON, JSCalendar is not a direct mapping from iCalendar but defines the data model independently and expands semantics where appropriate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8984"/>
          <seriesInfo name="DOI" value="10.17487/RFC8984"/>
        </reference>
        <reference anchor="JSContact">
          <front>
            <title>JSContact: A JSON Representation of Contact Data</title>
            <author fullname="R. Stepanek" initials="R." surname="Stepanek"/>
            <author fullname="M. Loffredo" initials="M." surname="Loffredo"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This specification defines a data model and JavaScript Object Notation (JSON) representation of contact card information that can be used for data storage and exchange in address book or directory applications. It aims to be an alternative to the vCard data format and to be unambiguous, extendable, and simple to process. In contrast to the JSON-based jCard format, it is not a direct mapping from the vCard data model and expands semantics where appropriate. Two additional specifications define new vCard elements and how to convert between JSContact and vCard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9553"/>
          <seriesInfo name="DOI" value="10.17487/RFC9553"/>
        </reference>
        <reference anchor="RFC9610">
          <front>
            <title>JSON Meta Application Protocol (JMAP) for Contacts</title>
            <author fullname="N. Jenkins" initials="N." role="editor" surname="Jenkins"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document specifies a data model for synchronising contact data with a server using the JSON Meta Application Protocol (JMAP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9610"/>
          <seriesInfo name="DOI" value="10.17487/RFC9610"/>
        </reference>
        <reference anchor="RFC9051">
          <front>
            <title>Internet Message Access Protocol (IMAP) - Version 4rev2</title>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <author fullname="B. Leiba" initials="B." role="editor" surname="Leiba"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>The Internet Message Access Protocol Version 4rev2 (IMAP4rev2) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev2 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev2 also provides the capability for an offline client to resynchronize with the server.</t>
              <t>IMAP4rev2 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; removing messages permanently; setting and clearing flags; parsing per RFCs 5322, 2045, and 2231; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev2 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers.</t>
              <t>IMAP4rev2 does not specify a means of posting mail; this function is handled by a mail submission protocol such as the one specified in RFC 6409.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9051"/>
          <seriesInfo name="DOI" value="10.17487/RFC9051"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC822">
          <front>
            <title>STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="August" year="1982"/>
            <abstract>
              <t>This document revises the specifications in RFC 733, in order to serve the needs of the larger and more complex ARPA Internet. Some of RFC 733's features failed to gain adequate acceptance. In order to simplify the standard and the software that follows it, these features have been removed. A different addressing scheme is used, to handle the case of internetwork mail; and the concept of re-transmission has been introduced. Obsoletes RFC 733, NIC 41952.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="11"/>
          <seriesInfo name="RFC" value="822"/>
          <seriesInfo name="DOI" value="10.17487/RFC0822"/>
        </reference>
        <reference anchor="IMAP4">
          <front>
            <title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
            <author fullname="M. Crispin" initials="M." surname="Crispin"/>
            <date month="March" year="2003"/>
            <abstract>
              <t>The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev1 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server. IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes, checking for new messages, permanently removing messages, setting and clearing flags, RFC 2822 and RFC 2045 parsing, searching, and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 supports a single server. A mechanism for accessing configuration information to support multiple IMAP4rev1 servers is discussed in RFC 2244. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as RFC 2821. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3501"/>
          <seriesInfo name="DOI" value="10.17487/RFC3501"/>
        </reference>
        <reference anchor="RFC2822">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
            <date month="April" year="2001"/>
            <abstract>
              <t>This document specifies a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2822"/>
          <seriesInfo name="DOI" value="10.17487/RFC2822"/>
        </reference>
        <reference anchor="MBOX">
          <front>
            <title>The application/mbox Media Type</title>
            <author fullname="E. Hall" initials="E." surname="Hall"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This memo requests that the application/mbox media type be authorized for allocation by the IESG, according to the terms specified in RFC 2048. This memo also defines a default format for the mbox database, which must be supported by all conformant implementations. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4155"/>
          <seriesInfo name="DOI" value="10.17487/RFC4155"/>
        </reference>
        <reference anchor="RFC4314">
          <front>
            <title>IMAP4 Access Control List (ACL) Extension</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>The Access Control List (ACL) extension (RFC 2086) of the Internet Message Access Protocol (IMAP) permits mailbox access control lists to be retrieved and manipulated through the IMAP protocol.</t>
              <t>This document is a revision of RFC 2086. It defines several new access control rights and clarifies which rights are required for different IMAP commands. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4314"/>
          <seriesInfo name="DOI" value="10.17487/RFC4314"/>
        </reference>
        <reference anchor="CalDAV">
          <front>
            <title>Calendaring Extensions to WebDAV (CalDAV)</title>
            <author fullname="C. Daboo" initials="C." surname="Daboo"/>
            <author fullname="B. Desruisseaux" initials="B." surname="Desruisseaux"/>
            <author fullname="L. Dusseault" initials="L." surname="Dusseault"/>
            <date month="March" year="2007"/>
            <abstract>
              <t>This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing calendaring and scheduling information based on the iCalendar format. This document defines the "calendar-access" feature of CalDAV. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4791"/>
          <seriesInfo name="DOI" value="10.17487/RFC4791"/>
        </reference>
        <reference anchor="iCalendar">
          <front>
            <title>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</title>
            <author fullname="B. Desruisseaux" initials="B." role="editor" surname="Desruisseaux"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document defines the iCalendar data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5545"/>
          <seriesInfo name="DOI" value="10.17487/RFC5545"/>
        </reference>
        <reference anchor="RFC5598">
          <front>
            <title>Internet Mail Architecture</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="July" year="2009"/>
            <abstract>
              <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5598"/>
          <seriesInfo name="DOI" value="10.17487/RFC5598"/>
        </reference>
        <reference anchor="RFC6154">
          <front>
            <title>IMAP LIST Extension for Special-Use Mailboxes</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="J. Nicolson" initials="J." surname="Nicolson"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new optional mailbox attributes that a server may include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6154"/>
          <seriesInfo name="DOI" value="10.17487/RFC6154"/>
        </reference>
        <reference anchor="vCard">
          <front>
            <title>vCard Format Specification</title>
            <author fullname="S. Perreault" initials="S." surname="Perreault"/>
            <date month="August" year="2011"/>
            <abstract>
              <t>This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.). This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6350"/>
          <seriesInfo name="DOI" value="10.17487/RFC6350"/>
        </reference>
        <reference anchor="RFC7162">
          <front>
            <title>IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <author fullname="D. Cridland" initials="D." surname="Cridland"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>Often, multiple IMAP (RFC 3501) clients need to coordinate changes to a common IMAP mailbox. Examples include different clients working on behalf of the same user and multiple users accessing shared mailboxes. These clients need a mechanism to efficiently synchronize state changes for messages within the mailbox.</t>
              <t>Initially defined in RFC 4551, the Conditional Store facility provides a protected update mechanism for message state information and a mechanism for requesting only changes to the message state. This memo updates that mechanism and obsoletes RFC 4551, based on operational experience.</t>
              <t>This document additionally updates another IMAP extension, Quick Resynchronization, which builds on the Conditional STORE extension to provide an IMAP client the ability to fully resynchronize a mailbox as part of the SELECT/EXAMINE command, without the need for additional server-side state or client round trips. Hence, this memo obsoletes RFC 5162.</t>
              <t>Finally, this document also updates the line-length recommendation in Section 3.2.1.5 of RFC 2683.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7162"/>
          <seriesInfo name="DOI" value="10.17487/RFC7162"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9404">
          <front>
            <title>JSON Meta Application Protocol (JMAP) Blob Management Extension</title>
            <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>The JSON Meta Application Protocol (JMAP) base protocol (RFC 8620) provides the ability to upload and download arbitrary binary data via HTTP POST and GET on a defined endpoint. This binary data is called a "blob".</t>
              <t>This extension adds additional ways to create and access blobs by making inline method calls within a standard JMAP request.</t>
              <t>This extension also adds a reverse lookup mechanism to discover where blobs are referenced within other data types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9404"/>
          <seriesInfo name="DOI" value="10.17487/RFC9404"/>
        </reference>
        <reference anchor="PST" target="https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-pst/141923d5-15ab-4ef1-a524-6dce75aae546">
          <front>
            <title>[MS-PST]: Outlook Personal Folders (.pst) File Format</title>
            <author>
              <organization>Microsoft</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="GoogleTakeout" target="https://takeout.google.com/settings/takeout">
          <front>
            <title>Google Takeout</title>
            <author>
              <organization>Google</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1328?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
J/BiYhPDQ0NEujbKbNbeQCwKpuQwhDmJoQYTW0rb0B3oNfOlmuZwB/ot9vmF
/07tPS82dmHJ/8DsLK0S/Qb29SkSsA295QZjsF7QhinYtet+nh3YzdqMwNEn
VF5dF4loQ8l11uIhPtcTO3Z24x/cjNyv4Q/bTZVF4wgIpVoiztCUFViy9MMG
YvhspdnnIQa7Yd/DJbY5IB2vJI/9YjDcG+0feM/vhtJso87sMX3FumJio15i
s1pis1Zio1IivGLu+Ox2edGwdcGEzRC6LVlNXdoXRx6IK7bUJuFhhnfPWI62
sMe3xGXQmua/KIwKBw+7glPXhm7aYa1hBzFqkGWXfOpRhFLzCWlkJGnIuHIv
xWYlnIH6jhDI9Z39rinrMlMR8qvIoRLWa7TEIqWTstpOhU+SSozy2ZSSZx3e
h8Px7vTgODnoHWR7GQjluHe0nx71JkfH49FeSmQyGWy6D5sdn4I8IqvxnBDL
v68SZCIlpuhdJjmalWQuV7U40/Xo2G+ga1KaR4xKpeFDSh0zT1yHbPndO9k/
5jTOAZTyLhiEYpVraYq/YAdYrrv03TflimsEQVPB2rKGo3DuT7wffi0F/BR6
A+G6L15PolxybA9yILosPpaQBS6pebkD7syj7j58VKPorCTJSHwMtFSf5DYW
kVQi7CGD6Fy/9Kkna7kU8uANm7GirVeXZ7zik/iCDTofRFMkRVWlPCctXqUk
dlZCujT2sDFRoueabnotNyb0haVjVclJ6yJLfADccdR1pzZ/U5Ip8c0zpF6s
Vyyv32diL76pMtVmioqoy+kdx6v6wdXZRkZsGZ6rJ6Pg4LZ6UnAux5CbDQQP
PZVG6e1mflqa1leBXsrTaraUz8cos7GmecqdWzcqQm3UgHSlxmjgtyTyLUEo
cW3gNyRbtaUQ8lV/GtY7Z/BXF/OWoxshiu9evjs/f/7t1R8alkpIuU+v2qtk
yunyPtGU1ASiCNxA/3YELE+wFCNImXNex5wJj/WsTe+BmlZfc6V701T6CmyK
riRf9aZpsYjHMidXWWQYsVqskoe5VHVvN1Z9bzfIpCWRtX7mIjuJUT5zeUmn
tG+3WrSStu/64vL8j29en//G7btuACUSbEamkuJRTMennbZUuJMWc8Um75LW
XbhXkSsBx0nVG4ow54ahJdOdzlvERj+12rWL0G5jQUuncvfZWxtxPjgA2USE
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

-->

</rfc>
