{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-shipments",
    "name": "mbarbine__platphorm-shipments",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-shipments",
    "relative_path": "github-recent/mbarbine__platphorm-shipments",
    "remote_url": "git@github.com:mbarbine/platphorm-shipments.git",
    "default_branch": "main",
    "current_commit": "168d184a37be601e369cb67c0007b72e3086f0bd"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 214,
      "bytes": 1359955
    },
    {
      "language": "JSON",
      "files": 8,
      "bytes": 260156
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 223181
    },
    {
      "language": "Markdown",
      "files": 11,
      "bytes": 69065
    },
    {
      "language": "SQL",
      "files": 1,
      "bytes": 12126
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 8706
    },
    {
      "language": "JavaScript",
      "files": 4,
      "bytes": 2109
    },
    {
      "language": "Dockerfile",
      "files": 1,
      "bytes": 509
    }
  ],
  "frameworks": [
    {
      "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": "usps-shipping-api",
        "version": "0.0.3",
        "scripts": {
          "dev": "next dev",
          "build": "next build",
          "start": "next start",
          "lint": "eslint .",
          "test": "vitest run",
          "test:watch": "vitest",
          "test:coverage": "vitest run --coverage"
        },
        "dependencies": {
          "@hookform/resolvers": "^3.9.1",
          "@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",
          "@vercel/analytics": "1.6.1",
          "@vercel/speed-insights": "^1.3.1",
          "autoprefixer": "^10.4.20",
          "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",
          "input-otp": "1.4.2",
          "lucide-react": "^0.564.0",
          "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.54.1",
          "react-resizable-panels": "^2.1.7",
          "recharts": "2.15.0",
          "sonner": "^1.7.1",
          "tailwind-merge": "^3.3.1",
          "vaul": "^1.1.2",
          "zod": "^3.24.1"
        },
        "dev_dependencies": {
          "@tailwindcss/postcss": "^4.2.0",
          "@testing-library/jest-dom": "^6.9.1",
          "@testing-library/react": "^16.3.2",
          "@testing-library/user-event": "^14.6.1",
          "@types/node": "^22",
          "@types/react": "19.2.14",
          "@types/react-dom": "19.2.3",
          "@vitejs/plugin-react": "^5.1.4",
          "@vitest/coverage-v8": "^4.0.18",
          "eslint": "^10.3.0",
          "eslint-plugin-react-hooks": "^7.1.1",
          "jsdom": "^28.1.0",
          "postcss": "^8.5",
          "tailwindcss": "^4.2.0",
          "tw-animate-css": "1.3.3",
          "typescript": "5.7.3",
          "typescript-eslint": "^8.59.2",
          "vitest": "^4.0.18"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/cron/refresh",
        "source_path": "app/api/cron/refresh/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/docs",
        "source_path": "app/api/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "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": "/v1/audit",
        "source_path": "app/api/v1/audit/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/customs/validate",
        "source_path": "app/api/v1/customs/validate/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/ecommerce/quote",
        "source_path": "app/api/v1/ecommerce/quote/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/fingerprint",
        "source_path": "app/api/v1/fingerprint/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/packages/presets/automotive",
        "source_path": "app/api/v1/packages/presets/automotive/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/packages/presets",
        "source_path": "app/api/v1/packages/presets/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/quickbooks/status",
        "source_path": "app/api/v1/quickbooks/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/rates/calculate",
        "source_path": "app/api/v1/rates/calculate/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "OPTIONS",
          "POST"
        ]
      },
      {
        "route": "/v1/rates/domestic",
        "source_path": "app/api/v1/rates/domestic/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/rates/international",
        "source_path": "app/api/v1/rates/international/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/rates",
        "source_path": "app/api/v1/rates/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/reports/quote",
        "source_path": "app/api/v1/reports/quote/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/services",
        "source_path": "app/api/v1/services/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/shipments",
        "source_path": "app/api/v1/shipments/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "OPTIONS",
          "POST"
        ]
      },
      {
        "route": "/v1/status",
        "source_path": "app/api/v1/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/tests",
        "source_path": "app/api/v1/tests/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/tracking/[trackingNumber]",
        "source_path": "app/api/v1/tracking/[trackingNumber]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "OPTIONS"
        ]
      },
      {
        "route": "/v1/usps/status",
        "source_path": "app/api/v1/usps/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks/shiprush",
        "source_path": "app/api/webhooks/shiprush/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/api-policy",
        "source_path": "app/api-policy/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"
        ]
      },
      {
        "route": "/privacy",
        "source_path": "app/privacy/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/terms",
        "source_path": "app/terms/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "api-tester.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/api-tester.test.tsx"
    },
    {
      "name": "copy-button.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/copy-button.test.tsx"
    },
    {
      "name": "error-boundary.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/error-boundary.test.tsx"
    },
    {
      "name": "faq-section.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/faq-section.test.tsx"
    },
    {
      "name": "not-found.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/not-found.test.tsx"
    },
    {
      "name": "site-footer.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/site-footer.test.tsx"
    },
    {
      "name": "site-header.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/site-header.test.tsx"
    },
    {
      "name": "theme-toggle.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/theme-toggle.test.tsx"
    },
    {
      "name": "available-endpoints-card",
      "kind": "ui-component",
      "source_path": "components/api-policy/available-endpoints-card.tsx"
    },
    {
      "name": "best-practices-card",
      "kind": "ui-component",
      "source_path": "components/api-policy/best-practices-card.tsx"
    },
    {
      "name": "rate-limits-card",
      "kind": "ui-component",
      "source_path": "components/api-policy/rate-limits-card.tsx"
    },
    {
      "name": "response-headers-card",
      "kind": "ui-component",
      "source_path": "components/api-policy/response-headers-card.tsx"
    },
    {
      "name": "security-requirements-card",
      "kind": "ui-component",
      "source_path": "components/api-policy/security-requirements-card.tsx"
    },
    {
      "name": "copy-button",
      "kind": "ui-component",
      "source_path": "components/copy-button.tsx"
    },
    {
      "name": "faq-section",
      "kind": "ui-component",
      "source_path": "components/faq-section.tsx"
    },
    {
      "name": "footer",
      "kind": "ui-component",
      "source_path": "components/footer.tsx"
    },
    {
      "name": "i18n-provider",
      "kind": "ui-component",
      "source_path": "components/i18n-provider.tsx"
    },
    {
      "name": "json-ld",
      "kind": "ui-component",
      "source_path": "components/json-ld.tsx"
    },
    {
      "name": "language-selector",
      "kind": "ui-component",
      "source_path": "components/language-selector.tsx"
    },
    {
      "name": "api-debug-panel",
      "kind": "ui-component",
      "source_path": "components/shipping/api-debug-panel.tsx"
    },
    {
      "name": "api-docs-tab",
      "kind": "ui-component",
      "source_path": "components/shipping/api-docs-tab.tsx"
    },
    {
      "name": "api-tester",
      "kind": "ui-component",
      "source_path": "components/shipping/api-tester.tsx"
    },
    {
      "name": "developer-docs",
      "kind": "ui-component",
      "source_path": "components/shipping/developer-docs.tsx"
    },
    {
      "name": "developer-panel",
      "kind": "ui-component",
      "source_path": "components/shipping/developer-panel.tsx"
    },
    {
      "name": "health-status",
      "kind": "ui-component",
      "source_path": "components/shipping/health-status.tsx"
    },
    {
      "name": "international-rate-form",
      "kind": "ui-component",
      "source_path": "components/shipping/international-rate-form.tsx"
    },
    {
      "name": "mcp-status",
      "kind": "ui-component",
      "source_path": "components/shipping/mcp-status.tsx"
    },
    {
      "name": "rate-calculator-form",
      "kind": "ui-component",
      "source_path": "components/shipping/rate-calculator-form.tsx"
    },
    {
      "name": "test-runner",
      "kind": "ui-component",
      "source_path": "components/shipping/test-runner.tsx"
    },
    {
      "name": "testing-panel",
      "kind": "ui-component",
      "source_path": "components/shipping/testing-panel.tsx"
    },
    {
      "name": "trace-viewer",
      "kind": "ui-component",
      "source_path": "components/shipping/trace-viewer.tsx"
    },
    {
      "name": "site-footer",
      "kind": "ui-component",
      "source_path": "components/site-footer.tsx"
    },
    {
      "name": "site-header",
      "kind": "ui-component",
      "source_path": "components/site-header.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "theme-toggle",
      "kind": "ui-component",
      "source_path": "components/theme-toggle.tsx"
    },
    {
      "name": "accordion",
      "kind": "ui-component",
      "source_path": "components/ui/accordion.tsx"
    },
    {
      "name": "alert-dialog",
      "kind": "ui-component",
      "source_path": "components/ui/alert-dialog.tsx"
    },
    {
      "name": "alert",
      "kind": "ui-component",
      "source_path": "components/ui/alert.tsx"
    },
    {
      "name": "aspect-ratio",
      "kind": "ui-component",
      "source_path": "components/ui/aspect-ratio.tsx"
    },
    {
      "name": "avatar",
      "kind": "ui-component",
      "source_path": "components/ui/avatar.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "breadcrumb",
      "kind": "ui-component",
      "source_path": "components/ui/breadcrumb.tsx"
    },
    {
      "name": "button-group",
      "kind": "ui-component",
      "source_path": "components/ui/button-group.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "calendar",
      "kind": "ui-component",
      "source_path": "components/ui/calendar.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "carousel",
      "kind": "ui-component",
      "source_path": "components/ui/carousel.tsx"
    },
    {
      "name": "chart",
      "kind": "ui-component",
      "source_path": "components/ui/chart.tsx"
    },
    {
      "name": "checkbox",
      "kind": "ui-component",
      "source_path": "components/ui/checkbox.tsx"
    },
    {
      "name": "collapsible",
      "kind": "ui-component",
      "source_path": "components/ui/collapsible.tsx"
    },
    {
      "name": "command",
      "kind": "ui-component",
      "source_path": "components/ui/command.tsx"
    },
    {
      "name": "context-menu",
      "kind": "ui-component",
      "source_path": "components/ui/context-menu.tsx"
    },
    {
      "name": "dialog",
      "kind": "ui-component",
      "source_path": "components/ui/dialog.tsx"
    },
    {
      "name": "drawer",
      "kind": "ui-component",
      "source_path": "components/ui/drawer.tsx"
    },
    {
      "name": "dropdown-menu",
      "kind": "ui-component",
      "source_path": "components/ui/dropdown-menu.tsx"
    },
    {
      "name": "empty",
      "kind": "ui-component",
      "source_path": "components/ui/empty.tsx"
    },
    {
      "name": "field",
      "kind": "ui-component",
      "source_path": "components/ui/field.tsx"
    },
    {
      "name": "form",
      "kind": "ui-component",
      "source_path": "components/ui/form.tsx"
    },
    {
      "name": "hover-card",
      "kind": "ui-component",
      "source_path": "components/ui/hover-card.tsx"
    },
    {
      "name": "input-group",
      "kind": "ui-component",
      "source_path": "components/ui/input-group.tsx"
    },
    {
      "name": "input-otp",
      "kind": "ui-component",
      "source_path": "components/ui/input-otp.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "item",
      "kind": "ui-component",
      "source_path": "components/ui/item.tsx"
    },
    {
      "name": "kbd",
      "kind": "ui-component",
      "source_path": "components/ui/kbd.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "menubar",
      "kind": "ui-component",
      "source_path": "components/ui/menubar.tsx"
    },
    {
      "name": "navigation-menu",
      "kind": "ui-component",
      "source_path": "components/ui/navigation-menu.tsx"
    },
    {
      "name": "pagination",
      "kind": "ui-component",
      "source_path": "components/ui/pagination.tsx"
    },
    {
      "name": "popover",
      "kind": "ui-component",
      "source_path": "components/ui/popover.tsx"
    },
    {
      "name": "progress",
      "kind": "ui-component",
      "source_path": "components/ui/progress.tsx"
    },
    {
      "name": "radio-group",
      "kind": "ui-component",
      "source_path": "components/ui/radio-group.tsx"
    },
    {
      "name": "resizable",
      "kind": "ui-component",
      "source_path": "components/ui/resizable.tsx"
    },
    {
      "name": "scroll-area",
      "kind": "ui-component",
      "source_path": "components/ui/scroll-area.tsx"
    },
    {
      "name": "select",
      "kind": "ui-component",
      "source_path": "components/ui/select.tsx"
    },
    {
      "name": "separator",
      "kind": "ui-component",
      "source_path": "components/ui/separator.tsx"
    },
    {
      "name": "sheet",
      "kind": "ui-component",
      "source_path": "components/ui/sheet.tsx"
    },
    {
      "name": "sidebar",
      "kind": "ui-component",
      "source_path": "components/ui/sidebar.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    },
    {
      "name": "slider",
      "kind": "ui-component",
      "source_path": "components/ui/slider.tsx"
    },
    {
      "name": "sonner",
      "kind": "ui-component",
      "source_path": "components/ui/sonner.tsx"
    },
    {
      "name": "spinner",
      "kind": "ui-component",
      "source_path": "components/ui/spinner.tsx"
    },
    {
      "name": "switch",
      "kind": "ui-component",
      "source_path": "components/ui/switch.tsx"
    },
    {
      "name": "table",
      "kind": "ui-component",
      "source_path": "components/ui/table.tsx"
    },
    {
      "name": "tabs",
      "kind": "ui-component",
      "source_path": "components/ui/tabs.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "toast",
      "kind": "ui-component",
      "source_path": "components/ui/toast.tsx"
    },
    {
      "name": "toaster",
      "kind": "ui-component",
      "source_path": "components/ui/toaster.tsx"
    },
    {
      "name": "toggle-group",
      "kind": "ui-component",
      "source_path": "components/ui/toggle-group.tsx"
    },
    {
      "name": "toggle",
      "kind": "ui-component",
      "source_path": "components/ui/toggle.tsx"
    },
    {
      "name": "tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [
      {
        "path": "scripts/001-create-schema.sql"
      }
    ],
    "migrations": []
  },
  "tests": [
    {
      "name": "audit.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/audit.test.ts"
    },
    {
      "name": "domestic-rates-comprehensive.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/domestic-rates-comprehensive.test.ts"
    },
    {
      "name": "health.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/health.test.ts"
    },
    {
      "name": "international-rates-comprehensive.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/international-rates-comprehensive.test.ts"
    },
    {
      "name": "rates.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/rates.test.ts"
    },
    {
      "name": "shipments.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/shipments.test.ts"
    },
    {
      "name": "shiprush-webhook.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/shiprush-webhook.test.ts"
    },
    {
      "name": "tracking.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/tracking.test.ts"
    },
    {
      "name": "api-tester.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/api-tester.test.tsx"
    },
    {
      "name": "copy-button.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/copy-button.test.tsx"
    },
    {
      "name": "error-boundary.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/error-boundary.test.tsx"
    },
    {
      "name": "faq-section.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/faq-section.test.tsx"
    },
    {
      "name": "not-found.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/not-found.test.tsx"
    },
    {
      "name": "site-footer.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/site-footer.test.tsx"
    },
    {
      "name": "site-header.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/site-header.test.tsx"
    },
    {
      "name": "theme-toggle.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/theme-toggle.test.tsx"
    },
    {
      "name": "use-mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/hooks/use-mobile.test.ts"
    },
    {
      "name": "use-toast.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/hooks/use-toast.test.ts"
    },
    {
      "name": "api-ui-sync.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/integration/api-ui-sync.test.ts"
    },
    {
      "name": "e2e-rate-flow.test.ts",
      "kind": "e2e",
      "source_path": "__tests__/integration/e2e-rate-flow.test.ts"
    },
    {
      "name": "form-ui-sync.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/integration/form-ui-sync.test.ts"
    },
    {
      "name": "rate-calculator-form-e2e.test.tsx",
      "kind": "e2e",
      "source_path": "__tests__/integration/rate-calculator-form-e2e.test.tsx"
    },
    {
      "name": "ai-tools.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/ai-tools.test.ts"
    },
    {
      "name": "client-logger.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/client-logger.test.ts"
    },
    {
      "name": "country-codes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/country-codes.test.ts"
    },
    {
      "name": "db.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/db.test.ts"
    },
    {
      "name": "emoji.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/emoji.test.ts"
    },
    {
      "name": "fingerprint.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/fingerprint.test.ts"
    },
    {
      "name": "hmac.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/hmac.test.ts"
    },
    {
      "name": "i18n.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/i18n.test.ts"
    },
    {
      "name": "mcp-client.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/mcp-client.test.ts"
    },
    {
      "name": "platphorm-service.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/platphorm-service.test.ts"
    },
    {
      "name": "polymarket-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/polymarket-api.test.ts"
    },
    {
      "name": "rate-limit.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/rate-limit.test.ts"
    },
    {
      "name": "shipping-rules.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/shipping-rules.test.ts"
    },
    {
      "name": "shipping-types.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/shipping-types.test.ts"
    },
    {
      "name": "shiprush-service.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/shiprush-service.test.ts"
    },
    {
      "name": "usps-extra-services.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/usps-extra-services.test.ts"
    },
    {
      "name": "usps-service-rates.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/usps-service-rates.test.ts"
    },
    {
      "name": "usps-service-retry.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/usps-service-retry.test.ts"
    },
    {
      "name": "usps-service.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/usps-service.test.ts"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/utils.test.ts"
    },
    {
      "name": "middleware.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/middleware/middleware.test.ts"
    },
    {
      "name": "test-runner.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/shipping/test-runner.tsx"
    },
    {
      "name": "config.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/config.test.ts"
    },
    {
      "name": "i18n.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/i18n.test.ts"
    },
    {
      "name": "test-config.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/test-config.ts"
    },
    {
      "name": "test-descriptions.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/test-descriptions.ts"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [
      {
        "path": "Dockerfile"
      }
    ],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "AI_GATEWAY_API_KEY",
        "source_paths": [
          "lib/phase1.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "__tests__/api/audit.test.ts",
          "__tests__/lib/db.test.ts",
          "app/api/health/route.ts",
          "app/api/v1/audit/route.ts",
          "app/api/v1/rates/calculate/route.ts",
          "app/api/v1/rates/international/route.ts",
          "lib/db.ts",
          "lib/fingerprint.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DEFAULT_DESTINATION_ZIP",
        "source_paths": [
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DEFAULT_HEIGHT",
        "source_paths": [
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DEFAULT_LENGTH",
        "source_paths": [
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DEFAULT_WEIGHT",
        "source_paths": [
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "DEFAULT_WIDTH",
        "source_paths": [
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "LARAVEL_INTERNAL_KEY",
        "source_paths": [
          "app/api/webhooks/shiprush/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "LOG_LEVEL",
        "source_paths": [
          "lib/logger.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MCP_SERVER_URL",
        "source_paths": [
          "lib/mcp-client.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "__tests__/api/shiprush-webhook.test.ts",
          ".Jules/sentinel.md",
          "app/api/v1/rates/calculate/route.ts",
          "app/api/v1/rates/international/route.ts",
          "app/api/v1/shipments/route.ts",
          "app/api/v1/tracking/[trackingNumber]/route.ts",
          "lib/client-logger.ts",
          "lib/logger.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "OPENAI_API_KEY",
        "source_paths": [
          "lib/phase1.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "ORIGIN_ZIP",
        "source_paths": [
          "__tests__/lib/platphorm-service.test.ts",
          "__tests__/lib/shiprush-service.test.ts",
          "lib/__tests__/config.test.ts",
          "lib/config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          "lib/mcp-client.ts",
          "lib/phase1.ts",
          "lib/platphorm-service.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_MCP_ENDPOINT",
        "source_paths": [
          "lib/platphorm-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_REQUIRE_API_KEY",
        "source_paths": [
          "__tests__/lib/usps-service.test.ts",
          "lib/phase1.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "QUICKBOOKS_CLIENT_ID",
        "source_paths": [
          "lib/phase1.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "QUICKBOOKS_CLIENT_SECRET",
        "source_paths": [
          "lib/phase1.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "SECRET",
        "source_paths": [
          ".Jules/sentinel.md"
        ],
        "likely_secret": true
      },
      {
        "name": "SHIPRUSH_API_KEY",
        "source_paths": [
          "__tests__/lib/shiprush-service.test.ts",
          "lib/shiprush-service.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "SHIPRUSH_API_URL",
        "source_paths": [
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "SHIPRUSH_WEBHOOK_SECRET",
        "source_paths": [
          "__tests__/api/shiprush-webhook.test.ts",
          "app/api/webhooks/shiprush/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "TEST_ORIGIN_ZIP",
        "source_paths": [
          "lib/test-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "TEST_ORIGIN_ZIP_ALT",
        "source_paths": [
          "lib/test-config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_BASE_URL",
        "source_paths": [
          "lib/usps-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_CLIENT_ID",
        "source_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "__tests__/lib/usps-service.test.ts",
          "app/api/health/route.ts",
          "lib/phase1.ts",
          "lib/usps-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_CLIENT_SECRET",
        "source_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "__tests__/lib/usps-service.test.ts",
          "app/api/health/route.ts",
          "lib/phase1.ts",
          "lib/usps-service.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "USPS_ENVIRONMENT",
        "source_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "__tests__/lib/usps-service.test.ts",
          "lib/usps-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_STAGING_BASE_URL",
        "source_paths": [
          "lib/usps-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_STAGING_CLIENT_ID",
        "source_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "lib/phase1.ts",
          "lib/usps-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "USPS_STAGING_CLIENT_SECRET",
        "source_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "lib/phase1.ts",
          "lib/usps-service.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "VANAGAIN_API_KEY",
        "source_paths": [
          "lib/platphorm-service.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "VANAGAIN_CART_API",
        "source_paths": [
          "__tests__/lib/platphorm-service.test.ts",
          "lib/platphorm-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_CITY",
        "source_paths": [
          "__tests__/lib/shiprush-service.test.ts",
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_EMAIL",
        "source_paths": [
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_NAME",
        "source_paths": [
          "__tests__/lib/shiprush-service.test.ts",
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_PHONE",
        "source_paths": [
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_STATE",
        "source_paths": [
          "__tests__/lib/shiprush-service.test.ts",
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VANAGAIN_SHIP_FROM_STREET",
        "source_paths": [
          "__tests__/lib/shiprush-service.test.ts",
          "lib/shiprush-service.ts"
        ],
        "likely_secret": false
      }
    ]
  },
  "configs": [
    {
      "path": "eslint.config.mjs"
    },
    {
      "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/EDGE_RUNTIME_COMPATIBILITY.md"
      },
      {
        "path": "docs/ROADMAP.md"
      },
      {
        "path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.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"
      }
    ],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "OpenAI",
      "confidence": "medium",
      "evidence_paths": [
        "lib/phase1.ts",
        "package.json"
      ]
    },
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/lib/platphorm-service.test.ts",
        "__tests__/lib/usps-service.test.ts",
        "app/.well-known/ai-plugin.json/route.ts",
        "app/.well-known/trust.json/route.ts",
        "app/api/v1/packages/presets/route.ts",
        "app/api/v1/reports/quote/route.ts",
        "app/api/v1/tests/route.ts",
        "app/faq/page.tsx",
        "lib/openapi.ts",
        "lib/phase1.ts",
        "lib/platphorm-service.ts",
        "package.json",
        "README.md"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/api/audit.test.ts",
        "__tests__/lib/db.test.ts",
        "__tests__/lib/fingerprint.test.ts",
        "app/api/health/route.ts",
        "app/api/v1/audit/route.ts",
        "app/api/v1/rates/calculate/route.ts",
        "app/api/v1/rates/international/route.ts",
        "components/shipping/health-status.tsx",
        "package.json"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "app/layout.tsx",
        "package-lock.json",
        "package.json",
        "pnpm-lock.yaml"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": []
  },
  "comments": [
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 7,
      "text": "**Learning:** Test endpoints that validate security controls (like password validation) often inadvertently leak real credentials if developers hardcode the values to make tests pass in production."
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 17,
      "text": "**Learning:** Returning `*` as a default fallback negates the security benefit of an origin whitelist."
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 31,
      "text": "**Learning:** When adding new endpoints that perform equivalent operations to existing ones (especially ones that call out to external APIs), security controls like rate limiting are often forgotten."
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 32,
      "text": "**Prevention:** Extract shared security controls like rate limiting logic into common libraries (`lib/rate-limit.ts`) to make them easily reusable, and always ensure parity in security measures across similar endpoints."
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 36,
      "text": "**Learning:** Even when core API features like Rate Limiting are created (e.g., `lib/rate-limit.ts`) and applied to primary endpoints like `/rates`, it is very common to overlook them when creating subsequent or parallel endpoints (like `/s"
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 37,
      "text": "**Prevention:** Establish an API route template or middleware structure that applies necessary security controls (like authentication and rate-limiting) automatically or by default to all routes in a namespace, rather than relying on manual"
    },
    {
      "kind": "security",
      "source_path": ".Jules/sentinel.md",
      "line": 41,
      "text": "**Learning:** Bypassing verification when secrets are absent causes a critical \"Fail Open\" vulnerability. Hardcoding environment-specific security bypasses often leads to unintended insecure behavior, especially when code is reused or envir"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 10,
      "text": "Canonical: ${SHIPMENTS_BASE_URL}/.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "app/api-policy/page.tsx",
      "line": 184,
      "text": "Security Requirements"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 13,
      "text": "* - security: JA4+ fingerprinting, rate limiting"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 439,
      "text": "// Security & Fingerprinting Tests (JA4+)"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 442,
      "text": "name: 'Security & JA4+ Fingerprinting',"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 443,
      "text": "id: 'security',"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 445,
      "text": "() => runTest('JA4-001: Hash function deterministic', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 454,
      "text": "() => runTest('JA4-002: Different inputs produce different hashes', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 463,
      "text": "() => runTest('JA4-003: JA4H fingerprint generation', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 476,
      "text": "() => runTest('JA4-004: JA4H captures HTTP method', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 486,
      "text": "() => runTest('JA4-005: JA4H captures accept-encoding', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 495,
      "text": "() => runTest('SEC-001: Rate limit configuration', 'security', async () => {"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/tests/route.ts",
      "line": 502,
      "text": "() => runTest('SEC-002: Bot protection patterns', 'security', async () => {"
    },
    {
      "kind": "todo",
      "source_path": "app/api/webhooks/shiprush/route.ts",
      "line": 66,
      "text": "// TODO: In production, this would update the Laravel database"
    },
    {
      "kind": "security",
      "source_path": "app/faq/page.tsx",
      "line": 143,
      "text": "id: 'security',"
    },
    {
      "kind": "security",
      "source_path": "app/faq/page.tsx",
      "line": 144,
      "text": "title: 'Security & Privacy',"
    },
    {
      "kind": "security",
      "source_path": "app/faq/page.tsx",
      "line": 149,
      "text": "answer: 'JA4+ is a suite of network fingerprinting methods that help identify and track client connections. We use JA4H (HTTP fingerprinting) for audit logging and security purposes. This helps detect unusual patterns and potential abuse.',"
    },
    {
      "kind": "security",
      "source_path": "app/faq/page.tsx",
      "line": 157,
      "text": "answer: 'All API communications use HTTPS encryption. We follow security best practices and do not store sensitive shipping information. See our Privacy Policy for full details.',"
    },
    {
      "kind": "security",
      "source_path": "app/jobs/page.tsx",
      "line": 74,
      "text": "<li>Ensure robust security and rate limiting across the network.</li>"
    },
    {
      "kind": "security",
      "source_path": "app/privacy/page.tsx",
      "line": 94,
      "text": "<li>JA4H HTTP fingerprint for security and rate limiting</li>"
    },
    {
      "kind": "security",
      "source_path": "app/privacy/page.tsx",
      "line": 114,
      "text": "<li>To detect and prevent abuse, fraud, and security threats</li>"
    },
    {
      "kind": "security",
      "source_path": "app/privacy/page.tsx",
      "line": 126,
      "text": "Data Security"
    },
    {
      "kind": "security",
      "source_path": "app/privacy/page.tsx",
      "line": 131,
      "text": "We implement industry-standard security measures to protect your data:"
    },
    {
      "kind": "security",
      "source_path": "app/terms/page.tsx",
      "line": 122,
      "text": "<li>Circumventing rate limits or security measures</li>"
    },
    {
      "kind": "security",
      "source_path": "components/api-policy/security-requirements-card.tsx",
      "line": 11,
      "text": "Security Requirements"
    },
    {
      "kind": "security",
      "source_path": "components/shipping/test-runner.tsx",
      "line": 217,
      "text": "<p>Run comprehensive tests for all API features including USPS integration, Platphorm MCP, ShipRush, and security.</p>"
    },
    {
      "kind": "security",
      "source_path": "components/shipping/test-runner.tsx",
      "line": 521,
      "text": "testDesc?.category === 'security' ? 'border-orange-300 text-orange-700 dark:text-orange-400' :"
    },
    {
      "kind": "security",
      "source_path": "components/shipping/test-runner.tsx",
      "line": 570,
      "text": "Tests cover ZIP validation, rate calculations, Platphorm integration, ShipRush service, and security features"
    },
    {
      "kind": "security",
      "source_path": "docs/ROADMAP.md",
      "line": 52,
      "text": "#### Security"
    },
    {
      "kind": "security",
      "source_path": "docs/ROADMAP.md",
      "line": 69,
      "text": "- Security Tests"
    },
    {
      "kind": "deprecated",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 24,
      "text": "1. **Legacy API Dependency**: Code uses deprecated `RateV4Request` XML format"
    },
    {
      "kind": "security",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 211,
      "text": "### Security Note (Phase 1)"
    },
    {
      "kind": "security",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 217,
      "text": "## Phase 2: Security & Reliability (Week 2-3)"
    },
    {
      "kind": "security",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 391,
      "text": "# Security (Phase 2)"
    },
    {
      "kind": "security",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 499,
      "text": "### Phase 2 (Security)"
    },
    {
      "kind": "security",
      "source_path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "line": 546,
      "text": "- 🔒 **Security**: Authentication added incrementally"
    },
    {
      "kind": "security",
      "source_path": "lib/openapi.ts",
      "line": 142,
      "text": "security: [],"
    },
    {
      "kind": "security",
      "source_path": "lib/openapi.ts",
      "line": 204,
      "text": "security: [{ PlatPhormApiKey: [] }, { PlatPhormBearer: [] }],"
    },
    {
      "kind": "security",
      "source_path": "lib/phase1.ts",
      "line": 334,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "todo",
      "source_path": "lib/platphorm-service.ts",
      "line": 115,
      "text": "// TODO: Integrate with VanAgain's cart API when available"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 16,
      "text": "category: 'validation' | 'calculation' | 'integration' | 'security' | 'api' | 'future';"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 47,
      "text": "security: {"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 48,
      "text": "name: 'Security & JA4+',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 49,
      "text": "description: 'Tests for security features including JA4+ fingerprinting, rate limiting, and bot protection patterns.',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 212,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 246,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 291,
      "text": "// Security & JA4+ Tests"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 296,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 301,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 307,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 312,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 317,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 322,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 327,
      "text": "category: 'security',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 350,
      "text": "full: 'Documents POST /api/webhooks/shiprush endpoint for receiving ShipRush tracking updates. Validates HMAC signatures for security.',"
    },
    {
      "kind": "security",
      "source_path": "lib/test-descriptions.ts",
      "line": 450,
      "text": "filterBySuite: 'Filter tests by category (USPS, Platphorm, ShipRush, Security, API, Future).',"
    },
    {
      "kind": "security",
      "source_path": "lib/usps-extra-services.ts",
      "line": 123,
      "text": "description: 'Maximum security and detailed tracking for valuables',"
    },
    {
      "kind": "security",
      "source_path": "middleware.ts",
      "line": 122,
      "text": "// Set Security Headers"
    },
    {
      "kind": "security",
      "source_path": "middleware.ts",
      "line": 126,
      "text": "response.headers.set('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');"
    },
    {
      "kind": "unsafe",
      "source_path": "middleware.ts",
      "line": 127,
      "text": "response.headers.set('Content-Security-Policy', \"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https:;\");"
    },
    {
      "kind": "security",
      "source_path": "README.md",
      "line": 17,
      "text": "- JA4+ HTTP fingerprinting for security analytics"
    },
    {
      "kind": "security",
      "source_path": "README.md",
      "line": 159,
      "text": "## Security"
    },
    {
      "kind": "security",
      "source_path": "ROADMAP.md",
      "line": 3,
      "text": "This roadmap outlines the current state of the USPS Shipping API v3 project and proposes actionable next steps across Features, Performance, Security, and User Experience (UX/Accessibility). The goal is to evolve the current Minimum Viable "
    },
    {
      "kind": "security",
      "source_path": "ROADMAP.md",
      "line": 10,
      "text": "- **Security:** \"Sentinel\" has hardened the API by removing hardcoded secrets, mitigating timing attacks in password validation, sanitizing error responses, enforcing JA4+ fingerprinting, and implementing basic rate limiting."
    },
    {
      "kind": "security",
      "source_path": "ROADMAP.md",
      "line": 44,
      "text": "## 4. Security Hardening"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "child-process-exec",
        "confidence": "medium",
        "evidence_paths": [
          "lib/platphorm-service.ts"
        ]
      },
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          "components/json-ld.tsx",
          "components/ui/chart.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "lib/db.ts"
        ]
      },
      {
        "name": "ssrf-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "components/shipping/trace-viewer.tsx",
          "lib/mcp-client.ts",
          "lib/platphorm-service.ts",
          "lib/polymarket-api.ts",
          "lib/shiprush-service.ts",
          "lib/usps-service.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/platphorm-service.test.ts",
          "__tests__/lib/shiprush-service.test.ts",
          "__tests__/lib/usps-service.test.ts",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/.well-known/trust.json/route.ts",
          "app/api/v1/packages/presets/route.ts",
          "app/api/v1/reports/quote/route.ts",
          "app/api/v1/shipments/route.ts",
          "app/api/v1/tests/route.ts",
          "app/faq/page.tsx",
          "app/llms-full.txt/route.ts",
          "app/llms.txt/route.ts",
          "app/page.tsx",
          "components/shipping/mcp-status.tsx",
          "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
          "lib/db.ts",
          "lib/mcp-client.ts",
          "lib/openapi.ts",
          "lib/phase1.ts",
          "lib/platphorm-service.ts"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/components/api-tester.test.tsx",
          ".Jules/bolt.md",
          ".Jules/sentinel.md",
          "app/api-policy/page.tsx",
          "app/faq/page.tsx",
          "app/globals.css",
          "app/jobs/page.tsx",
          "app/layout.tsx",
          "app/page.tsx",
          "app/privacy/page.tsx",
          "app/terms/page.tsx",
          "components/api-policy/available-endpoints-card.tsx",
          "components/api-policy/best-practices-card.tsx",
          "components/api-policy/rate-limits-card.tsx",
          "components/api-policy/response-headers-card.tsx",
          "components/api-policy/security-requirements-card.tsx",
          "components/shipping/api-debug-panel.tsx",
          "components/shipping/api-tester.tsx",
          "components/shipping/developer-panel.tsx",
          "components/shipping/health-status.tsx"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/shipments.test.ts",
          "__tests__/lib/shiprush-service.test.ts",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/api/v1/shipments/route.ts",
          "app/api/v1/tests/route.ts",
          "app/privacy/page.tsx",
          "app/terms/page.tsx",
          "components/footer.tsx",
          "components/json-ld.tsx",
          "docs/ROADMAP.md",
          "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
          "lib/db.ts",
          "lib/openapi.ts",
          "lib/shipping-types.ts",
          "lib/shiprush-service.ts",
          "lib/test-config.ts",
          "lib/types/shipping.ts",
          "lib/usps-extra-services.ts",
          "scripts/001-create-schema.sql"
        ]
      },
      {
        "name": "fingerprint",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/audit.test.ts",
          "__tests__/api/domestic-rates-comprehensive.test.ts",
          "__tests__/api/international-rates-comprehensive.test.ts",
          "__tests__/api/rates.test.ts",
          "__tests__/integration/api-ui-sync.test.ts",
          "__tests__/integration/e2e-rate-flow.test.ts",
          "__tests__/lib/db.test.ts",
          "__tests__/lib/fingerprint.test.ts",
          "__tests__/middleware/middleware.test.ts",
          "app/api-policy/page.tsx",
          "app/api/v1/audit/route.ts",
          "app/api/v1/fingerprint/route.ts",
          "app/api/v1/rates/calculate/route.ts",
          "app/api/v1/rates/international/route.ts",
          "app/api/v1/shipments/route.ts",
          "app/api/v1/tests/route.ts",
          "app/api/v1/tracking/[trackingNumber]/route.ts",
          "app/faq/page.tsx",
          "app/layout.tsx",
          "app/privacy/page.tsx"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/health.test.ts",
          "__tests__/components/api-tester.test.tsx",
          "__tests__/lib/db.test.ts",
          "__tests__/lib/mcp-client.test.ts",
          "__tests__/lib/platphorm-service.test.ts",
          "__tests__/middleware/middleware.test.ts",
          ".Jules/code-health-review.md",
          "app/api-policy/page.tsx",
          "app/api/health/route.ts",
          "app/api/mcp/route.ts",
          "app/api/v1/health/route.ts",
          "app/api/v1/status/route.ts",
          "app/api/v1/tests/route.ts",
          "app/api/v1/usps/status/route.ts",
          "app/robots.txt/route.ts",
          "components/api-policy/available-endpoints-card.tsx",
          "components/footer.tsx",
          "components/shipping/api-docs-tab.tsx",
          "components/shipping/api-tester.tsx",
          "components/shipping/developer-docs.tsx"
        ]
      },
      {
        "name": "ip address",
        "confidence": "medium",
        "evidence_paths": [
          "app/faq/page.tsx",
          "app/privacy/page.tsx",
          "lib/test-descriptions.ts"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/platphorm-service.test.ts",
          ".Jules/bolt.md",
          "app/error.tsx",
          "app/global-error.tsx",
          "components/shipping/api-tester.tsx",
          "components/shipping/international-rate-form.tsx",
          "components/shipping/rate-calculator-form.tsx",
          "components/shipping/test-runner.tsx",
          "lib/ai-tools.ts",
          "lib/client-logger.ts",
          "lib/platphorm-service.ts",
          "lib/shiprush-service.ts",
          "lib/test-descriptions.ts",
          "lib/types/shipping.ts",
          "lib/usps-service.ts",
          "ROADMAP.md"
        ]
      },
      {
        "name": "oauth",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/usps-service-rates.test.ts",
          "app/api/v1/tests/route.ts",
          "docs/ROADMAP.md",
          "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
          "lib/usps-service.ts",
          "README.md"
        ]
      },
      {
        "name": "password",
        "confidence": "medium",
        "evidence_paths": [
          ".Jules/sentinel.md",
          "lib/test-descriptions.ts",
          "README.md",
          "ROADMAP.md"
        ]
      },
      {
        "name": "payment",
        "confidence": "medium",
        "evidence_paths": [
          "lib/country-codes.ts",
          "lib/usps-extra-services.ts"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "lib/fingerprint.ts",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/health.test.ts",
          "__tests__/api/international-rates-comprehensive.test.ts",
          "__tests__/integration/api-ui-sync.test.ts",
          "__tests__/integration/e2e-rate-flow.test.ts",
          "__tests__/lib/usps-service-rates.test.ts",
          "app/api/health/route.ts",
          "app/api/v1/rates/international/route.ts",
          "app/api/v1/status/route.ts",
          "app/api/v1/usps/status/route.ts",
          "app/faq/page.tsx",
          "components/shipping/health-status.tsx",
          "docs/ROADMAP.md",
          "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
          "lib/openapi.ts",
          "lib/usps-service.ts",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:20.854Z"
}
