{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-12T20:14:56.859Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3948",
  "document": {
    "abstract": "This protocol specification defines methods to encapsulate and decapsulate IP Encapsulating Security Payload (ESP) packets inside UDP packets for traversing Network Address Translators. ESP encapsulation, as defined in this document, can be used in both IPv4 and IPv6 scenarios. Whenever negotiated, encapsulation is used with Internet Key Exchange (IKE). [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "authors": [
      {
        "name": "Ari Huttunen"
      },
      {
        "name": "Brian Swander"
      },
      {
        "name": "Victor Volpe"
      },
      {
        "name": "Larry DiBurro"
      },
      {
        "name": "Markus Stenberg"
      }
    ],
    "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/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "docId": "RFC3948",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "docLabel": "IETF RFC 3948",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "docNumber": "3948",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "docTitle": "UDP Encapsulation of IPsec ESP Packets",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "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/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "doi": "10.17487/RFC3948",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "href": "https://doi.org/10.17487/RFC3948",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "keywords": [
      "IPSEC",
      "ESP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "pages": "15",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "publicationDate": "2005-01-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "references": {
      "bibliographic": [
        "RFC1122",
        "RFC3193",
        "RFC3424",
        "RFC3715",
        "orphan/RFC3948/h:0705c1a1"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=11 proseBlocks=14 skippedAnchorBlocks=12",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "normative": [
        "RFC768",
        "RFC2119",
        "RFC2401",
        "RFC2406",
        "RFC2409",
        "RFC3947"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3948/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
      "updated": "2026-10-12T20:14:56.859Z",
      "version": "extractDocs.js@commit:00855ca34fe0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "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/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc3948",
        "https://www.rfc-editor.org/errata_search.php?rfc=3948",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc3948.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "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/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3948/",
        "updated": "2026-10-12T20:14:56.859Z",
        "version": "extractDocs.js@commit:00855ca34fe0"
      }
    }
  }
}