{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-16T02:40:06.177Z",
  "record_id": "VXI-EXT-TOOL-TRUST-APPDYNAMICS-01-v1",
  "record_kind": "external_reference",
  "title": "AppDynamics MCP: Controller and Events identity are different paths",
  "system": "AppDynamics MCP",
  "evidence_family": "agent_tool_trust_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does every AppDynamics MCP HTTP call validate the supplied bearer identity with the Controller?",
  "near_questions": [
    "Does an Events-only MCP call contact the Controller?",
    "Is bearer syntax the same as authentication?",
    "Which credential authorises Events queries?",
    "Why does a shared AppDynamics ingress need its own control?",
    "Are Controller tokens scoped per request?",
    "Do logs identify the authenticated caller for every action?",
    "Can diagnostic errors expose backend context?",
    "Which tools are diagnostic rather than administrative?",
    "What evidence proves the ingress identity boundary?",
    "Does a successful Controller request validate all other tools?",
    "When should shared-endpoint activation be withheld?",
    "Can I preserve this dual-backend identity review?"
  ],
  "supported_claims": [
    {
      "claim": "The documented middleware checks bearer syntax, while Controller-backed calls rely on downstream validation. Events-only calls use a separate Events credential and do not contact the Controller. The publisher therefore calls for an independently authenticated shared ingress. A syntactically valid bearer header is not proof of caller authentication for every tool.",
      "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 documented middleware checks bearer syntax, while Controller-backed calls rely on downstream validation. Events-only calls use a separate Events credential and do not contact the Controller. The publisher therefore calls for an independently authenticated shared ingress. A syntactically valid bearer header is not proof of caller authentication for every tool.",
  "related_record_ids": [
    "VXI-EXT-TOOL-TRUST-DYNATRACE-01-v1",
    "VXI-EXT-TOOL-TRUST-SPLUNK-01-v1"
  ],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "AppDynamics MCP identity and data boundaries",
    "source_url": "https://help.splunk.com/en/appdynamics-saas/mcp-server-integration/26.7.0/architecture-and-security",
    "checked_on": "2026-10-16",
    "candidate_record_id": "VXI-EXT-TOOL-TRUST-APPDYNAMICS-01-v1",
    "candidate_record_sha256": "0de0aa635dc4eb3ff440a61283e1945796977888c24db1a0091751c90890a588",
    "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 documented middleware checks bearer syntax, while Controller-backed calls rely on downstream validation. Events-only calls use a separate Events credential and do not contact the Controller. The publisher therefore calls for an independently authenticated shared ingress. A syntactically valid bearer header is not proof of caller authentication for every tool.",
    "required_buyer_context": "Integration version, shared ingress, Controller scope, Events credentials and log handling.",
    "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.",
  "trust_profile": {
    "schema": "varexis-agent-tool-trust/1",
    "identity": {
      "tool": "AppDynamics MCP",
      "variant": "SaaS integration documentation 26.7.0"
    },
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-16",
    "version_scope": "Dated rolling documentation snapshot; no installed or hosted runtime version independently verified.",
    "plan_scope": "Buyer plan, entitlement and effective configuration are not verified.",
    "findings": [
      {
        "field": "operator",
        "label": "Publisher and operator",
        "status": "documented",
        "statement": "AppDynamics, within Splunk, publishes the documented integration.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "purpose",
        "label": "Purpose",
        "status": "documented",
        "statement": "Retrieve application and event diagnostics through supported tools.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "reads",
        "label": "Read capability",
        "status": "documented",
        "statement": "Controller-backed data and separately authenticated Events data.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "writes",
        "label": "Write capability",
        "status": "documented",
        "statement": "The reviewed tools are diagnostic; no general change authority is established.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "auth",
        "label": "Authentication",
        "status": "documented",
        "statement": "HTTP bearer handling differs between Controller-backed and Events-only requests.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "permissions",
        "label": "Permission surface",
        "status": "documented",
        "statement": "A shared ingress needs its own authentication boundary; credentials follow the selected backend path.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "egress",
        "label": "Data leaving the environment",
        "status": "review_inference",
        "statement": "Diagnostic data reaches the agent; returned errors and request logs can reveal context.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "failures",
        "label": "Failure modes to consider",
        "status": "review_inference",
        "statement": "Bearer syntax may be mistaken for identity validation; logs are not a complete authenticated-principal lineage.",
        "source_ids": [
          "appdynamics",
          "appdynamics-tools"
        ]
      },
      {
        "field": "unknown",
        "label": "Unknowns and applicability",
        "status": "unknown",
        "statement": "Buyer ingress controls, backend scopes and actual logging configuration are unknown.",
        "source_ids": []
      },
      {
        "field": "gate",
        "label": "Suggested refusal or clarification condition",
        "status": "varexis_review_policy",
        "statement": "Do not expose a shared endpoint on the assumption that bearer syntax alone validates every caller.",
        "source_ids": []
      }
    ],
    "evidence_sources": [
      {
        "source_id": "appdynamics",
        "url": "https://help.splunk.com/en/appdynamics-saas/mcp-server-integration/26.7.0/architecture-and-security",
        "final_url": "https://help.splunk.com/en/appdynamics-saas/mcp-server-integration/26.7.0/architecture-and-security",
        "title": "AppDynamics MCP identity and data boundaries",
        "checked_on": "2026-10-16",
        "sha256": "046a0d1e2ce3a3daf528b47e53b5aac970e88587770c601289d58c5926049f8a",
        "bytes": 141118
      },
      {
        "source_id": "appdynamics-tools",
        "url": "https://help.splunk.com/en/appdynamics-saas/mcp-server-integration/26.7.0/tools-and-prompts",
        "final_url": "https://help.splunk.com/en/appdynamics-saas/mcp-server-integration/26.7.0/tools-and-prompts",
        "title": "AppDynamics MCP read-oriented tools",
        "checked_on": "2026-10-16",
        "sha256": "5a6576509224324d80029f979165976d799ae6915ba55592ed5c8262c97aba42",
        "bytes": 228280
      }
    ],
    "observed_tool_execution": false,
    "policy_basis": "Suggested VAREXIS review gates; apply the buyer's authorized task and policy. These conditions do not execute or enforce controls.",
    "commercial_reliance_boundary": "A source-linked review aid, not a vendor certification, security clearance or deployment assessment. Unknown does not mean false or unsafe.",
    "paid_value": {
      "decision_context": "Save the identity-path distinction that prevents a false authenticated-endpoint 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": "Recheck when permissions, deployment, authentication, source guidance or intended use changes; a purchase does not trigger revalidation.",
      "specific_watch": "Middleware validation, Events credential use and ingress guidance."
    },
    "change_history": [
      {
        "version": 1,
        "date": "2026-10-16",
        "change": "Initial documentation review; no earlier vendor assessment claimed."
      }
    ]
  },
  "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#appdynamics-mcp-controller-events-identity",
  "machine_readable_record": "/varexis-index/records/appdynamics-mcp-controller-events-identity.json"
}
