{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T15:43:25.778Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC2904",
  "document": {
    "abstract": "This memo serves as the base requirements for Authorization of Internet Resources and Services (AIRS). It presents an architectural framework for understanding the authorization of Internet resources and services and derives requirements for authorization protocols. This memo provides information for the Internet community.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "authors": [
      {
        "name": "John Vollbrecht"
      },
      {
        "name": "Pat R. Calhoun"
      },
      {
        "name": "Stephen Farrell"
      },
      {
        "name": "Leon HM Gommans"
      },
      {
        "name": "George Gross"
      },
      {
        "name": "Betty W. de Bruijn"
      },
      {
        "name": "Cees de Laat"
      },
      {
        "name": "Matt Holdrege"
      },
      {
        "name": "David Spence"
      }
    ],
    "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/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docId": "RFC2904",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docLabel": "IETF RFC 2904",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docNumber": "2904",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docTitle": "AAA Authorization Framework",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "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/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "doi": "10.17487/RFC2904",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "href": "https://doi.org/10.17487/RFC2904",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "keywords": [
      "AAA"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "pages": "35",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publicationDate": "2000-08-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "references": {
      "bibliographic": [
        "RFC2026",
        "RFC2906",
        "RFC2905",
        "RFC2119",
        "RFC2459",
        "RFC2607",
        "RFC2138",
        "RFC2002",
        "RFC2753",
        "orphan/RFC2904/h:2fbf08ad",
        "orphan/RFC2904/h:6ddbe297",
        "orphan/RFC2904/h:465014a8",
        "orphan/RFC2904/h:93f3801f"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=13 proseBlocks=15 skippedAnchorBlocks=14",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc2904/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
      "updated": "2026-10-16T15:43:25.778Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc2904/",
        "updated": "2026-10-16T15:43:25.778Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    }
  }
}