{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-monitor",
    "name": "mbarbine__platphorm-monitor",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-monitor",
    "relative_path": "github-recent/mbarbine__platphorm-monitor",
    "remote_url": "git@github.com:mbarbine/platphorm-monitor.git",
    "default_branch": "main",
    "current_commit": "5f5189f869a3d1ab9a797cabe93f6be388b05d33"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 237,
      "bytes": 775301
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 277097
    },
    {
      "language": "Markdown",
      "files": 7,
      "bytes": 28112
    },
    {
      "language": "JavaScript",
      "files": 3,
      "bytes": 6765
    },
    {
      "language": "CSS",
      "files": 1,
      "bytes": 5311
    },
    {
      "language": "JSON",
      "files": 4,
      "bytes": 3674
    },
    {
      "language": "Shell",
      "files": 1,
      "bytes": 118
    }
  ],
  "frameworks": [
    {
      "name": "Next.js",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Playwright",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "React",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Vitest",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "vercel-monitor",
        "version": "0.4.0",
        "scripts": {
          "dev": "next dev --turbopack",
          "build": "next build",
          "start": "next start",
          "lint": "next lint",
          "test": "vitest run",
          "test:watch": "vitest",
          "test:coverage": "vitest run --coverage"
        },
        "dependencies": {
          "@aws-sdk/client-dynamodb": "^3.758.0",
          "@aws-sdk/lib-dynamodb": "^3.758.0",
          "@radix-ui/react-dialog": "^1.1.15",
          "@radix-ui/react-dropdown-menu": "^2.1.16",
          "@radix-ui/react-select": "^2.2.6",
          "@radix-ui/react-separator": "^1.1.8",
          "@radix-ui/react-slot": "^1.2.4",
          "@radix-ui/react-tabs": "^1.1.13",
          "@radix-ui/react-tooltip": "^1.2.8",
          "@upstash/ratelimit": "^2.0.8",
          "@upstash/redis": "^1.36.3",
          "@vercel/analytics": "^1.6.1",
          "@vercel/functions": "^3.4.2",
          "@vercel/speed-insights": "^1.3.1",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "eslint-config-next": "^16.1.6",
          "lucide-react": "^0.469.0",
          "nanoid": "^5.1.5",
          "next": "^16.1.6",
          "react": "^19.2.4",
          "react-dom": "^19.2.4",
          "recharts": "^2.15.4",
          "swr": "^2.4.0",
          "tailwind-merge": "^2.6.1",
          "tailwindcss-animate": "^1.0.7",
          "tw-animate-css": "^1.4.0"
        },
        "dev_dependencies": {
          "@tailwindcss/postcss": "^4.1.18",
          "@testing-library/dom": "^10.4.1",
          "@testing-library/jest-dom": "^6.9.1",
          "@testing-library/react": "^16.3.2",
          "@testing-library/user-event": "^14.6.1",
          "@types/node": "^22.19.11",
          "@types/react": "^19.2.14",
          "@types/react-dom": "^19.2.3",
          "@vitest/coverage-v8": "^4.0.18",
          "jsdom": "^28.1.0",
          "playwright": "^1.58.2",
          "postcss": "^8.5.6",
          "tailwindcss": "^4.1.18",
          "typescript": "^5.9.3",
          "vitest": "^4.0.18"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/analytics",
        "source_path": "app/api/analytics/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/anomalies",
        "source_path": "app/api/anomalies/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/cron/register",
        "source_path": "app/api/cron/register/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/cron/snapshot",
        "source_path": "app/api/cron/snapshot/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/deployments/[deploymentId]/events",
        "source_path": "app/api/deployments/[deploymentId]/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/deployments/[deploymentId]",
        "source_path": "app/api/deployments/[deploymentId]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "PATCH"
        ]
      },
      {
        "route": "/deployments",
        "source_path": "app/api/deployments/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/docs",
        "source_path": "app/api/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/domains",
        "source_path": "app/api/domains/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/firewall",
        "source_path": "app/api/firewall/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "PUT"
        ]
      },
      {
        "route": "/health",
        "source_path": "app/api/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mcp",
        "source_path": "app/api/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/notifications",
        "source_path": "app/api/notifications/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/notifications/stream",
        "source_path": "app/api/notifications/stream/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/projects",
        "source_path": "app/api/projects/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/rate-limit",
        "source_path": "app/api/rate-limit/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/snapshots",
        "source_path": "app/api/snapshots/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/analytics",
        "source_path": "app/api/v1/analytics/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/cache/status",
        "source_path": "app/api/v1/cache/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/checks/run",
        "source_path": "app/api/v1/checks/run/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/deployments/[id]",
        "source_path": "app/api/v1/deployments/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "PATCH"
        ]
      },
      {
        "route": "/v1/deployments",
        "source_path": "app/api/v1/deployments/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/domains/[id]",
        "source_path": "app/api/v1/domains/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/domains",
        "source_path": "app/api/v1/domains/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/firewall",
        "source_path": "app/api/v1/firewall/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "PUT"
        ]
      },
      {
        "route": "/v1/health",
        "source_path": "app/api/v1/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/incidents/[id]",
        "source_path": "app/api/v1/incidents/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "PATCH"
        ]
      },
      {
        "route": "/v1/incidents",
        "source_path": "app/api/v1/incidents/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/network/discovery-compliance",
        "source_path": "app/api/v1/network/discovery-compliance/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/graph",
        "source_path": "app/api/v1/network/graph/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/graph/sync",
        "source_path": "app/api/v1/network/graph/sync/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/route-compliance",
        "source_path": "app/api/v1/network/route-compliance/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/sites",
        "source_path": "app/api/v1/network/sites/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/trusted-domains",
        "source_path": "app/api/v1/network/trusted-domains/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/uptime",
        "source_path": "app/api/v1/network/uptime/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/notifications",
        "source_path": "app/api/v1/notifications/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/projects",
        "source_path": "app/api/v1/projects/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/rate-limit/status",
        "source_path": "app/api/v1/rate-limit/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/status",
        "source_path": "app/api/v1/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/sync/network",
        "source_path": "app/api/v1/sync/network/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/sync/vercel",
        "source_path": "app/api/v1/sync/vercel/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/system-health",
        "source_path": "app/api/v1/system-health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks/history",
        "source_path": "app/api/webhooks/history/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks/n8n",
        "source_path": "app/api/webhooks/n8n/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/webhooks/vercel",
        "source_path": "app/api/webhooks/vercel/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/analytics",
        "source_path": "app/(dashboard)/analytics/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/deployments",
        "source_path": "app/(dashboard)/deployments/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/domains",
        "source_path": "app/(dashboard)/domains/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/firewall",
        "source_path": "app/(dashboard)/firewall/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/notifications",
        "source_path": "app/(dashboard)/notifications/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/(dashboard)",
        "source_path": "app/(dashboard)/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/projects/[projectId]/deployments",
        "source_path": "app/(dashboard)/projects/[projectId]/deployments/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/projects/[projectId]",
        "source_path": "app/(dashboard)/projects/[projectId]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/projects",
        "source_path": "app/(dashboard)/projects/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/settings",
        "source_path": "app/(dashboard)/settings/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/system-health",
        "source_path": "app/(dashboard)/system-health/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/docs",
        "source_path": "app/docs/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/infra/vercel",
        "source_path": "app/infra/vercel/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "add-domain-dialog.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/domains/add-domain-dialog.test.tsx"
    },
    {
      "name": "dns-config-panel.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/domains/dns-config-panel.test.tsx"
    },
    {
      "name": "domain-table.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/domains/domain-table.test.tsx"
    },
    {
      "name": "domains-client.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/domains/domains-client.test.tsx"
    },
    {
      "name": "firewall-rule-editor.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/firewall/firewall-rule-editor.test.tsx"
    },
    {
      "name": "analytics-stats",
      "kind": "ui-component",
      "source_path": "components/analytics/analytics-stats.tsx"
    },
    {
      "name": "anomaly-alerts",
      "kind": "ui-component",
      "source_path": "components/analytics/anomaly-alerts.tsx"
    },
    {
      "name": "traffic-chart",
      "kind": "ui-component",
      "source_path": "components/analytics/traffic-chart.tsx"
    },
    {
      "name": "cache-status",
      "kind": "ui-component",
      "source_path": "components/dashboard/cache-status.tsx"
    },
    {
      "name": "deployment-sparkline",
      "kind": "ui-component",
      "source_path": "components/dashboard/deployment-sparkline.tsx"
    },
    {
      "name": "health-indicator",
      "kind": "ui-component",
      "source_path": "components/dashboard/health-indicator.tsx"
    },
    {
      "name": "overview-cards",
      "kind": "ui-component",
      "source_path": "components/dashboard/overview-cards.tsx"
    },
    {
      "name": "recent-activity",
      "kind": "ui-component",
      "source_path": "components/dashboard/recent-activity.tsx"
    },
    {
      "name": "cancel-deployment-button",
      "kind": "ui-component",
      "source_path": "components/deployments/cancel-deployment-button.tsx"
    },
    {
      "name": "deployment-row",
      "kind": "ui-component",
      "source_path": "components/deployments/deployment-row.tsx"
    },
    {
      "name": "deployment-status-badge",
      "kind": "ui-component",
      "source_path": "components/deployments/deployment-status-badge.tsx"
    },
    {
      "name": "deployment-table",
      "kind": "ui-component",
      "source_path": "components/deployments/deployment-table.tsx"
    },
    {
      "name": "add-domain-dialog",
      "kind": "ui-component",
      "source_path": "components/domains/add-domain-dialog.tsx"
    },
    {
      "name": "dns-config-panel",
      "kind": "ui-component",
      "source_path": "components/domains/dns-config-panel.tsx"
    },
    {
      "name": "domain-stats",
      "kind": "ui-component",
      "source_path": "components/domains/domain-stats.tsx"
    },
    {
      "name": "domain-table",
      "kind": "ui-component",
      "source_path": "components/domains/domain-table.tsx"
    },
    {
      "name": "domains-by-project",
      "kind": "ui-component",
      "source_path": "components/domains/domains-by-project.tsx"
    },
    {
      "name": "domains-client",
      "kind": "ui-component",
      "source_path": "components/domains/domains-client.tsx"
    },
    {
      "name": "subdomains-view",
      "kind": "ui-component",
      "source_path": "components/domains/subdomains-view.tsx"
    },
    {
      "name": "firewall-rule-editor",
      "kind": "ui-component",
      "source_path": "components/firewall/firewall-rule-editor.tsx"
    },
    {
      "name": "firewall-rules-table",
      "kind": "ui-component",
      "source_path": "components/firewall/firewall-rules-table.tsx"
    },
    {
      "name": "rule-action",
      "kind": "ui-component",
      "source_path": "components/firewall/rule-editor/rule-action.tsx"
    },
    {
      "name": "rule-basic-info",
      "kind": "ui-component",
      "source_path": "components/firewall/rule-editor/rule-basic-info.tsx"
    },
    {
      "name": "rule-conditions",
      "kind": "ui-component",
      "source_path": "components/firewall/rule-editor/rule-conditions.tsx"
    },
    {
      "name": "DeploymentList",
      "kind": "ui-component",
      "source_path": "components/infra/DeploymentList.tsx"
    },
    {
      "name": "VercelDomainsDashboard",
      "kind": "ui-component",
      "source_path": "components/infra/VercelDomainsDashboard.tsx"
    },
    {
      "name": "breadcrumbs",
      "kind": "ui-component",
      "source_path": "components/layout/breadcrumbs.tsx"
    },
    {
      "name": "command-palette",
      "kind": "ui-component",
      "source_path": "components/layout/command-palette.tsx"
    },
    {
      "name": "footer",
      "kind": "ui-component",
      "source_path": "components/layout/footer.tsx"
    },
    {
      "name": "mobile-nav",
      "kind": "ui-component",
      "source_path": "components/layout/mobile-nav.tsx"
    },
    {
      "name": "sidebar",
      "kind": "ui-component",
      "source_path": "components/layout/sidebar.tsx"
    },
    {
      "name": "topbar",
      "kind": "ui-component",
      "source_path": "components/layout/topbar.tsx"
    },
    {
      "name": "notification-bell",
      "kind": "ui-component",
      "source_path": "components/notifications/notification-bell.tsx"
    },
    {
      "name": "notification-panel",
      "kind": "ui-component",
      "source_path": "components/notifications/notification-panel.tsx"
    },
    {
      "name": "commit-info",
      "kind": "ui-component",
      "source_path": "components/projects/commit-info.tsx"
    },
    {
      "name": "project-card",
      "kind": "ui-component",
      "source_path": "components/projects/project-card.tsx"
    },
    {
      "name": "repo-info",
      "kind": "ui-component",
      "source_path": "components/projects/repo-info.tsx"
    },
    {
      "name": "swr-provider",
      "kind": "ui-component",
      "source_path": "components/providers/swr-provider.tsx"
    },
    {
      "name": "data-tab",
      "kind": "ui-component",
      "source_path": "components/settings/data-tab.tsx"
    },
    {
      "name": "general-tab",
      "kind": "ui-component",
      "source_path": "components/settings/general-tab.tsx"
    },
    {
      "name": "integrations-tab",
      "kind": "ui-component",
      "source_path": "components/settings/integrations-tab.tsx"
    },
    {
      "name": "notifications-tab",
      "kind": "ui-component",
      "source_path": "components/settings/notifications-tab.tsx"
    },
    {
      "name": "section",
      "kind": "ui-component",
      "source_path": "components/settings/section.tsx"
    },
    {
      "name": "ph3ar-modal",
      "kind": "ui-component",
      "source_path": "components/shared/ph3ar-modal.tsx"
    },
    {
      "name": "ph3ar-trigger",
      "kind": "ui-component",
      "source_path": "components/shared/ph3ar-trigger.tsx"
    },
    {
      "name": "project-selector",
      "kind": "ui-component",
      "source_path": "components/shared/project-selector.tsx"
    },
    {
      "name": "status-message",
      "kind": "ui-component",
      "source_path": "components/shared/status-message.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "empty-state",
      "kind": "ui-component",
      "source_path": "components/ui/empty-state.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [
      "redis"
    ],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "route.benchmark.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/cron/snapshot/route.benchmark.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/firewall/route.test.ts"
    },
    {
      "name": "add-domain-dialog.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/domains/add-domain-dialog.test.tsx"
    },
    {
      "name": "dns-config-panel.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/domains/dns-config-panel.test.tsx"
    },
    {
      "name": "domain-table.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/domains/domain-table.test.tsx"
    },
    {
      "name": "domains-client.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/domains/domains-client.test.tsx"
    },
    {
      "name": "firewall-rule-editor.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/firewall/firewall-rule-editor.test.tsx"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/utils.test.ts"
    },
    {
      "name": "client.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/vercel/client.test.ts"
    },
    {
      "name": "deployments.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/vercel/deployments.test.ts"
    },
    {
      "name": "proxy.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/proxy.test.ts"
    },
    {
      "name": "seo-llm.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/seo-llm.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/cron/snapshot/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/firewall/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/rate-limit/__tests__/route.test.ts"
    },
    {
      "name": "cache.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/cache.test.ts"
    },
    {
      "name": "db.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/db.test.ts"
    },
    {
      "name": "logger.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/logger.test.ts"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/utils.test.ts"
    },
    {
      "name": "version.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/version.test.ts"
    },
    {
      "name": "store.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/webhooks/store.test.ts"
    },
    {
      "name": "baselines.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/anomaly/__tests__/baselines.test.ts"
    },
    {
      "name": "detector.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/anomaly/__tests__/detector.test.ts"
    },
    {
      "name": "auth.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/api/__tests__/auth.test.ts"
    },
    {
      "name": "response.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/api/__tests__/response.test.ts"
    },
    {
      "name": "client.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/client.test.ts"
    },
    {
      "name": "handler.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/handler.test.ts"
    },
    {
      "name": "manifest.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/manifest.test.ts"
    },
    {
      "name": "register.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/register.test.ts"
    },
    {
      "name": "resources.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/resources.test.ts"
    },
    {
      "name": "tools.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/tools.test.ts"
    },
    {
      "name": "types.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp/__tests__/types.test.ts"
    },
    {
      "name": "store.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/notifications/__tests__/store.test.ts"
    },
    {
      "name": "analytics.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/analytics.test.ts"
    },
    {
      "name": "cache-keys.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/cache-keys.test.ts"
    },
    {
      "name": "client.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/client.test.ts"
    },
    {
      "name": "dedup.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/dedup.test.ts"
    },
    {
      "name": "deployments.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/deployments.test.ts"
    },
    {
      "name": "firewall.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/firewall.test.ts"
    },
    {
      "name": "infra.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/infra.test.ts"
    },
    {
      "name": "rate-limiter.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/rate-limiter.test.ts"
    },
    {
      "name": "retry.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/vercel/__tests__/retry.test.ts"
    },
    {
      "name": "outbound.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/webhooks/__tests__/outbound.test.ts"
    },
    {
      "name": "store.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/webhooks/__tests__/store.test.ts"
    },
    {
      "name": "verify.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/webhooks/__tests__/verify.test.ts"
    },
    {
      "name": "test_isCustomDomain.ts",
      "kind": "unit-or-integration",
      "source_path": "test_isCustomDomain.ts"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [],
    "compose_files": []
  },
  "env": {
    "example_files": [
      {
        "path": ".env.example"
      }
    ],
    "variables": [
      {
        "name": "ALLOW_LOCAL_DYNAMODB",
        "source_paths": [
          "lib/db.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "AWS_REGION",
        "source_paths": [
          ".env.example",
          "lib/db.ts",
          "scripts/setup-dynamodb.mjs"
        ],
        "likely_secret": false
      },
      {
        "name": "AWS_ROLE_ARN",
        "source_paths": [
          ".env.example",
          "lib/db.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "CRON_SECRET",
        "source_paths": [
          ".env.example",
          "lib/api/auth.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DYNAMODB_TABLE_NAME",
        "source_paths": [
          ".env.example",
          "lib/db.ts",
          "scripts/setup-dynamodb.mjs"
        ],
        "likely_secret": false
      },
      {
        "name": "DYNAMODB_TABLE_PARTITION_KEY",
        "source_paths": [
          ".env.example",
          "lib/db.ts",
          "scripts/setup-dynamodb.mjs"
        ],
        "likely_secret": true
      },
      {
        "name": "DYNAMODB_TABLE_SORT_KEY",
        "source_paths": [
          "lib/db.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "MCP_SHARED_SECRET",
        "source_paths": [
          "lib/mcp/client.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "N8N_WEBHOOK_SECRET",
        "source_paths": [
          ".env.example",
          "lib/api/auth.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "N8N_WEBHOOK_URL",
        "source_paths": [
          ".env.example",
          "lib/webhooks/outbound.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PHASE",
        "source_paths": [
          "lib/db.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_APP_URL",
        "source_paths": [
          ".env.example",
          "app/layout.tsx",
          "app/mcp/route.ts",
          "app/robots.ts",
          "app/sitemap.ts",
          "components/settings/integrations-tab.tsx",
          "lib/mcp/__tests__/register.test.ts",
          "lib/mcp/register.ts",
          "lib/monitor/constants.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_VERCEL_TEAM",
        "source_paths": [
          "components/layout/sidebar.tsx"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "lib/ja4/client.ts",
          "lib/monitor/system.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          ".env.example",
          "app/api/mcp/route.ts",
          "app/mcp/route.ts",
          "lib/api/auth.ts",
          "lib/monitor/system.ts",
          "lib/monitor/trace.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_TRACE_URL",
        "source_paths": [
          "lib/monitor/trace.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "UPSTASH_REDIS_REST_TOKEN",
        "source_paths": [
          "proxy.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "UPSTASH_REDIS_REST_URL",
        "source_paths": [
          "proxy.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL",
        "source_paths": [
          "lib/db.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_DEPLOYMENTS_PER_PROJECT",
        "source_paths": [
          ".env.example",
          "lib/vercel/client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_ENV",
        "source_paths": [
          "lib/monitor/system.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_ONLY_DEPLOYED",
        "source_paths": [
          ".env.example",
          "lib/vercel/infra.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_TEAM_ID",
        "source_paths": [
          ".env.example",
          "app/(dashboard)/page.tsx",
          "lib/monitor/system.ts",
          "lib/vercel/client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_TOKEN",
        "source_paths": [
          ".env.example",
          "app/(dashboard)/page.tsx",
          "app/api/deployments/route.ts",
          "app/api/domains/route.ts",
          "app/api/firewall/route.ts",
          "app/api/projects/route.ts",
          "app/api/v1/deployments/route.ts",
          "app/api/v1/domains/[id]/route.ts",
          "app/api/v1/domains/route.ts",
          "app/api/v1/firewall/route.ts",
          "app/api/v1/projects/route.ts",
          "app/api/v1/sync/vercel/route.ts",
          "lib/monitor/discovery.ts",
          "lib/monitor/system.ts",
          "lib/vercel/client.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "VERCEL_URL",
        "source_paths": [
          "lib/mcp/__tests__/register.test.ts",
          "lib/mcp/register.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_WEBHOOK_SECRET",
        "source_paths": [
          ".env.example",
          "lib/webhooks/verify.ts"
        ],
        "likely_secret": true
      }
    ]
  },
  "configs": [
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    },
    {
      "path": "vercel.json"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [
      {
        "path": "docs/roadmap.md"
      }
    ],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [
      {
        "path": "app/api/mcp/route.ts"
      }
    ],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [
      {
        "path": "app/.well-known/agents.json/route.ts"
      },
      {
        "path": "app/.well-known/ai-plugin.json/route.ts"
      },
      {
        "path": "app/.well-known/mcp.json/route.ts"
      },
      {
        "path": "app/.well-known/security.txt/route.ts"
      },
      {
        "path": "app/.well-known/trust.json/route.ts"
      },
      {
        "path": "public/.well-known/ai-plugin.json"
      },
      {
        "path": "public/.well-known/security.txt"
      }
    ],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "AWS",
      "confidence": "medium",
      "evidence_paths": [
        ".env.example",
        "app/(dashboard)/notifications/page.tsx",
        "lib/anomalies/store.ts",
        "lib/anomaly/__tests__/baselines.test.ts",
        "lib/anomaly/baselines.ts",
        "lib/cache.ts",
        "lib/db.ts",
        "lib/monitor/incidents.ts",
        "lib/monitor/system.ts",
        "lib/notifications/store.ts",
        "package.json",
        "pnpm-lock.yaml",
        "scripts/setup-dynamodb.mjs"
      ]
    },
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        ".env.example",
        "app/.well-known/ai-plugin.json/route.ts",
        "app/(dashboard)/firewall/page.tsx",
        "app/(dashboard)/notifications/page.tsx",
        "app/api/docs/route.ts",
        "app/api/mcp/route.ts",
        "app/docs/page.tsx",
        "app/mcp/route.ts",
        "lib/monitor/trace.ts",
        "package.json"
      ]
    },
    {
      "name": "Redis",
      "confidence": "medium",
      "evidence_paths": [
        "package.json",
        "pnpm-lock.yaml",
        "proxy.ts"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        ".env.example",
        "app/(dashboard)/deployments/page.tsx",
        "app/(dashboard)/domains/page.tsx",
        "app/(dashboard)/page.tsx",
        "app/api/deployments/[deploymentId]/route.ts",
        "app/api/deployments/route.ts",
        "app/api/domains/route.ts",
        "app/api/firewall/route.ts",
        "app/api/projects/route.ts",
        "app/infra/vercel/page.tsx",
        "app/layout.tsx",
        "components/layout/sidebar.tsx",
        "components/settings/general-tab.tsx",
        "lib/db.ts",
        "lib/ja4/client.ts",
        "lib/mcp/__tests__/register.test.ts",
        "lib/mcp/register.ts",
        "lib/monitor/system.ts",
        "lib/vercel/__tests__/client.test.ts",
        "lib/vercel/client.ts",
        "lib/vercel/infra.ts",
        "lib/webhooks/__tests__/verify.test.ts",
        "lib/webhooks/verify.ts",
        "package.json",
        "pnpm-lock.yaml",
        "proxy.ts"
      ]
    }
  ],
  "license": {
    "spdx": "MIT",
    "paths": [
      {
        "path": "LICENSE"
      }
    ]
  },
  "comments": [
    {
      "kind": "security",
      "source_path": ".env.example",
      "line": 13,
      "text": "# Security: Webhook secret for Vercel deployment event HMAC-SHA1 verification"
    },
    {
      "kind": "security",
      "source_path": ".env.example",
      "line": 16,
      "text": "# Security: Cron job secret (used by Vercel Cron to authenticate scheduled tasks)"
    },
    {
      "kind": "security",
      "source_path": ".env.example",
      "line": 19,
      "text": "# Security: shared PlatPhorm platform API key for protected actions"
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 73,
      "text": "**Learning:** Depending exclusively on untrusted inputs like `window.location.origin` without strict validation could lead to security issues."
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/ai-plugin.json/route.ts",
      "line": 14,
      "text": "contact_email: \"security@platphormnews.com\","
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 6,
      "text": "\"Contact: mailto:security@platphormnews.com\","
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 9,
      "text": "\"Canonical: https://monitor.platphormnews.com/.well-known/security.txt\","
    },
    {
      "kind": "security",
      "source_path": "app/(dashboard)/page.tsx",
      "line": 109,
      "text": "{ href: \"/firewall\", label: \"Firewall\", icon: Shield, description: \"Security rules\" },"
    },
    {
      "kind": "security",
      "source_path": "app/api/cron/snapshot/route.ts",
      "line": 30,
      "text": "* Security: Validates CRON_SECRET header to prevent unauthorized access."
    },
    {
      "kind": "security",
      "source_path": "app/docs/page.tsx",
      "line": 63,
      "text": "title: \"Security Policy\","
    },
    {
      "kind": "security",
      "source_path": "app/docs/page.tsx",
      "line": 64,
      "text": "path: \"/.well-known/security.txt\","
    },
    {
      "kind": "security",
      "source_path": "app/docs/page.tsx",
      "line": 66,
      "text": "desc: \"Standardized security disclosure and contact policy.\","
    },
    {
      "kind": "security",
      "source_path": "components/layout/command-palette.tsx",
      "line": 34,
      "text": "{ id: \"firewall\", label: \"Firewall\", description: \"Security rules\", icon: Shield, href: \"/firewall\", section: \"Navigation\" },"
    },
    {
      "kind": "security",
      "source_path": "docs/roadmap.md",
      "line": 20,
      "text": "*   **API Security:** Route protection using `validateApiKey` (`@/lib/api/auth`) for sensitive endpoints (e.g., `/api/firewall`, `/api/domains`, `/api/deployments`)."
    },
    {
      "kind": "security",
      "source_path": "docs/roadmap.md",
      "line": 32,
      "text": "*   **Centralized Middleware:** The application currently lacks a global `middleware.ts` for comprehensive route protection. Security relies on explicit `validateApiKey` calls within individual API routes. Transitioning to a unified middlew"
    },
    {
      "kind": "security",
      "source_path": "docs/roadmap.md",
      "line": 50,
      "text": "1.  **Global Middleware Implementation:** Migrate individual route protection logic to a centralized `middleware.ts` for stronger, more maintainable security."
    },
    {
      "kind": "security",
      "source_path": "docs/roadmap.md",
      "line": 68,
      "text": "## 🔒 Security Posture & Considerations"
    },
    {
      "kind": "security",
      "source_path": "lib/monitor/constants.ts",
      "line": 31,
      "text": "\"/.well-known/security.txt\","
    },
    {
      "kind": "security",
      "source_path": "lib/monitor/discovery.ts",
      "line": 291,
      "text": "securityContact: \"security@platphormnews.com\","
    },
    {
      "kind": "security",
      "source_path": "lib/vercel/__tests__/firewall.test.ts",
      "line": 193,
      "text": "expect.stringContaining(\"/v1/security/firewall/config\"),"
    },
    {
      "kind": "security",
      "source_path": "lib/vercel/firewall.ts",
      "line": 61,
      "text": "`/v1/security/firewall/config/active?projectId=${encodeURIComponent(projectId)}`,"
    },
    {
      "kind": "security",
      "source_path": "lib/vercel/firewall.ts",
      "line": 83,
      "text": "`/v1/security/firewall/config?projectId=${encodeURIComponent(projectId)}`,"
    },
    {
      "kind": "security",
      "source_path": "lib/vercel/types.ts",
      "line": 231,
      "text": "* The GET /v1/security/firewall/config/active endpoint returns a response"
    },
    {
      "kind": "security",
      "source_path": "next.config.mjs",
      "line": 12,
      "text": "key: \"Strict-Transport-Security\","
    },
    {
      "kind": "security",
      "source_path": "next.config.mjs",
      "line": 17,
      "text": "key: \"Content-Security-Policy\","
    },
    {
      "kind": "unsafe",
      "source_path": "next.config.mjs",
      "line": 20,
      "text": "\"script-src 'self' 'unsafe-inline' 'unsafe-eval' https://va.vercel-scripts.com\","
    },
    {
      "kind": "unsafe",
      "source_path": "next.config.mjs",
      "line": 21,
      "text": "\"style-src 'self' 'unsafe-inline'\","
    },
    {
      "kind": "security",
      "source_path": "pr_description.md",
      "line": 3,
      "text": "🎯 Impact: An attacker could potentially deduce the length of the expected webhook signature by measuring the time it takes for the server to respond, weakening the cryptographic security of the webhook verification process."
    },
    {
      "kind": "security",
      "source_path": "public/.well-known/security.txt",
      "line": 1,
      "text": "Contact: mailto:security@platphormnews.com"
    },
    {
      "kind": "security",
      "source_path": "public/.well-known/security.txt",
      "line": 4,
      "text": "Canonical: https://monitor.platphormnews.com/.well-known/security.txt"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          ".Jules/sentinel.md",
          "app/layout.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "components/shared/project-selector.tsx",
          "lib/monitor/discovery.ts"
        ]
      },
      {
        "name": "ssrf-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "components/shared/project-selector.tsx",
          "lib/mcp/client.ts",
          "lib/mcp/tools.ts",
          "lib/monitor/checks.ts",
          "lib/vercel/client.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          ".env.example",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/(dashboard)/firewall/page.tsx",
          "app/(dashboard)/notifications/page.tsx",
          "app/api/docs/route.ts",
          "app/api/mcp/route.ts",
          "app/docs/page.tsx",
          "app/mcp/route.ts",
          "lib/api/__tests__/auth.test.ts",
          "lib/api/auth.ts",
          "lib/monitor/constants.ts",
          "lib/monitor/discovery.ts",
          "lib/monitor/system.ts",
          "lib/monitor/trace.ts"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/(dashboard)/analytics/page.tsx",
          "app/(dashboard)/deployments/page.tsx",
          "app/(dashboard)/domains/page.tsx",
          "app/(dashboard)/firewall/page.tsx",
          "app/(dashboard)/loading.tsx",
          "app/(dashboard)/notifications/page.tsx",
          "app/(dashboard)/page.tsx",
          "app/(dashboard)/projects/[projectId]/deployments/page.tsx",
          "app/(dashboard)/projects/[projectId]/page.tsx",
          "app/(dashboard)/projects/page.tsx",
          "app/(dashboard)/system-health/page.tsx",
          "app/docs/page.tsx",
          "app/globals.css",
          "app/infra/vercel/page.tsx",
          "components/analytics/analytics-stats.tsx",
          "components/analytics/anomaly-alerts.tsx",
          "components/analytics/traffic-chart.tsx",
          "components/dashboard/cache-status.tsx",
          "components/dashboard/deployment-sparkline.tsx",
          "components/dashboard/overview-cards.tsx"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/ai-plugin.json/route.ts",
          "lib/api/__tests__/response.test.ts",
          "lib/vercel/types.ts",
          "public/.well-known/ai-plugin.json"
        ]
      },
      {
        "name": "financial",
        "confidence": "medium",
        "evidence_paths": [
          ".Jules/sentinel.md"
        ]
      },
      {
        "name": "fingerprint",
        "confidence": "medium",
        "evidence_paths": [
          "lib/ja4/client.ts",
          "proxy.ts"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          ".Jules/bolt.md",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/(dashboard)/analytics/page.tsx",
          "app/(dashboard)/page.tsx",
          "app/(dashboard)/system-health/page.tsx",
          "app/api/health/route.ts",
          "app/api/rate-limit/route.ts",
          "app/api/v1/health/route.ts",
          "app/api/v1/status/route.ts",
          "app/api/v1/system-health/route.ts",
          "app/docs/page.tsx",
          "app/robots.ts",
          "app/sitemap.ts",
          "components/dashboard/cache-status.tsx",
          "components/dashboard/health-indicator.tsx",
          "components/layout/footer.tsx",
          "components/layout/mobile-nav.tsx",
          "components/layout/sidebar.tsx",
          "components/settings/general-tab.tsx",
          "components/settings/integrations-tab.tsx"
        ]
      },
      {
        "name": "ip address",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/cron/snapshot/__tests__/route.test.ts",
          "components/firewall/rule-editor/constants.ts",
          "docs/roadmap.md"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          ".Jules/bolt.md",
          ".Jules/sentinel.md",
          "app/api/analytics/route.ts",
          "app/api/cron/snapshot/route.ts",
          "components/analytics/analytics-stats.tsx",
          "components/dashboard/deployment-sparkline.tsx",
          "components/infra/VercelDomainsDashboard.tsx",
          "components/settings/integrations-tab.tsx",
          "lib/anomaly/baselines.ts",
          "lib/anomaly/detector.ts",
          "lib/domains/grouping.ts",
          "lib/ja4/client.ts",
          "lib/utils.ts",
          "lib/vercel/cache-keys.ts",
          "lib/vercel/infra.ts",
          "lib/vercel/types.ts",
          "next.config.mjs",
          "proxy.ts"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "docs/roadmap.md",
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/vercel/client.test.ts",
          "__tests__/lib/vercel/deployments.test.ts",
          ".env.example",
          "app/(dashboard)/deployments/page.tsx",
          "app/(dashboard)/domains/page.tsx",
          "app/(dashboard)/page.tsx",
          "app/(dashboard)/projects/page.tsx",
          "app/(dashboard)/system-health/page.tsx",
          "app/api/deployments/route.ts",
          "app/api/domains/route.ts",
          "app/api/firewall/route.ts",
          "app/api/projects/route.ts",
          "app/api/rate-limit/__tests__/route.test.ts",
          "app/api/v1/deployments/route.ts",
          "app/api/v1/domains/[id]/route.ts",
          "app/api/v1/domains/route.ts",
          "app/api/v1/firewall/route.ts",
          "app/api/v1/projects/route.ts",
          "app/api/v1/sync/vercel/route.ts",
          "app/infra/vercel/page.tsx"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:16.215Z"
}
