{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T21:46:51.723Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8932",
  "document": {
    "abstract": "This document presents operational, policy, and security considerations for DNS recursive resolver operators who choose to offer DNS privacy services. With these recommendations, the operator can make deliberate decisions regarding which services to provide, as well as understanding how those decisions and the alternatives impact the privacy of users. This document also presents a non-normative framework to assist writers of a Recursive operator Privacy Statement, analogous to DNS Security Extensions (DNSSEC) Policies and DNSSEC Practice Statements described in RFC 6841.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Sara Dickinson"
      },
      {
        "name": "Benno Overeinder"
      },
      {
        "name": "Roland van Rijswijk-Deij"
      },
      {
        "name": "Allison Mankin"
      }
    ],
    "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/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC8932",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 8932",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "8932",
    "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/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Recommendations for DNS Privacy Service Operators",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docType": "Best Practice",
    "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/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC8932",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC8932",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "DNS"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "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/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2020-10-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.722Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-httpbis-bcp56bis-09",
        "IETF.draft-ietf-dnsop-dns-tcp-requirements-06",
        "IETF.draft-bellis-dnsop-xpf-04",
        "10.1109-NOMS.2006.1687580",
        "GITHUB.PowerDNS.ipcipher",
        "GITHUB.veorq.ipcrypt",
        "10.23919-TMA.2018.8506536",
        "10.1145-2665943.2665959",
        "10.1109-TNET.2006.890128",
        "RFC4034",
        "RFC4035",
        "RFC5077",
        "RFC6147",
        "RFC6235",
        "RFC6265",
        "RFC7626",
        "RFC7873",
        "RFC8027",
        "RFC8094",
        "RFC8404",
        "RFC8446",
        "RFC8555",
        "RFC8618",
        "10.1145-3182660",
        "10.1016-j.comnet.2004.03.033",
        "orphan/RFC8932/h:08884c99",
        "orphan/RFC8932/h:2d69e98e",
        "orphan/RFC8932/h:f8fae2b4",
        "orphan/RFC8932/h:e28ade0a",
        "orphan/RFC8932/h:232e81db",
        "orphan/RFC8932/h:325c5ae9",
        "orphan/RFC8932/h:4fea3aae",
        "orphan/RFC8932/h:29d2da8a",
        "orphan/RFC8932/h:692fc26b",
        "orphan/RFC8932/h:0e358c5e",
        "orphan/RFC8932/h:21f65400",
        "orphan/RFC8932/h:0cc9d49e",
        "orphan/RFC8932/h:5407a570",
        "orphan/RFC8932/h:04b4f7dc",
        "orphan/RFC8932/h:193eaa2a",
        "orphan/RFC8932/h:8b731ebf",
        "orphan/RFC8932/h:4f49eb70",
        "orphan/RFC8932/h:39670835",
        "orphan/RFC8932/h:170cb50c",
        "orphan/RFC8932/h:7e6ea402",
        "orphan/RFC8932/h:f9561add",
        "orphan/RFC8932/h:ad763458",
        "orphan/RFC8932/h:bae6db30",
        "orphan/RFC8932/h:81c13b68",
        "orphan/RFC8932/h:5ed1219a"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC2119",
        "RFC4033",
        "RFC5280",
        "RFC6973",
        "RFC7457",
        "RFC7525",
        "RFC7766",
        "RFC7816",
        "RFC7828",
        "RFC7830",
        "RFC7858",
        "RFC7871",
        "RFC8020",
        "RFC8174",
        "RFC8198",
        "RFC8310",
        "RFC8467",
        "RFC8484",
        "RFC8490",
        "RFC8499",
        "RFC8806"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8932/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
      "updated": "2026-10-20T21:46:51.723Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc8932",
        "https://www.rfc-editor.org/errata_search.php?rfc=8932"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "statusNote": "Best Current Practice",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8932/",
        "updated": "2026-10-20T21:46:51.723Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}