{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-onboard",
    "name": "mbarbine__platphorm-onboard",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-onboard",
    "relative_path": "github-recent/mbarbine__platphorm-onboard",
    "remote_url": "git@github.com:mbarbine/platphorm-onboard.git",
    "default_branch": "main",
    "current_commit": "c9f12029354611acfb888be21298db249e6581ec"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 168,
      "bytes": 731342
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 269729
    },
    {
      "language": "Markdown",
      "files": 21,
      "bytes": 172197
    },
    {
      "language": "JSON",
      "files": 12,
      "bytes": 63224
    },
    {
      "language": "CSS",
      "files": 1,
      "bytes": 4860
    },
    {
      "language": "JavaScript",
      "files": 3,
      "bytes": 1556
    },
    {
      "language": "Dockerfile",
      "files": 1,
      "bytes": 826
    },
    {
      "language": "XML",
      "files": 1,
      "bytes": 307
    }
  ],
  "frameworks": [
    {
      "name": "MCP SDK",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Next.js",
      "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": "platphorm-onboard",
        "version": "0.1.0",
        "scripts": {
          "dev": "next dev",
          "build": "next build --webpack",
          "start": "next start",
          "lint": "eslint .",
          "test": "vitest run",
          "test:e2e": "playwright test"
        },
        "dependencies": {
          "@aws-sdk/client-dynamodb": "^3.1035.0",
          "@aws-sdk/lib-dynamodb": "^3.1035.0",
          "@floating-ui/dom": "^1.7.6",
          "@floating-ui/react-dom": "2.1.7",
          "@hookform/resolvers": "^3.10.0",
          "@modelcontextprotocol/sdk": "^1.18.2",
          "@neondatabase/serverless": "^1.0.2",
          "@radix-ui/react-accordion": "1.2.12",
          "@radix-ui/react-alert-dialog": "1.1.15",
          "@radix-ui/react-aspect-ratio": "1.1.8",
          "@radix-ui/react-avatar": "1.1.11",
          "@radix-ui/react-checkbox": "1.3.3",
          "@radix-ui/react-collapsible": "1.1.12",
          "@radix-ui/react-context-menu": "2.2.16",
          "@radix-ui/react-dialog": "1.1.15",
          "@radix-ui/react-dropdown-menu": "2.1.16",
          "@radix-ui/react-hover-card": "1.1.15",
          "@radix-ui/react-label": "2.1.8",
          "@radix-ui/react-menubar": "1.1.16",
          "@radix-ui/react-navigation-menu": "1.2.14",
          "@radix-ui/react-popover": "1.1.15",
          "@radix-ui/react-progress": "1.1.8",
          "@radix-ui/react-radio-group": "1.3.8",
          "@radix-ui/react-scroll-area": "1.2.10",
          "@radix-ui/react-select": "2.2.6",
          "@radix-ui/react-separator": "1.1.8",
          "@radix-ui/react-slider": "1.3.6",
          "@radix-ui/react-slot": "1.2.4",
          "@radix-ui/react-switch": "1.2.6",
          "@radix-ui/react-tabs": "1.1.13",
          "@radix-ui/react-toast": "1.2.15",
          "@radix-ui/react-toggle": "1.1.10",
          "@radix-ui/react-toggle-group": "1.1.11",
          "@radix-ui/react-tooltip": "1.2.8",
          "@radix-ui/react-use-callback-ref": "^1.1.1",
          "@radix-ui/react-use-escape-keydown": "^1.1.1",
          "@vercel/analytics": "1.6.1",
          "@vercel/functions": "^3.4.4",
          "autoprefixer": "^10.5.0",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.1.1",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.6.0",
          "get-nonce": "^1.0.1",
          "input-otp": "1.4.2",
          "isomorphic-dompurify": "^2.24.0",
          "lucide-react": "^0.564.0",
          "nanoid": "^5.1.9",
          "next": "16.1.6",
          "next-themes": "^0.4.6",
          "react": "19.2.4",
          "react-day-picker": "9.13.2",
          "react-dom": "19.2.4",
          "react-hook-form": "^7.73.1",
          "react-resizable-panels": "^2.1.9",
          "recharts": "2.15.0",
          "sonner": "^1.7.4",
          "tailwind-merge": "^3.5.0",
          "uuid": "^11.1.0",
          "vaul": "^1.1.2",
          "vercel-plugin": "github:vercel/vercel-plugin",
          "zod": "^3.25.76"
        },
        "dev_dependencies": {
          "@eslint/js": "^10.0.1",
          "@playwright/test": "^1.59.1",
          "@tailwindcss/postcss": "^4.2.4",
          "@types/node": "^22.19.17",
          "@types/react": "19.2.14",
          "@types/react-dom": "19.2.3",
          "eslint": "^10.3.0",
          "eslint-plugin-react-hooks": "^7.1.1",
          "globals": "^17.6.0",
          "postcss": "^8.5.10",
          "tailwindcss": "^4.2.4",
          "tw-animate-css": "1.3.3",
          "typescript": "5.7.3",
          "typescript-eslint": "^8.59.2",
          "vitest": "^2.1.8"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/[...path]",
        "source_path": "app/api/[...path]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/applications/[id]",
        "source_path": "app/api/applications/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/applications",
        "source_path": "app/api/applications/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/automation",
        "source_path": "app/api/automation/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/capabilities",
        "source_path": "app/api/capabilities/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/categories",
        "source_path": "app/api/categories/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/check-subdomain",
        "source_path": "app/api/check-subdomain/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/cron/refresh",
        "source_path": "app/api/cron/refresh/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": "/documents/[slug]",
        "source_path": "app/api/documents/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET",
          "PUT"
        ]
      },
      {
        "route": "/documents",
        "source_path": "app/api/documents/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/health",
        "source_path": "app/api/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/indexnow",
        "source_path": "app/api/indexnow/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/ingest",
        "source_path": "app/api/ingest/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/integrations/[name]/mcp",
        "source_path": "app/api/integrations/[name]/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/integrations",
        "source_path": "app/api/integrations/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/keys",
        "source_path": "app/api/keys/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST",
          "PUT"
        ]
      },
      {
        "route": "/mcp/register",
        "source_path": "app/api/mcp/register/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/mcp",
        "source_path": "app/api/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/og",
        "source_path": "app/api/og/route.tsx",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/openapi",
        "source_path": "app/api/openapi/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/project-docs/[slug]",
        "source_path": "app/api/project-docs/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/project-docs",
        "source_path": "app/api/project-docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/search",
        "source_path": "app/api/search/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/session",
        "source_path": "app/api/session/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/settings",
        "source_path": "app/api/settings/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "PUT"
        ]
      },
      {
        "route": "/submissions/[id]",
        "source_path": "app/api/submissions/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/submissions",
        "source_path": "app/api/submissions/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/url-preview",
        "source_path": "app/api/url-preview/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/[...path]",
        "source_path": "app/api/v1/[...path]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET",
          "OPTIONS",
          "PATCH",
          "POST",
          "PUT"
        ]
      },
      {
        "route": "/v1/applications/[id]/review",
        "source_path": "app/api/v1/applications/[id]/review/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/applications/[id]",
        "source_path": "app/api/v1/applications/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/applications/[id]/submit",
        "source_path": "app/api/v1/applications/[id]/submit/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/applications",
        "source_path": "app/api/v1/applications/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/applications/status/[token]",
        "source_path": "app/api/v1/applications/status/[token]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/capabilities",
        "source_path": "app/api/v1/capabilities/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/docs",
        "source_path": "app/api/v1/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/drafts/[id]",
        "source_path": "app/api/v1/drafts/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/drafts",
        "source_path": "app/api/v1/drafts/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/feeds",
        "source_path": "app/api/v1/feeds/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/health",
        "source_path": "app/api/v1/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/integrations",
        "source_path": "app/api/v1/integrations/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/mcp",
        "source_path": "app/api/v1/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/model/onboard",
        "source_path": "app/api/v1/model/onboard/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "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/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/subdomains/check",
        "source_path": "app/api/v1/subdomains/check/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/subdomains/request",
        "source_path": "app/api/v1/subdomains/request/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/url-preview",
        "source_path": "app/api/v1/url-preview/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/version",
        "source_path": "app/api/version/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks",
        "source_path": "app/api/webhooks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/workflow",
        "source_path": "app/api/workflow/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/[locale]/docs/api",
        "source_path": "app/[locale]/docs/api/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/[locale]/faq",
        "source_path": "app/[locale]/faq/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/[locale]/jobs",
        "source_path": "app/[locale]/jobs/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/[locale]/onboarding/[id]",
        "source_path": "app/[locale]/onboarding/[id]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/[locale]",
        "source_path": "app/[locale]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/docs/api",
        "source_path": "app/docs/api/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/faq",
        "source_path": "app/faq/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/jobs",
        "source_path": "app/jobs/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "accessible-theme-switcher",
      "kind": "ui-component",
      "source_path": "components/accessible-theme-switcher.tsx"
    },
    {
      "name": "application-form",
      "kind": "ui-component",
      "source_path": "components/forms/application-form.tsx"
    },
    {
      "name": "footer",
      "kind": "ui-component",
      "source_path": "components/layout/footer.tsx"
    },
    {
      "name": "header",
      "kind": "ui-component",
      "source_path": "components/layout/header.tsx"
    },
    {
      "name": "locale-switcher",
      "kind": "ui-component",
      "source_path": "components/locale-switcher.tsx"
    },
    {
      "name": "benefits",
      "kind": "ui-component",
      "source_path": "components/sections/benefits.tsx"
    },
    {
      "name": "hero",
      "kind": "ui-component",
      "source_path": "components/sections/hero.tsx"
    },
    {
      "name": "how-it-works",
      "kind": "ui-component",
      "source_path": "components/sections/how-it-works.tsx"
    },
    {
      "name": "network-showcase",
      "kind": "ui-component",
      "source_path": "components/sections/network-showcase.tsx"
    },
    {
      "name": "json-ld",
      "kind": "ui-component",
      "source_path": "components/seo/json-ld.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "breadcrumbs",
      "kind": "ui-component",
      "source_path": "components/ui/breadcrumbs.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "dropdown-menu",
      "kind": "ui-component",
      "source_path": "components/ui/dropdown-menu.tsx"
    },
    {
      "name": "field",
      "kind": "ui-component",
      "source_path": "components/ui/field.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "separator",
      "kind": "ui-component",
      "source_path": "components/ui/separator.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    },
    {
      "name": "spinner",
      "kind": "ui-component",
      "source_path": "components/ui/spinner.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "toast",
      "kind": "ui-component",
      "source_path": "components/ui/toast.tsx"
    },
    {
      "name": "toggle",
      "kind": "ui-component",
      "source_path": "components/ui/toggle.tsx"
    },
    {
      "name": "tooltip-note",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip-note.tsx"
    }
  ],
  "data_models": [
    {
      "name": "model",
      "kind": "schema-file",
      "source_path": "lib/onboard/model.ts"
    }
  ],
  "database": {
    "databases": [],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "application-status-review.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/application-status-review.test.ts"
    },
    {
      "name": "applications.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/applications.test.ts"
    },
    {
      "name": "check-subdomain.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/check-subdomain.test.ts"
    },
    {
      "name": "discoverability-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/discoverability-routes.test.ts"
    },
    {
      "name": "docs-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/docs-routes.test.ts"
    },
    {
      "name": "documents-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/documents-routes.test.ts"
    },
    {
      "name": "integrations-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/integrations-routes.test.ts"
    },
    {
      "name": "keys-and-webhooks-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/keys-and-webhooks-routes.test.ts"
    },
    {
      "name": "phase1-platform-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/phase1-platform-routes.test.ts"
    },
    {
      "name": "settings-route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/settings-route.test.ts"
    },
    {
      "name": "submission-review-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/submission-review-routes.test.ts"
    },
    {
      "name": "submissions-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/submissions-routes.test.ts"
    },
    {
      "name": "sw-route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/sw-route.test.ts"
    },
    {
      "name": "url-preview.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/url-preview.test.ts"
    },
    {
      "name": "post-registration.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/integrations/post-registration.test.ts"
    },
    {
      "name": "markdown.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/markdown.test.ts"
    },
    {
      "name": "onboard-platform-helpers.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/onboard-platform-helpers.test.ts"
    },
    {
      "name": "quick-onboarding.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/onboarding/quick-onboarding.test.ts"
    },
    {
      "name": "onboarding-wizard.spec.ts",
      "kind": "e2e",
      "source_path": "e2e/onboarding-wizard.spec.ts"
    },
    {
      "name": "playwright.config.ts",
      "kind": "playwright",
      "source_path": "playwright.config.ts"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [
      {
        "path": "Dockerfile"
      }
    ],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "ADMIN_API_KEY",
        "source_paths": [
          ".jules/sentinel.md"
        ],
        "likely_secret": true
      },
      {
        "name": "AI_GATEWAY_PROVIDER",
        "source_paths": [
          "__tests__/lib/onboard-platform-helpers.test.ts",
          "app/api/health/route.ts",
          "lib/onboard/model.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "API_KEY_PREFIX",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "AWS_REGION",
        "source_paths": [
          "lib/db/client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "AWS_ROLE_ARN",
        "source_paths": [
          "lib/db/client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "CALENDAR_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "docs/PACKAGES.md",
          "lib/db.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DOCS_PUBLISH_URL",
        "source_paths": [
          "lib/integrations/post-registration.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DOCS_REVIEW_URL",
        "source_paths": [
          "__tests__/integrations/post-registration.test.ts",
          "lib/integrations/post-registration.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DOCS_SUBMISSION_URL",
        "source_paths": [
          "__tests__/integrations/post-registration.test.ts",
          "lib/integrations/post-registration.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DYNAMODB_TABLE_NAME",
        "source_paths": [
          "lib/db/client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DYNAMODB_TABLE_PARTITION_KEY",
        "source_paths": [
          "lib/db/client.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DYNAMODB_TABLE_SORT_KEY",
        "source_paths": [
          "lib/db/client.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "EMOJI_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "GITHUB_TOKEN",
        "source_paths": [
          "__tests__/api/integrations-routes.test.ts",
          "lib/integrations/github.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "INDEXNOW_KEY",
        "source_paths": [
          "app/api/indexnow/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "JA4MLAB_DB_OPTIONAL",
        "source_paths": [
          "__tests__/api/discoverability-routes.test.ts",
          "app/rss.xml/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "JSON_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "KANBAN_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "KANBAN_TASKS_URL",
        "source_paths": [
          "lib/integrations/post-registration.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "LOG_LEVEL",
        "source_paths": [
          "lib/logger.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MCP_HUB_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MCP_PROTOCOL_VERSION",
        "source_paths": [
          "app/.well-known/[...path]/route.ts",
          "app/api/[...path]/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MCP_REGISTRY_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NETWORK_GRAPH_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_BASE_URL",
        "source_paths": [
          "app/api/og/route.tsx",
          "app/robots.txt/route.ts",
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_CONDUCT_EMAIL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_CONTACT_EMAIL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_DISCORD_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_GITHUB_ORG",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_GITHUB_REPO",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_ORG_NAME",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_ORG_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SECURITY_EMAIL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SITE_DESCRIPTION",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SITE_NAME",
        "source_paths": [
          "app/api/og/route.tsx",
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SITE_TAGLINE",
        "source_paths": [
          "app/api/og/route.tsx",
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SITE_URL",
        "source_paths": [
          "app/api/mcp/register/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_STORAGE_PREFIX",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_SUPPORT_EMAIL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "app/api/health/route.ts",
          "lib/logger.ts",
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "ONBOARD_MODEL_PROVIDER",
        "source_paths": [
          "__tests__/lib/onboard-platform-helpers.test.ts",
          "app/api/health/route.ts",
          "lib/onboard/model.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          "__tests__/api/integrations-routes.test.ts",
          "app/api/mcp/register/route.ts",
          "lib/api-helpers.ts",
          "lib/integrations/post-registration.ts",
          "lib/onboard/auth-policy.ts",
          "lib/onboard/integrations.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_REQUIRE_API_KEY",
        "source_paths": [
          "__tests__/lib/onboard-platform-helpers.test.ts",
          "lib/onboard/auth-policy.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "SERVICE_NAME",
        "source_paths": [
          "app/.well-known/[...path]/route.ts",
          "app/api/[...path]/route.ts",
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "SESSION_SALT",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "SVG_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "TRACE_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "URL_PREVIEW_TIMEOUT_MS",
        "source_paths": [
          "app/api/url-preview/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "V0_API_TOKEN",
        "source_paths": [
          "__tests__/api/integrations-routes.test.ts",
          "__tests__/integrations/post-registration.test.ts",
          "lib/integrations/post-registration.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "V0_PROJECTS_URL",
        "source_paths": [
          "lib/integrations/post-registration.ts",
          "lib/onboard/integrations.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_ENV",
        "source_paths": [
          "app/api/health/route.ts",
          "docs/PACKAGES.md",
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_GIT_COMMIT_DATE",
        "source_paths": [
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_GIT_COMMIT_REF",
        "source_paths": [
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_GIT_COMMIT_SHA",
        "source_paths": [
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_REGION",
        "source_paths": [
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_TEAM_ID",
        "source_paths": [
          "lib/integrations/vercel.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_TOKEN",
        "source_paths": [
          "__tests__/api/integrations-routes.test.ts",
          "lib/integrations/vercel.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "VERCEL_URL",
        "source_paths": [
          "app/api/mcp/register/route.ts",
          "lib/version.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "WEBHOOK_EVENT_HEADER",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "WEBHOOK_SIGNATURE_HEADER",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "XML_API_URL",
        "source_paths": [
          "lib/site-config.ts"
        ],
        "likely_secret": false
      }
    ]
  },
  "configs": [
    {
      "path": "eslint.config.mjs"
    },
    {
      "path": "lib/integrations/vercel.ts"
    },
    {
      "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": "docs/README.md"
      },
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [
      {
        "path": "docs/anoms-do-not-delete.md"
      },
      {
        "path": "docs/API.md"
      },
      {
        "path": "docs/ARCHITECTURE.md"
      },
      {
        "path": "docs/CHANGELOG.md"
      },
      {
        "path": "docs/CODE_OF_CONDUCT.md"
      },
      {
        "path": "docs/CONTRIBUTING.md"
      },
      {
        "path": "docs/deep-research-report-v2.md"
      },
      {
        "path": "docs/License FAQ.md"
      },
      {
        "path": "docs/LOCAL_DEV.md"
      },
      {
        "path": "docs/minimum-discoverability-matrix.md"
      },
      {
        "path": "docs/NEW_INTERNET_V1_FULL_SPEC.md"
      },
      {
        "path": "docs/PACKAGES.md"
      },
      {
        "path": "docs/phase-2-automation.md"
      },
      {
        "path": "docs/PRINCIPLES.md"
      },
      {
        "path": "docs/README.md"
      },
      {
        "path": "docs/ROADMAP.md"
      },
      {
        "path": "docs/SECURITY.md"
      }
    ],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [
      {
        "path": "app/api/mcp/register/route.ts"
      },
      {
        "path": "app/api/mcp/route.ts"
      }
    ],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [
      {
        "path": "app/.well-known/[...path]/route.ts"
      },
      {
        "path": "app/.well-known/agent.json/route.ts"
      },
      {
        "path": "app/.well-known/agents.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"
      }
    ],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "AWS",
      "confidence": "medium",
      "evidence_paths": [
        "lib/db/client.ts",
        "package.json",
        "pnpm-lock.yaml"
      ]
    },
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/api/application-status-review.test.ts",
        "__tests__/api/integrations-routes.test.ts",
        "__tests__/lib/onboard-platform-helpers.test.ts",
        "app/.well-known/trust.json/route.ts",
        "app/[locale]/docs/api/page.tsx",
        "app/api/integrations/route.ts",
        "app/api/mcp/register/route.ts",
        "app/api/mcp/route.ts",
        "app/api/openapi/route.ts",
        "lib/onboard/auth-policy.ts",
        "package.json"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "docs/CONTRIBUTING.md",
        "docs/LOCAL_DEV.md",
        "docs/PACKAGES.md",
        "lib/db.ts",
        "package.json"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/api/integrations-routes.test.ts",
        "app/[locale]/layout.tsx",
        "app/api/health/route.ts",
        "app/api/mcp/register/route.ts",
        "docs/LOCAL_DEV.md",
        "docs/PACKAGES.md",
        "docs/phase-2-automation.md",
        "lib/db/client.ts",
        "lib/integrations/vercel.ts",
        "lib/onboard/integrations.ts",
        "lib/version.ts",
        "package.json",
        "pnpm-lock.yaml"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": []
  },
  "comments": [
    {
      "kind": "security",
      "source_path": ".jules/sentinel.md",
      "line": 3,
      "text": "**Learning:** Hardcoding fallback `true` return values in authentication checks creates an instant bypass if configuration errors occur. Always fail securely (deny by default) if required security configurations are missing."
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/agent.json/route.ts",
      "line": 31,
      "text": "security: SECURITY_EMAIL,"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/agent.json/route.ts",
      "line": 74,
      "text": "security_txt: `${baseUrl}/.well-known/security.txt`,"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 18,
      "text": "const securityTxt = `# ${SITE_NAME} Security Policy"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 22,
      "text": "Contact: https://github.com/PlatPhormNews/security/issues"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 25,
      "text": "Canonical: ${baseUrl}/.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 26,
      "text": "Policy: ${baseUrl}/docs/security"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/trust.json/route.ts",
      "line": 20,
      "text": "securityContact: 'security@platphormnews.com',"
    },
    {
      "kind": "security",
      "source_path": "app/api/indexnow/route.ts",
      "line": 21,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "security",
      "source_path": "app/api/openapi/route.ts",
      "line": 285,
      "text": "security: [{ PlatPhormBearer: [] }, { PlatPhormHeader: [] }],"
    },
    {
      "kind": "security",
      "source_path": "app/api/project-docs/[slug]/route.ts",
      "line": 14,
      "text": "'security': 'SECURITY.md',"
    },
    {
      "kind": "security",
      "source_path": "app/api/project-docs/route.ts",
      "line": 16,
      "text": "'SECURITY.md',"
    },
    {
      "kind": "security",
      "source_path": "app/api/project-docs/route.ts",
      "line": 43,
      "text": "'SECURITY.md': { description: 'Security policy and reporting', category: 'security' },"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/network/discovery-compliance/route.ts",
      "line": 24,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/network/route-compliance/route.ts",
      "line": 3,
      "text": "const requiredRoutes = ['/api/health', '/api/v1/health', '/api/docs', '/openapi.yaml', '/llms.txt', '/llms-full.txt', '/llms-index.json', '/robots.txt', '/sitemap.xml', '/rss.xml', '/feed.xml', '/manifest.webmanifest', '/.well-known/mcp.jso"
    },
    {
      "kind": "security",
      "source_path": "app/llms.txt/route.ts",
      "line": 53,
      "text": "- GET /.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "app/sitemap-main.xml/route.ts",
      "line": 20,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "security",
      "source_path": "docs/anoms-do-not-delete.md",
      "line": 323,
      "text": "category: { type: 'string', description: 'Filter by category (overview, technical, api, features, compliance, ecosystem, integrations, guides, planning, development, community, releases, security, design)' },"
    },
    {
      "kind": "security",
      "source_path": "docs/anoms-do-not-delete.md",
      "line": 333,
      "text": "slug: { type: 'string', description: 'Doc slug: readme | architecture | api | features | standards | ecosystem | integrations | use-cases | roadmap | testing | contributing | changelog | security | support | code-of-conduct | contributors |"
    },
    {
      "kind": "security",
      "source_path": "docs/anoms-do-not-delete.md",
      "line": 376,
      "text": "'security':         { file: 'SECURITY.md',         description: 'Security policy and reporting',                       category: 'security'     },"
    },
    {
      "kind": "unsafe",
      "source_path": "docs/anoms-do-not-delete.md",
      "line": 441,
      "text": "ORDER BY ${sql.unsafe(orderBy)}"
    },
    {
      "kind": "security",
      "source_path": "docs/ARCHITECTURE.md",
      "line": 136,
      "text": "## Security Model"
    },
    {
      "kind": "security",
      "source_path": "docs/ARCHITECTURE.md",
      "line": 149,
      "text": "- Content Security Policy headers"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 10,
      "text": "- Whether the schema choices will work reliably in entity[\"organization\",\"PostgreSQL\",\"database project\"], including correctness of partitioning, indexing, generated columns, and row-level security primitives. citeturn2search0turn1sea"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 17,
      "text": "### robots.txt and “discoverability vs security” semantics"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 21,
      "text": "Crucially, RFC 9309 explicitly states that REP rules are **not access authorization** and “not a substitute for valid content security measures,” which matters directly to how findings are categorized and scored: “blocked-by-robots” is **co"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 23,
      "text": "Schema implication (your current plan aligns): keeping `robots` in `evidence.artifacts`, with artifact-level evaluation in `results.artifact_evaluations`, lets you score parse correctness and “intent coherence” without treating it as a secu"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 25,
      "text": "### security.txt and the well-known location rule"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 27,
      "text": "Treating `security.txt` as first-class is correct and standards-aligned:"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 29,
      "text": "- **RFC 9116** defines `security.txt` as a machine-parsable file at a known location, and states it **MUST** follow the ABNF grammar defined in the RFC. citeturn0search1turn0search9"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 118,
      "text": "- PostgreSQL supports enabling row level security with `ALTER TABLE ... ENABLE ROW LEVEL SECURITY`. citeturn1search2turn1search6"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 119,
      "text": "- Policies are created with `CREATE POLICY`, and row security must be enabled for policies to apply. citeturn1search6turn1search2"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 136,
      "text": "- security.txt: ABNF validity + required fields presence, and correct well-known placement citeturn0search1turn0search2"
    },
    {
      "kind": "deprecated",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 169,
      "text": "Hardening recommendation: encode “FID is deprecated” as metadata and ensure UI/reporting labels treat FID as historical only, which your `fid_deprecated boolean` already supports. citeturn1search3turn1search7"
    },
    {
      "kind": "security",
      "source_path": "docs/deep-research-report-v2.md",
      "line": 196,
      "text": "- is grounded in real standards for core surface artifacts (`robots.txt`, `security.txt`, well-known URIs, sitemaps, manifests, OG metadata) citeturn0search0turn0search1turn0search2turn0search3turn3search0turn3search1"
    },
    {
      "kind": "security",
      "source_path": "docs/License FAQ.md",
      "line": 23,
      "text": "Yes, if your use is non-commercial as defined by the license. Internal evaluation, research, development, testing, security review, accessibility work, and internal experimentation are generally allowed if you are not directly or indirectly"
    },
    {
      "kind": "security",
      "source_path": "docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "line": 133,
      "text": "- `/security.txt`"
    },
    {
      "kind": "security",
      "source_path": "docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "line": 381,
      "text": "- SECURITY-TXT-PRESENCE"
    },
    {
      "kind": "security",
      "source_path": "docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "line": 382,
      "text": "- SECURITY-TXT-VALIDITY"
    },
    {
      "kind": "security",
      "source_path": "docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "line": 383,
      "text": "- SECURITY-CONTACT-USEFULNESS"
    },
    {
      "kind": "deprecated",
      "source_path": "docs/PACKAGES.md",
      "line": 106,
      "text": "from `@modelcontextprotocol/sdk`. The hand-rolled JSON-RPC approach is deprecated inside"
    },
    {
      "kind": "security",
      "source_path": "docs/README.md",
      "line": 23,
      "text": "- [SECURITY.md](SECURITY.md)"
    },
    {
      "kind": "security",
      "source_path": "docs/ROADMAP.md",
      "line": 174,
      "text": "**Security Audit:**"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 1,
      "text": "# Security Policy"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 12,
      "text": "We take security seriously. If you discover a security vulnerability,"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 17,
      "text": "**DO NOT** create a public GitHub issue for security vulnerabilities."
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 19,
      "text": "Instead, please email us at: **security@platphormnews.com**"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 46,
      "text": "- Physical security"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 51,
      "text": "We recognize security researchers who responsibly disclose vulnerabilities:"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 52,
      "text": "- Credit in security advisories"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 53,
      "text": "- Listing in SECURITY-THANKS.md"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 56,
      "text": "### Security Measures"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 60,
      "text": "- Content Security Policy headers"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 65,
      "text": "## Security Best Practices for Deployers"
    },
    {
      "kind": "security",
      "source_path": "docs/SECURITY.md",
      "line": 75,
      "text": "- Security issues: security@platphormnews.com"
    },
    {
      "kind": "security",
      "source_path": "lib/data/jobs.ts",
      "line": 107,
      "text": "'Implement security best practices',"
    },
    {
      "kind": "security",
      "source_path": "lib/data/jobs.ts",
      "line": 114,
      "text": "'Security-first mindset',"
    },
    {
      "kind": "unsafe",
      "source_path": "lib/db.ts",
      "line": 26,
      "text": "unsafe(rawSql: string): unknown"
    },
    {
      "kind": "security",
      "source_path": "lib/db/subdomains.ts",
      "line": 24,
      "text": "'auth', 'oauth', 'sso', 'security', 'privacy', 'terms',"
    },
    {
      "kind": "security",
      "source_path": "lib/emoji.ts",
      "line": 140,
      "text": "'security': '🔒',"
    },
    {
      "kind": "deprecated",
      "source_path": "lib/emoji.ts",
      "line": 179,
      "text": "'deprecated': '⏰',"
    },
    {
      "kind": "todo",
      "source_path": "lib/i18n.ts",
      "line": 264,
      "text": "'home.view_all': 'Ver Todo',"
    },
    {
      "kind": "todo",
      "source_path": "lib/integrations/post-registration.ts",
      "line": 180,
      "text": "status: 'todo',"
    },
    {
      "kind": "todo",
      "source_path": "lib/integrations/post-registration.ts",
      "line": 187,
      "text": "status: 'todo',"
    },
    {
      "kind": "security",
      "source_path": "lib/network/client.ts",
      "line": 59,
      "text": "{ host: 'threatrelay.platphormnews.com', subdomain: 'threatrelay', name: 'ThreatRelay', description: 'Security intelligence', category: 'technology', status: 'active' },"
    },
    {
      "kind": "security",
      "source_path": "lib/seo-generator.ts",
      "line": 96,
      "text": "'security': '🛡️',"
    },
    {
      "kind": "security",
      "source_path": "lib/site-config.ts",
      "line": 57,
      "text": "/** Security reporting email */"
    },
    {
      "kind": "security",
      "source_path": "lib/site-config.ts",
      "line": 59,
      "text": "process.env.NEXT_PUBLIC_SECURITY_EMAIL || 'security@platphormnews.com'"
    },
    {
      "kind": "todo",
      "source_path": "messages/es.json",
      "line": 29,
      "text": "\"subtitle\": \"Todo lo que necesitas para hacer crecer tu presencia online, completamente gratis.\","
    },
    {
      "kind": "todo",
      "source_path": "messages/es.json",
      "line": 53,
      "text": "\"description\": \"Soporte multilingüe y SEO internacional para llegar a audiencias en todo el mundo.\""
    },
    {
      "kind": "todo",
      "source_path": "messages/pt.json",
      "line": 53,
      "text": "\"description\": \"Suporte multilíngue e SEO internacional para alcançar audiências em todo o mundo.\""
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "child-process-exec",
        "confidence": "medium",
        "evidence_paths": [
          "lib/markdown.ts"
        ]
      },
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          "app/[locale]/faq/page.tsx",
          "app/[locale]/jobs/page.tsx",
          "components/seo/json-ld.tsx",
          "components/ui/breadcrumbs.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/automation/route.ts",
          "app/api/settings/route.ts",
          "app/api/workflow/route.ts",
          "app/llms.txt/route.ts",
          "components/accessible-theme-switcher.tsx",
          "docs/anoms-do-not-delete.md",
          "lib/api-helpers.ts"
        ]
      },
      {
        "name": "ssrf-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/automation/route.ts",
          "app/api/ingest/route.ts",
          "app/api/url-preview/route.ts",
          "app/api/workflow/route.ts",
          "docs/anoms-do-not-delete.md",
          "lib/integrations/post-registration.ts",
          "lib/integrations/vercel.ts",
          "lib/network/client.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/application-status-review.test.ts",
          "__tests__/api/integrations-routes.test.ts",
          "__tests__/lib/onboard-platform-helpers.test.ts",
          ".jules/sentinel.md",
          "app/.well-known/trust.json/route.ts",
          "app/[locale]/docs/api/page.tsx",
          "app/api/categories/route.ts",
          "app/api/documents/[slug]/route.ts",
          "app/api/documents/route.ts",
          "app/api/integrations/route.ts",
          "app/api/keys/route.ts",
          "app/api/mcp/register/route.ts",
          "app/api/mcp/route.ts",
          "app/api/openapi/route.ts",
          "app/api/submissions/[id]/route.ts",
          "app/api/v1/applications/[id]/review/route.ts",
          "app/api/webhooks/route.ts",
          "app/llms-full.txt/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/[locale]/docs/api/page.tsx",
          "app/[locale]/faq/page.tsx",
          "app/[locale]/jobs/page.tsx",
          "app/[locale]/layout.tsx",
          "app/[locale]/onboarding/[id]/page.tsx",
          "app/globals.css",
          "components/forms/application-form.tsx",
          "components/layout/footer.tsx",
          "components/sections/benefits.tsx",
          "components/sections/network-showcase.tsx",
          "components/ui/card.tsx",
          "docs/anoms-do-not-delete.md",
          "docs/CHANGELOG.md",
          "docs/NEW_INTERNET_V1_FULL_SPEC.md",
          "docs/PACKAGES.md",
          "docs/ROADMAP.md",
          "lib/data/faq.ts",
          "lib/db.ts",
          "lib/seo-generator.ts",
          "package.json"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/application-status-review.test.ts",
          "__tests__/api/applications.test.ts",
          "__tests__/api/submission-review-routes.test.ts",
          "__tests__/integrations/post-registration.test.ts",
          "__tests__/onboarding/quick-onboarding.test.ts",
          "app/.well-known/agent.json/route.ts",
          "app/.well-known/security.txt/route.ts",
          "app/[locale]/docs/api/page.tsx",
          "app/api/applications/route.ts",
          "app/api/documents/[slug]/route.ts",
          "app/api/documents/route.ts",
          "app/api/mcp/register/route.ts",
          "app/api/mcp/route.ts",
          "app/api/openapi/route.ts",
          "app/api/submissions/[id]/route.ts",
          "app/api/submissions/route.ts",
          "components/forms/application-form.tsx",
          "components/seo/json-ld.tsx",
          "docs/anoms-do-not-delete.md",
          "docs/API.md"
        ]
      },
      {
        "name": "financial",
        "confidence": "medium",
        "evidence_paths": [
          "docs/PRINCIPLES.md",
          "lib/network/client.ts"
        ]
      },
      {
        "name": "fingerprint",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/session/route.ts",
          "docs/ARCHITECTURE.md",
          "docs/CHANGELOG.md",
          "docs/PACKAGES.md",
          "docs/PRINCIPLES.md",
          "docs/ROADMAP.md",
          "lib/fingerprint.ts",
          "lib/logger.ts",
          "lib/site-config.ts"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/discoverability-routes.test.ts",
          "__tests__/lib/onboard-platform-helpers.test.ts",
          "app/.well-known/trust.json/route.ts",
          "app/[locale]/docs/api/page.tsx",
          "app/api/automation/route.ts",
          "app/api/capabilities/route.ts",
          "app/api/health/route.ts",
          "app/api/indexnow/route.ts",
          "app/api/mcp/register/route.ts",
          "app/api/openapi/route.ts",
          "app/api/v1/health/route.ts",
          "app/api/v1/network/route-compliance/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "app/robots.txt/route.ts",
          "docs/API.md",
          "docs/CODE_OF_CONDUCT.md",
          "docs/minimum-discoverability-matrix.md",
          "docs/phase-2-automation.md",
          "docs/ROADMAP.md"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "app/[locale]/jobs/page.tsx",
          "app/api/indexnow/route.ts",
          "app/api/url-preview/route.ts",
          "components/locale-switcher.tsx",
          "docs/deep-research-report-v2.md",
          "docs/NEW_INTERNET_V1_FULL_SPEC.md",
          "docs/PACKAGES.md",
          "lib/data/jobs.ts",
          "lib/db/types.ts"
        ]
      },
      {
        "name": "oauth",
        "confidence": "medium",
        "evidence_paths": [
          "docs/ROADMAP.md",
          "lib/db/subdomains.ts",
          "lib/registration/types.ts"
        ]
      },
      {
        "name": "password",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/settings-route.test.ts",
          "app/api/settings/route.ts",
          "lib/i18n.ts",
          "lib/site-config.ts"
        ]
      },
      {
        "name": "password_hash",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/settings-route.test.ts",
          "app/api/settings/route.ts"
        ]
      },
      {
        "name": "payment",
        "confidence": "medium",
        "evidence_paths": [
          "lib/db/subdomains.ts"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "session_token",
        "confidence": "medium",
        "evidence_paths": [
          "lib/db.ts"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/application-status-review.test.ts",
          "__tests__/api/integrations-routes.test.ts",
          "__tests__/integrations/post-registration.test.ts",
          ".jules/palette.md",
          "app/.well-known/agent.json/route.ts",
          "app/.well-known/trust.json/route.ts",
          "app/[locale]/docs/api/page.tsx",
          "app/api/applications/[id]/route.ts",
          "app/api/applications/route.ts",
          "app/api/mcp/route.ts",
          "app/api/v1/applications/[id]/review/route.ts",
          "app/api/v1/applications/[id]/submit/route.ts",
          "app/api/v1/applications/status/[token]/route.ts",
          "app/globals.css",
          "components/forms/application-form.tsx",
          "docs/PACKAGES.md",
          "docs/phase-2-automation.md",
          "docs/PRINCIPLES.md",
          "e2e/onboarding-wizard.spec.ts",
          "lib/api-helpers.ts"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:16.631Z"
}
