{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "xyz-perpvue-mcp",
  "component": "perpvue",
  "generated_at": "2026-09-21T01:40:17.642Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 14,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a08499-f937-7828-94a2-17a8064eec39",
      "kind": "check.reverified",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.inconclusive",
      "to_code": "headers.hsts_absent",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 05:17:58.402293+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "HSTS header (unverified → fail)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a08499-f937-7828-94a2-17a8064eec39"
    },
    {
      "id": "chg_01a08499-f938-7c61-b885-193771f22725",
      "kind": "check.reverified",
      "family": "dnssec",
      "subject_kind": "check",
      "subject": "dnssec",
      "subject_child": "",
      "from_code": "dnssec.inconclusive",
      "to_code": "dnssec.absent",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 05:17:58.402293+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "DNSSEC (unverified → fail)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a08499-f938-7c61-b885-193771f22725"
    },
    {
      "id": "chg_01a08499-f939-71dd-ba1d-0f339b022785",
      "kind": "check.reverified",
      "family": "tls",
      "subject_kind": "check",
      "subject": "tls",
      "subject_child": "",
      "from_code": "tls.unreachable",
      "to_code": "tls.valid",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 05:17:58.402293+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "TLS certificate (unverified → pass)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a08499-f939-71dd-ba1d-0f339b022785"
    },
    {
      "id": "chg_01a08499-f939-7819-930f-fb27c699bb4c",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.unreachable",
      "to_code": "transport.http_error",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "status": "404",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 05:17:58.402293+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Transport (Transport check failed: declared streamable-http, but the endpoint returned HTTP 404.)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a08499-f939-7819-930f-fb27c699bb4c"
    },
    {
      "id": "chg_01a08499-f93a-721a-bf1a-bca957aad107",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.unreachable",
      "to_code": "auth.none_unlisted",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 05:17:58.402293+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a08499-f93a-721a-bf1a-bca957aad107"
    },
    {
      "id": "chg_01a065b1-f994-7ec6-abb6-58cedae9d498",
      "kind": "check.unverifiable",
      "family": "dnssec",
      "subject_kind": "check",
      "subject": "dnssec",
      "subject_child": "",
      "from_code": "dnssec.absent",
      "to_code": "dnssec.inconclusive",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 05:15:57.603476+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "DNSSEC (fail → unverified)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a065b1-f994-7ec6-abb6-58cedae9d498"
    },
    {
      "id": "chg_01a065b1-f996-74d7-bc33-06d9e491144f",
      "kind": "check.unverifiable",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_absent",
      "to_code": "headers.inconclusive",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 05:15:57.603476+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "HSTS header (fail → unverified)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a065b1-f996-74d7-bc33-06d9e491144f"
    },
    {
      "id": "chg_01a065b1-f996-7b37-b61a-58f572667eec",
      "kind": "check.unverifiable",
      "family": "tls",
      "subject_kind": "check",
      "subject": "tls",
      "subject_child": "",
      "from_code": "tls.valid",
      "to_code": "tls.unreachable",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 05:15:57.603476+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "TLS certificate (pass → unverified)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a065b1-f996-7b37-b61a-58f572667eec"
    },
    {
      "id": "chg_01a065b1-f997-70c7-b931-7a2abadccf3f",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.unreachable",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 05:15:57.603476+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "Authorization (Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a065b1-f997-70c7-b931-7a2abadccf3f"
    },
    {
      "id": "chg_01a065b1-f997-765c-a93c-e961c13f0cdf",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.http_error",
      "to_code": "transport.unreachable",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 05:15:57.603476+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "Transport (Transport check failed: declared streamable-http, but we couldn't connect to verify it.)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a065b1-f997-765c-a93c-e961c13f0cdf"
    },
    {
      "id": "chg_01a01871-b97c-7dd6-bb0d-127adf5af8eb",
      "kind": "check.unverifiable",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.http_error",
      "to_code": "transport.auth_gated",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 05:15:01.14371+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Transport (fail → unverified)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a01871-b97c-7dd6-bb0d-127adf5af8eb"
    },
    {
      "id": "chg_01a01871-b982-7835-aa1f-00a4cc9a7112",
      "kind": "check.reverified",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.rfc9728",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 05:15:01.14371+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Authorization (unverified → pass)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a01871-b982-7835-aa1f-00a4cc9a7112"
    },
    {
      "id": "chg_01a0134c-18d9-72e9-91a2-62dcae1810bd",
      "kind": "check.reverified",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.auth_gated",
      "to_code": "transport.http_error",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "status": "526",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 05:15:49.200434+00",
      "observed_since": "2026-08-17",
      "source": "scan",
      "summary": "Transport (unverified → fail)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a0134c-18d9-72e9-91a2-62dcae1810bd"
    },
    {
      "id": "chg_01a0134c-18da-71d6-91cb-f2e1769774f1",
      "kind": "check.unverifiable",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.rfc9728",
      "to_code": "auth.none_unlisted",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 05:15:49.200434+00",
      "observed_since": "2026-08-17",
      "source": "scan",
      "summary": "Authorization (pass → unverified)",
      "link": "https://verifymcp.io/servers/xyz-perpvue-mcp/perpvue#chg-chg_01a0134c-18da-71d6-91cb-f2e1769774f1"
    }
  ],
  "days": [
    {
      "date": "2026-09-09",
      "total": 23,
      "delta": 18,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 5
    },
    {
      "date": "2026-09-08",
      "total": 5,
      "delta": -4,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 0
    },
    {
      "date": "2026-09-07",
      "total": 9,
      "delta": -5,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 0
    },
    {
      "date": "2026-09-06",
      "total": 14,
      "delta": -4,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 0
    },
    {
      "date": "2026-09-05",
      "total": 18,
      "delta": -5,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 0
    },
    {
      "date": "2026-09-03",
      "total": 23,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 5
    },
    {
      "date": "2026-08-26",
      "total": 23,
      "delta": -13,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-19",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 5
    }
  ]
}