{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T16:07:01.740Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7652",
  "document": {
    "abstract": "An IPv4 or IPv6 host can use the Port Control Protocol (PCP) to flexibly manage the IP address-mapping and port-mapping information on Network Address Translators (NATs) or firewalls to facilitate communication with remote hosts. However, the uncontrolled generation or deletion of IP address mappings on such network devices may cause security risks and should be avoided. In some cases, the client may need to prove that it is authorized to modify, create, or delete PCP mappings. This document describes an in-band authentication mechanism for PCP that can be used in those cases. The Extensible Authentication Protocol (EAP) is used to perform authentication between PCP devices. This document updates RFC 6887.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "authors": [
      {
        "name": "Margaret Cullen"
      },
      {
        "name": "Sam Hartman"
      },
      {
        "name": "Dacheng Zhang"
      },
      {
        "name": "Tirumaleswar Reddy.K"
      }
    ],
    "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/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docId": "RFC7652",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docLabel": "IETF RFC 7652",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docNumber": "7652",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T16:07:01.740Z",
      "version": "extractDocs.js@commit:cc2368606b5f"
    },
    "docTitle": "Port Control Protocol (PCP) Authentication Mechanism",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "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/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "doi": "10.17487/RFC7652",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "href": "https://doi.org/10.17487/RFC7652",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "pages": "34",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "publicationDate": "2015-09-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "references": {
      "bibliographic": [
        "RFC5216",
        "RFC5433",
        "RFC5448"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=13 proseBlocks=16 skippedAnchorBlocks=14",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "normative": [
        "RFC2119",
        "RFC3629",
        "RFC3748",
        "RFC4868",
        "RFC5281",
        "RFC6887",
        "RFC7170",
        "RFC7296",
        "RFC7613",
        "RFC7648"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7652/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
      "updated": "2026-10-20T09:42:33.270Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "amends": [
        "RFC6887"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "errataExist": true,
      "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/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc7652",
        "https://www.rfc-editor.org/errata_search.php?rfc=7652"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "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/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7652/",
        "updated": "2026-10-20T09:42:33.270Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    }
  }
}