{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-21T16:57:56.873Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8170",
  "document": {
    "abstract": "Over the many years since the introduction of the Internet Protocol, we have seen a number of transitions throughout the protocol stack, such as deploying a new protocol, or updating or replacing an existing protocol. Many protocols and technologies were not designed to enable smooth transition to alternatives or to easily deploy extensions; thus, some transitions, such as the introduction of IPv6, have been difficult. This document attempts to summarize some basic principles to enable future transitions, and it also summarizes what makes for a good transition plan.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "authors": [
      {
        "name": "Dave Thaler"
      }
    ],
    "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/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docId": "RFC8170",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docLabel": "IETF RFC 8170",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docNumber": "8170",
    "docNumber$meta": {
      "confidence": "high",
      "note": "From the RFC index entry (rfc-index.xml <doc-id>)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docTitle": "Planning for Protocol Adoption and Subsequent Transitions",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docType": "Informational",
    "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/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "doi": "10.17487/RFC8170",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "href": "https://doi.org/10.17487/RFC8170",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "keywords": [
      "Transition Plan"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "pages": "22",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "publicationDate": "2017-05-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-tls-grease-00",
        "10.1007-978-3-319-15509-8_15",
        "RFC1883",
        "RFC1933",
        "RFC1945",
        "RFC2068",
        "RFC2145",
        "RFC3168",
        "RFC3424",
        "RFC3692",
        "RFC4380",
        "RFC4632",
        "RFC4690",
        "RFC5211",
        "RFC5218",
        "RFC5894",
        "RFC5895",
        "RFC6055",
        "RFC6269",
        "RFC6455",
        "RFC6709",
        "RFC7021",
        "RFC7228",
        "RFC7230",
        "RFC7301",
        "RFC7305",
        "RFC7540",
        "RFC7541",
        "RFC7754",
        "orphan/RFC8170/h:3c7cb12f",
        "orphan/RFC8170/h:b0b975a9",
        "orphan/RFC8170/h:c82a03f4",
        "orphan/RFC8170/h:360d19c1",
        "orphan/RFC8170/h:d2026755",
        "orphan/RFC8170/h:60a38675"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=35 proseBlocks=42 skippedAnchorBlocks=39",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8170/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
      "updated": "2026-10-21T16:57:56.873Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "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/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "statusNote": "Informational",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8170/",
        "updated": "2026-10-21T16:57:56.873Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      }
    }
  }
}