{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T17:51:58.683Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4013",
  "document": {
    "abstract": "This document describes how to prepare Unicode strings representing user names and passwords for comparison. The document defines the \"SASLprep\" profile of the \"stringprep\" algorithm to be used for both user names and passwords. This profile is intended to be used by Simple Authentication and Security Layer (SASL) mechanisms (such as PLAIN, CRAM-MD5, and DIGEST-MD5), as well as other protocols exchanging simple user names and/or passwords. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "authors": [
      {
        "name": "Kurt Zeilenga"
      }
    ],
    "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/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "docId": "RFC4013",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "docLabel": "IETF RFC 4013",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "docNumber": "4013",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "docTitle": "SASLprep: Stringprep Profile for User Names and Passwords",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "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/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "doi": "10.17487/RFC4013",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "href": "https://doi.org/10.17487/RFC4013",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "keywords": [
      "SASLprep",
      "Stringprep",
      "SASL"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Unicode Strings",
        "Saslprep",
        "Stringprep",
        "SASL"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:51:58.683Z",
      "version": "extractDocs.js@commit:25936397c06b"
    },
    "pages": "6",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "publicationDate": "2005-03-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "references": {
      "bibliographic": [
        "orphan/RFC4013/h:2c615fbf",
        "orphan/RFC4013/h:9258db08",
        "orphan/RFC4013/h:660a403b",
        "orphan/RFC4013/h:5f4c1495",
        "orphan/RFC4013/h:d4d03345",
        "orphan/RFC4013/h:9db9c04f",
        "orphan/RFC4013/h:7c4d12c5"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "note": "Citations without a standard ID, kept as MRI orphan refs (or resolved once the reference label was stripped)",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:24:06.634Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "normative": [
        "RFC3454",
        "UNICODE.STD.3.2.0"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4013/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
      "updated": "2026-10-13T17:22:11.249Z",
      "version": "extractDocs.js@commit:996495349225"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "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/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc4013",
        "https://www.rfc-editor.org/errata_search.php?rfc=4013",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc4013.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "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/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      },
      "supersededBy": [
        "RFC7613"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4013/",
        "updated": "2026-10-13T17:22:11.249Z",
        "version": "extractDocs.js@commit:996495349225"
      }
    }
  }
}