{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T17:02:37.106Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7208",
  "document": {
    "abstract": "Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the \"MAIL FROM\" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization. This document obsoletes RFC 4408.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Scott Kitterman"
      }
    ],
    "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/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC7208",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 7208",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "7208",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "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/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC7208",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC7208",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "keywords": [
      "Spoofing",
      "SPF",
      "Authentication"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Spoofing",
        "SPF",
        "Anti-forgery",
        "Authentication"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T17:02:37.106Z",
      "version": "extractDocs.js@commit:8aec15acefbb"
    },
    "pages": "64",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2014-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "RFC1034",
        "RFC1983",
        "RFC2308",
        "RFC2671",
        "RFC2782",
        "RFC3464",
        "RFC3696",
        "RFC3833",
        "RFC3834",
        "RFC4033",
        "RFC4408",
        "RFC4632",
        "RFC4880",
        "RFC4954",
        "RFC5507",
        "RFC5751",
        "RFC5782",
        "RFC6409",
        "RFC6647",
        "RFC6648",
        "RFC6652",
        "RFC6686",
        "RFC6891",
        "orphan/RFC7208/h:1c3ab77b",
        "orphan/RFC7208/h:cf9c67d6",
        "orphan/RFC7208/h:a4624eee",
        "orphan/RFC7208/h:feeab9f4",
        "orphan/RFC7208/h:d81d764a"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=44 proseBlocks=49 skippedAnchorBlocks=46",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "normative": [
        "RFC1035",
        "RFC1123",
        "RFC2119",
        "RFC3463",
        "RFC3864",
        "RFC3986",
        "RFC4291",
        "RFC5234",
        "RFC5321",
        "RFC5322",
        "RFC5598",
        "RFC5890",
        "RFC7001",
        "INCITS.X3.4.1968"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7208/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
      "updated": "2026-10-14T16:14:18.983Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "amendedBy": [
        "RFC7372",
        "RFC8553",
        "RFC8616"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc7208",
        "https://www.rfc-editor.org/errata_search.php?rfc=7208",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc7208.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "supersedes": [
        "RFC4408"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7208/",
        "updated": "2026-10-14T16:14:18.983Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}