{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-25T20:55:19.974986+00:00",
  "record_id": "VXI-EXT-PROCUREMENT-DPOP-TOKEN-TYPE-BEARER-DOWNGRADE-01-v1",
  "record_kind": "external_reference",
  "title": "DPoP token type and downgrade boundary",
  "system": "IETF RFC 9449",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does a DPoP token request guarantee sender-constrained protection at every resource server?",
  "near_questions": [
    "Does sending a DPoP proof guarantee a DPoP access token?",
    "When must a client reject a Bearer token response?",
    "May a dual-support resource accept a DPoP-bound token as Bearer?",
    "Does a legacy resource establish DPoP enforcement?"
  ],
  "supported_claims": [
    {
      "claim": "RFC 9449 allows an authorization server to return Bearer even when a DPoP proof was supplied; clients requiring DPoP access-token protection must discard that response. A resource supporting both schemes must reject a DPoP-bound token presented as Bearer. Legacy Bearer-only resources have different compatibility behavior, so issuance and each resource's support must be established separately.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "A server can issue Bearer; dual-support resources must reject downgrade of a DPoP-bound token, while legacy resources do not establish that protection.",
    "Buyer implementation, live runtime enforcement, settled payment, physical outcome, certification or permission to act are not established.",
    "No expanded capabilities or licences for existing INDEX executables."
  ],
  "public_summary": "RFC 9449 allows an authorization server to return Bearer even when a DPoP proof was supplied; clients requiring DPoP access-token protection must discard that response. A resource supporting both schemes must reject a DPoP-bound token presented as Bearer. Legacy Bearer-only resources have different compatibility behavior, so issuance and each resource's support must be established separately.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "IETF RFC 9449",
    "source_url": "https://www.rfc-editor.org/rfc/rfc9449.txt",
    "checked_on": "2026-10-25",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-DPOP-TOKEN-TYPE-BEARER-DOWNGRADE-01-v1",
    "candidate_record_sha256": "2e7b4441fe0448611bacb9fe62daeccc216e38a253968193262fe9dd27d65672",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "RFC 9449 allows an authorization server to return Bearer even when a DPoP proof was supplied; clients requiring DPoP access-token protection must discard that response. A resource supporting both schemes must reject a DPoP-bound token presented as Bearer. Legacy Bearer-only resources have different compatibility behavior, so issuance and each resource's support must be established separately.",
    "required_buyer_context": "Returned token_type and key binding; Client required protection; Resource-server scheme support. Buyer deployment not inspected.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-25",
    "claim_to_check": "Does a DPoP token request guarantee sender-constrained protection at every resource server?",
    "documented_statement": {
      "status": "documented",
      "statement": "RFC 9449 allows an authorization server to return Bearer even when a DPoP proof was supplied; clients requiring DPoP access-token protection must discard that response. A resource supporting both schemes must reject a DPoP-bound token presented as Bearer. Legacy Bearer-only resources have different compatibility behavior, so issuance and each resource's support must be established separately.",
      "source_ids": [
        "rfc9449"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Distinguish requested DPoP protection, returned token_type and resource-server Bearer compatibility. This is a documentation-review judgment, not an observed deployment outcome.",
      "source_ids": [
        "rfc9449"
      ]
    },
    "buyer_evidence_required": [
      "Returned token_type and key binding",
      "Client required protection",
      "Resource-server scheme support"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Refuse buyer-specific assurance from documentation alone. A server can issue Bearer; dual-support resources must reject downgrade of a DPoP-bound token, while legacy resources do not establish that protection."
    },
    "unknowns": "The buyer implementation, effective configuration, complete evidence inventory and actual business outcome were not inspected.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "The buyer implementation, effective configuration, complete evidence inventory and actual business outcome were not inspected."
    },
    "evidence_sources": [
      {
        "source_id": "rfc9449",
        "url": "https://www.rfc-editor.org/rfc/rfc9449.txt",
        "final_url": "https://www.rfc-editor.org/rfc/rfc9449.txt",
        "status": 200,
        "captured_at_utc": "2026-10-25T20:26:12.745Z",
        "sha256": "3842c58e1f6043389416023b9bb8d765048266024982fbbd90640e05943f4e13",
        "bytes": 92478,
        "title": "IETF RFC 9449",
        "hash_basis": "SHA-256 of unmodified HTTP response body bytes",
        "rights_review": "Original factual paraphrase of the cited IETF RFC; IETF Trust and contributor rights remain applicable. No RFC text, code component or modified standard is redistributed.",
        "checked_on": "2026-10-25",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "11.11",
          "4.3",
          "11.7",
          "5",
          "8",
          "9",
          "11.1",
          "10",
          "7.2"
        ],
        "version_context": "Fixed IETF RFC 9449 publication; later applicable updates and actual implementation conformance require separate review."
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Documentation review only; the buyer must establish applicability and actual outcomes. INDEX does not inspect or control the deployment.",
    "paid_value": {
      "decision_context": "Distinguish requested DPoP protection, returned token_type and resource-server Bearer compatibility.",
      "free": "Complete review, practical questions, sources and limitations; may be saved locally.",
      "single_request": "Existing server-saved version-bound route snapshot for later authenticated retrieval.",
      "evidence_receipt": "The same snapshot plus the existing unsigned delivery receipt.",
      "excluded": [
        "Fresh vendor research",
        "Continuous monitoring or change alerts",
        "Testing the buyer configuration",
        "Private evidence or vendor certification"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "A saved purchase does not recheck the source or buyer configuration.",
      "specific_watch": "Recheck 5; 7.2 in IETF RFC 9449 when the source, applicable version, configuration or intended reliance changes. A detected change creates a review candidate, not automatic approval."
    },
    "buyer_relevance": "Distinguish requested DPoP protection, returned token_type and resource-server Bearer compatibility.",
    "refusal_conditions": [
      "Refuse buyer-specific assurance from documentation alone. A server can issue Bearer; dual-support resources must reject downgrade of a DPoP-bound token, while legacy resources do not establish that protection."
    ]
  },
  "niche": {
    "niche_id": "agent-authority-action-evidence",
    "label": "Agent Authority & Action Evidence",
    "classification_id": "governance",
    "classification_label": "Agent Governance & Policy Boundaries",
    "topic_id": "governance",
    "buyer_intent": "Distinguish requested DPoP protection, returned token_type and resource-server Bearer compatibility.",
    "comparison_role": "supplementary_discovery"
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#dpop-token-type-bearer-downgrade",
  "machine_readable_record": "/varexis-index/records/dpop-token-type-bearer-downgrade.json"
}
