{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T16:16:14.786Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8591",
  "document": {
    "abstract": "Mobile messaging applications used with the Session Initiation Protocol (SIP) commonly use some combination of the SIP MESSAGE method and the Message Session Relay Protocol (MSRP). While these provide mechanisms for hop-by-hop security, neither natively provides end-to-end protection. This document offers guidance on how to provide end-to-end authentication, integrity protection, and confidentiality using the Secure/Multipurpose Internet Mail Extensions (S/MIME). It updates and provides clarifications for RFCs 3261, 3428, and 4975.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Ben Campbell"
      },
      {
        "name": "Russ Housley"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC8591",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 8591",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "8591",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "SIP-Based Messaging with S/MIME",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docType": "Standard",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC8591",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC8591",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "keywords": [
      "MSRP",
      "CPIM"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "pages": "39",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2019-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "RFC3325",
        "RFC3840",
        "RFC3860",
        "RFC3862",
        "RFC4648",
        "RFC4976",
        "RFC5438",
        "RFC6121",
        "RFC7515",
        "RFC7516",
        "RFC7701",
        "RFC7748",
        "RFC8032",
        "RFC8224",
        "IETF.draft-ietf-sipbrandy-rtpsec-08",
        "orphan/RFC8591/h:55b046c6",
        "orphan/RFC8591/h:fa7b0092",
        "orphan/RFC8591/h:85943da1"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=44 proseBlocks=49 skippedAnchorBlocks=44",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "normative": [
        "RFC2119",
        "RFC3261",
        "RFC3264",
        "RFC3428",
        "RFC3565",
        "RFC3853",
        "RFC4566",
        "RFC4975",
        "RFC5084",
        "RFC5280",
        "RFC5480",
        "RFC5652",
        "RFC5753",
        "RFC5754",
        "RFC8174",
        "RFC8418",
        "RFC8419",
        "RFC8550",
        "RFC8551",
        "T-REC-X.680.2015",
        "T-REC-X.690.2015"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8591/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
      "updated": "2026-10-14T16:16:14.786Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "amends": [
        "RFC3261",
        "RFC3428",
        "RFC4975"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "errataExist": false,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "statusNote": "Proposed Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8591/",
        "updated": "2026-10-14T16:16:14.786Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}