{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-16T07:59:18.009Z",
  "record_id": "VXI-EXT-PROCUREMENT-BUILDKITE-HOOKS-01-v1",
  "record_kind": "external_reference",
  "title": "Buildkite hooks: Repository control can affect enforcement",
  "system": "Buildkite",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does an agent-wide Buildkite hook alone enforce the same security policy for every repository?",
  "near_questions": [
    "Are local Buildkite hooks still enabled?",
    "Can repository hooks affect an agent policy?",
    "Does disabling local hooks also disable plugins?",
    "What happens when a forbidden local hook is present?",
    "Who can change repository hook files?",
    "Can job environment variables override settings?",
    "Which containment surrounds untrusted code?",
    "Is a hook a policy or evidence of enforcement?",
    "Which plugins are allowed?",
    "How are policy failures recorded?",
    "When should an agent stop before running an untrusted build?",
    "Can I save the Buildkite enforcement review?"
  ],
  "supported_claims": [
    {
      "claim": "The security guide warns that repository-local hooks can evade policies enforced by agent hooks. Disabling local hooks also disables plugins, and a checkout containing a local hook then fails. Policy review must include repository influence, job environment and the trade-off of disabled extensions.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Verified buyer configuration or effective access rights",
    "Independent execution, completeness or security testing",
    "Vendor certification, legal compliance or guaranteed suitability"
  ],
  "public_summary": "The security guide warns that repository-local hooks can evade policies enforced by agent hooks. Disabling local hooks also disables plugins, and a checkout containing a local hook then fails. Policy review must include repository influence, job environment and the trade-off of disabled extensions.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Buildkite agent security",
    "source_url": "https://buildkite.com/docs/agent/self-hosted/security",
    "checked_on": "2026-10-16",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-BUILDKITE-HOOKS-01-v1",
    "candidate_record_sha256": "508f67817d0419b95720b3c63e64d8a5a7b78cf05206e8464c09c3f45bdeb804",
    "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 security guide warns that repository-local hooks can evade policies enforced by agent hooks. Disabling local hooks also disables plugins, and a checkout containing a local hook then fails. Policy review must include repository influence, job environment and the trade-off of disabled extensions.",
    "required_buyer_context": "Hook settings, plugins, environment overrides and repository trust. Effective buyer configuration and dated operational evidence are required.",
    "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-16",
    "claim_to_check": "An agent hook alone proves untrusted jobs cannot alter enforcement.",
    "documented_statement": {
      "status": "documented",
      "statement": "The security guide warns that repository-local hooks can evade policies enforced by agent hooks. Disabling local hooks also disables plugins, and a checkout containing a local hook then fails. Policy review must include repository influence, job environment and the trade-off of disabled extensions.",
      "source_ids": [
        "buildkite-hooks"
      ]
    },
    "buyer_evidence_required": [
      "Agent and local-hook settings.",
      "Permitted plugins and environment overrides.",
      "Repository trust and containment evidence."
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Require repository-influence evidence before accepting a hook as an enforced boundary."
    },
    "unknowns": "The buyer configuration, contract, effective entitlement and operational evidence have not been inspected. Missing evidence does not establish absence or failure of the feature.",
    "evidence_sources": [
      {
        "source_id": "buildkite-hooks",
        "url": "https://buildkite.com/docs/agent/self-hosted/security",
        "final_url": "https://buildkite.com/docs/agent/self-hosted/security",
        "title": "Buildkite agent security",
        "checked_on": "2026-10-16",
        "sha256": "92d93d20ac09c1d839857462467c884e96fc9a72ad1cc4046d39957fb2430511",
        "bytes": 224153
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Procurement evidence support only; no supplier clearance, legal conclusion, configuration audit or verification of the buyer's claim is supplied.",
    "paid_value": {
      "decision_context": "Preserve the repository and extension conditions behind a CI policy claim.",
      "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": "Hook settings, plugins, environment overrides and repository trust"
    }
  },
  "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#buildkite-local-hook-enforcement-boundary",
  "machine_readable_record": "/varexis-index/records/buildkite-local-hook-enforcement-boundary.json"
}
