{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T19:29:35.738Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC5520",
  "document": {
    "abstract": "Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) may be computed by Path Computation Elements (PCEs). Where the TE LSP crosses multiple domains, such as Autonomous Systems (ASes), the path may be computed by multiple PCEs that cooperate, with each responsible for computing a segment of the path. However, in some cases (e.g., when ASes are administered by separate Service Providers), it would break confidentiality rules for a PCE to supply a path segment to a PCE in another domain, thus disclosing AS-internal topology information. This issue may be circumvented by returning a loose hop and by invoking a new path computation from the domain boundary Label Switching Router (LSR) during TE LSP setup as the signaling message enters the second domain, but this technique has several issues including the problem of maintaining path diversity. This document defines a mechanism to hide the contents of a segment of a path, called the Confidential Path Segment (CPS). The CPS may be replaced by a path-key that can be conveyed in the PCE Communication Protocol (PCEP) and signaled within in a Resource Reservation Protocol TE (RSVP-TE) explicit route object. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "authors": [
      {
        "name": "Richard Bradford"
      },
      {
        "name": "JP Vasseur"
      },
      {
        "name": "Adrian Farrel"
      }
    ],
    "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/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docId": "RFC5520",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docLabel": "IETF RFC 5520",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docNumber": "5520",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docTitle": "Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "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/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "doi": "10.17487/RFC5520",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "href": "https://doi.org/10.17487/RFC5520",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "keywords": [
      "Confidential Path Segment",
      "PCEP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Confidential Path Segment",
        "Cps",
        "Pcep"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T19:29:35.738Z",
      "version": "extractDocs.js@commit:75b379398159"
    },
    "pages": "19",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "publicationDate": "2009-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "references": {
      "bibliographic": [
        "RFC3209",
        "RFC4105",
        "RFC4216",
        "RFC4655",
        "RFC5152",
        "RFC5298",
        "RFC5441",
        "orphan/RFC5520/h:a98c9f8e",
        "orphan/RFC5520/h:4378b011",
        "orphan/RFC5520/h:5de32b72"
      ],
      "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/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "normative": [
        "RFC2119",
        "RFC5440"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc5520/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
      "updated": "2026-10-16T18:55:28.214Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "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/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc5520",
        "https://www.rfc-editor.org/errata_search.php?rfc=5520",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc5520.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "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/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5520/",
        "updated": "2026-10-16T18:55:28.214Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      }
    }
  }
}