{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-24T23:11:13.073Z",
  "record_id": "VXI-EXT-PROCUREMENT-CLOUDEVENTS-WEBHOOK-REDIRECT-PROHIBITION-01-v1",
  "record_kind": "external_reference",
  "title": "CloudEvents webhook redirects and destination control",
  "system": "CloudEvents v1.0.2",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Can a CloudEvents HTTP receiver follow a redirect without changing the authorised destination?",
  "near_questions": [
    "May a CloudEvents webhook sender follow a 302 response?",
    "Does a CloudEvents delivery redirect authorise a new recipient?",
    "How should webhook endpoint migration be evidenced under CloudEvents?",
    "Can redirected CloudEvents delivery be recorded as the same approved endpoint?"
  ],
  "supported_claims": [
    {
      "claim": "The Web Hooks specification published with CloudEvents 1.0.2 forbids delivery responses from using 3xx redirects and forbids clients from following them. A redirect cannot be treated as a compliant continuation of this delivery contract. A replacement endpoint therefore needs separate configuration and authority review; the original subscription does not establish the new recipient.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Actual client redirect handling and destination authority are unobserved.",
    "No verified business outcome, complete event capture, certification or authority to act.",
    "Buyer deployment testing, live runtime enforcement, certification or permission to act",
    "Expanded capabilities or licences for existing INDEX executables"
  ],
  "public_summary": "The Web Hooks specification published with CloudEvents 1.0.2 forbids delivery responses from using 3xx redirects and forbids clients from following them. A redirect cannot be treated as a compliant continuation of this delivery contract. A replacement endpoint therefore needs separate configuration and authority review; the original subscription does not establish the new recipient.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "CloudEvents v1.0.2 — http-webhook",
    "source_url": "https://raw.githubusercontent.com/cloudevents/spec/fc1f6f31f5f011a72183f1bcea20c987cb683ade/cloudevents/http-webhook.md",
    "checked_on": "2026-10-24",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-CLOUDEVENTS-WEBHOOK-REDIRECT-PROHIBITION-01-v1",
    "candidate_record_sha256": "0e1f18058ac5252350ff854b05adbeeea1901f4656b918bc13279e8de15cdbbb",
    "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": "The Web Hooks specification published with CloudEvents 1.0.2 forbids delivery responses from using 3xx redirects and forbids clients from following them. A redirect cannot be treated as a compliant continuation of this delivery contract. A replacement endpoint therefore needs separate configuration and authority review; the original subscription does not establish the new recipient.",
    "required_buyer_context": "Configured destination and subscription authority; Original HTTP response status and headers; Approved endpoint-change record. 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-24",
    "claim_to_check": "Can a CloudEvents HTTP receiver follow a redirect without changing the authorised destination?",
    "documented_statement": {
      "status": "documented",
      "statement": "The Web Hooks specification published with CloudEvents 1.0.2 forbids delivery responses from using 3xx redirects and forbids clients from following them. A redirect cannot be treated as a compliant continuation of this delivery contract. A replacement endpoint therefore needs separate configuration and authority review; the original subscription does not establish the new recipient.",
      "source_ids": [
        "ce-webhook"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Prevent delivery being silently redirected to a different recipient. This is a review judgment, not an observed deployment outcome.",
      "source_ids": [
        "ce-webhook"
      ]
    },
    "buyer_evidence_required": [
      "Configured destination and subscription authority",
      "Original HTTP response status and headers",
      "Approved endpoint-change record"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Refuse compliant delivery attribution through a followed 3xx response."
    },
    "unknowns": "Actual client redirect handling and destination authority are unobserved.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "Actual client redirect handling and destination authority are unobserved."
    },
    "evidence_sources": [
      {
        "source_id": "ce-webhook",
        "url": "https://raw.githubusercontent.com/cloudevents/spec/fc1f6f31f5f011a72183f1bcea20c987cb683ade/cloudevents/http-webhook.md",
        "final_url": "https://raw.githubusercontent.com/cloudevents/spec/fc1f6f31f5f011a72183f1bcea20c987cb683ade/cloudevents/http-webhook.md",
        "status": 200,
        "captured_at_utc": "2026-10-24T22:53:29.352Z",
        "sha256": "86a5f5787e88a2642cf8613579baa2835c00e5732064f53827842253e4338178",
        "bytes": 15432,
        "title": "CloudEvents v1.0.2 — http-webhook",
        "hash_basis": "Decoded HTTP response body bytes",
        "rights_review": "Original bounded paraphrase; source bodies are captured privately and not redistributed. Repository Apache-2.0 licence reviewed.",
        "checked_on": "2026-10-24",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "Delivery response",
          "Abuse Protection; Authorization",
          "2.2 Delivery response: 3xx prohibition",
          "2.2 Delivery response: retired target 410",
          "2.2 Delivery response: 429 and Retry-After"
        ],
        "version_context": "CloudEvents v1.0.2; extension status must be checked individually; pinned cloudevents/spec revision fc1f6f31f5f011a72183f1bcea20c987cb683ade. Source documentation is not independent evidence of buyer deployment behaviour."
      }
    ],
    "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": "Prevent delivery being silently redirected to a different recipient.",
      "free": "Complete review, sources, practical questions 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 the pinned source, deployed version, selection policy and retained operation results before relying on a current outcome."
    },
    "buyer_relevance": "Prevent delivery being silently redirected to a different recipient.",
    "refusal_conditions": [
      "Refuse compliant delivery attribution through a followed 3xx response."
    ]
  },
  "niche": {
    "niche_id": "agent-authority-action-evidence",
    "label": "Agent Authority & Action Evidence",
    "classification_id": "audit",
    "classification_label": "Audit, Provenance & Evidence Accountability",
    "topic_id": "audit",
    "buyer_intent": "Prevent delivery being silently redirected to a different recipient.",
    "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#cloudevents-webhook-redirect-prohibition",
  "machine_readable_record": "/varexis-index/records/cloudevents-webhook-redirect-prohibition.json"
}
