{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__stannp-gpt-5-test",
    "name": "mbarbine__stannp-gpt-5-test",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__stannp-gpt-5-test",
    "relative_path": "github-recent/mbarbine__stannp-gpt-5-test",
    "remote_url": "git@github.com:mbarbine/stannp-gpt-5-test.git",
    "default_branch": "main",
    "current_commit": "094553cd9559943789ac8bead63f45f5fe586e26"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 61,
      "bytes": 412463
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 147294
    },
    {
      "language": "Markdown",
      "files": 18,
      "bytes": 73510
    },
    {
      "language": "JavaScript",
      "files": 16,
      "bytes": 43470
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 8518
    },
    {
      "language": "SQL",
      "files": 5,
      "bytes": 7592
    },
    {
      "language": "JSON",
      "files": 3,
      "bytes": 3547
    }
  ],
  "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"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "mailthing",
        "version": "0.1.0",
        "scripts": {
          "build": "next build",
          "dev": "next dev",
          "lint": "next lint",
          "start": "next start"
        },
        "dependencies": {
          "@auth0/nextjs-auth0": "^3.8.0",
          "@hookform/resolvers": "^3.10.0",
          "@neondatabase/serverless": "latest",
          "@radix-ui/react-accordion": "1.2.2",
          "@radix-ui/react-alert-dialog": "1.1.4",
          "@radix-ui/react-aspect-ratio": "1.1.1",
          "@radix-ui/react-avatar": "1.1.2",
          "@radix-ui/react-checkbox": "1.1.3",
          "@radix-ui/react-collapsible": "1.1.2",
          "@radix-ui/react-context-menu": "2.2.4",
          "@radix-ui/react-dialog": "1.1.4",
          "@radix-ui/react-dropdown-menu": "2.1.4",
          "@radix-ui/react-hover-card": "1.1.4",
          "@radix-ui/react-label": "2.1.1",
          "@radix-ui/react-menubar": "1.1.4",
          "@radix-ui/react-navigation-menu": "1.2.3",
          "@radix-ui/react-popover": "1.1.4",
          "@radix-ui/react-progress": "1.1.1",
          "@radix-ui/react-radio-group": "1.2.2",
          "@radix-ui/react-scroll-area": "1.2.2",
          "@radix-ui/react-select": "2.1.4",
          "@radix-ui/react-separator": "1.1.1",
          "@radix-ui/react-slider": "1.2.2",
          "@radix-ui/react-slot": "1.1.1",
          "@radix-ui/react-switch": "1.1.2",
          "@radix-ui/react-tabs": "1.1.2",
          "@radix-ui/react-toast": "1.2.4",
          "@radix-ui/react-toggle": "1.1.1",
          "@radix-ui/react-toggle-group": "1.1.1",
          "@radix-ui/react-tooltip": "1.1.6",
          "@vercel/analytics": "^1.5.0",
          "autoprefixer": "^10.4.21",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.0.4",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.5.1",
          "geist": "^1.4.2",
          "input-otp": "1.4.1",
          "lucide-react": "^0.454.0",
          "next": "15.2.8",
          "next-themes": "^0.4.6",
          "react": "^19.1.1",
          "react-day-picker": "9.8.0",
          "react-dom": "^19.1.1",
          "react-hook-form": "^7.62.0",
          "react-resizable-panels": "^2.1.9",
          "recharts": "2.15.4",
          "sonner": "^1.7.4",
          "stripe": "^18.4.0",
          "tailwind-merge": "^2.6.0",
          "tailwindcss-animate": "^1.0.7",
          "vaul": "^0.9.9",
          "zod": "3.25.67"
        },
        "dev_dependencies": {
          "@tailwindcss/postcss": "^4.1.11",
          "@types/node": "^22.17.1",
          "@types/react": "^19.1.10",
          "@types/react-dom": "^19.1.7",
          "postcss": "^8.5.6",
          "tailwindcss": "^4.1.11",
          "tw-animate-css": "1.3.3",
          "typescript": "^5.9.2"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/auth/[...auth0]",
        "source_path": "app/api/auth/[...auth0]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/credits",
        "source_path": "app/api/credits/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/credits/transactions",
        "source_path": "app/api/credits/transactions/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mail/cancel",
        "source_path": "app/api/mail/cancel/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/mail/items",
        "source_path": "app/api/mail/items/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mail/recipients/delete",
        "source_path": "app/api/mail/recipients/delete/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/mail/recipients",
        "source_path": "app/api/mail/recipients/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/responses/[id]/cancel",
        "source_path": "app/api/responses/[id]/cancel/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/responses/[id]",
        "source_path": "app/api/responses/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET"
        ]
      },
      {
        "route": "/responses",
        "source_path": "app/api/responses/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/responses/stats",
        "source_path": "app/api/responses/stats/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/stannp",
        "source_path": "app/api/stannp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/stripe/create-checkout",
        "source_path": "app/api/stripe/create-checkout/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/stripe/webhook",
        "source_path": "app/api/stripe/webhook/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/users",
        "source_path": "app/api/users/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/mock-auth/login",
        "source_path": "app/mock-auth/login/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/profile",
        "source_path": "app/profile/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "auth-button",
      "kind": "ui-component",
      "source_path": "components/auth-button.tsx"
    },
    {
      "name": "custom-user-provider",
      "kind": "ui-component",
      "source_path": "components/custom-user-provider.tsx"
    },
    {
      "name": "enhanced-form-field-renderer",
      "kind": "ui-component",
      "source_path": "components/enhanced-form-field-renderer.tsx"
    },
    {
      "name": "error-boundary",
      "kind": "ui-component",
      "source_path": "components/error-boundary.tsx"
    },
    {
      "name": "form-field-renderer",
      "kind": "ui-component",
      "source_path": "components/form-field-renderer.tsx"
    },
    {
      "name": "json-viewer",
      "kind": "ui-component",
      "source_path": "components/json-viewer.tsx"
    },
    {
      "name": "key-input",
      "kind": "ui-component",
      "source_path": "components/key-input.tsx"
    },
    {
      "name": "mail-management",
      "kind": "ui-component",
      "source_path": "components/mail-management.tsx"
    },
    {
      "name": "postcard-form",
      "kind": "ui-component",
      "source_path": "components/postcard-form.tsx"
    },
    {
      "name": "postcard-help",
      "kind": "ui-component",
      "source_path": "components/postcard-help.tsx"
    },
    {
      "name": "postcard-validation-summary",
      "kind": "ui-component",
      "source_path": "components/postcard-validation-summary.tsx"
    },
    {
      "name": "query-params-editor",
      "kind": "ui-component",
      "source_path": "components/query-params-editor.tsx"
    },
    {
      "name": "recipient-dropdown",
      "kind": "ui-component",
      "source_path": "components/recipient-dropdown.tsx"
    },
    {
      "name": "request-builder",
      "kind": "ui-component",
      "source_path": "components/request-builder.tsx"
    },
    {
      "name": "response-storage",
      "kind": "ui-component",
      "source_path": "components/response-storage.tsx"
    },
    {
      "name": "stored-responses",
      "kind": "ui-component",
      "source_path": "components/stored-responses.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "alert",
      "kind": "ui-component",
      "source_path": "components/ui/alert.tsx"
    },
    {
      "name": "avatar",
      "kind": "ui-component",
      "source_path": "components/ui/avatar.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "select",
      "kind": "ui-component",
      "source_path": "components/ui/select.tsx"
    },
    {
      "name": "switch",
      "kind": "ui-component",
      "source_path": "components/ui/switch.tsx"
    },
    {
      "name": "tabs",
      "kind": "ui-component",
      "source_path": "components/ui/tabs.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip.tsx"
    },
    {
      "name": "user-credits",
      "kind": "ui-component",
      "source_path": "components/user-credits.tsx"
    },
    {
      "name": "user-selector",
      "kind": "ui-component",
      "source_path": "components/user-selector.tsx"
    },
    {
      "name": "validation-summary",
      "kind": "ui-component",
      "source_path": "components/validation-summary.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [
      {
        "path": "scripts/reset-database-schema.sql"
      }
    ],
    "migrations": []
  },
  "tests": [
    {
      "name": "test-auth0-autosave.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-auth0-autosave.js"
    },
    {
      "name": "test-auth0-stripe-integration.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-auth0-stripe-integration.js"
    },
    {
      "name": "test-cancel-debug.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-cancel-debug.js"
    },
    {
      "name": "test-cancel-fix.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-cancel-fix.js"
    },
    {
      "name": "test-postcard-implementation.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-postcard-implementation.js"
    },
    {
      "name": "test-postcards.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-postcards.js"
    },
    {
      "name": "test-preset-fields.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-preset-fields.js"
    },
    {
      "name": "test-presets.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-presets.js"
    },
    {
      "name": "test-specific-id.js",
      "kind": "unit-or-integration",
      "source_path": "scripts/test-specific-id.js"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "lib/database.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "NEON_DATABASE_URL",
        "source_paths": [
          "lib/database.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "NEON_POSTGRES_URL",
        "source_paths": [
          "lib/database.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEON_POSTGRES_URL_NO_SSL",
        "source_paths": [
          "lib/database.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_PUBLIC_BASE_URL",
        "source_paths": [
          "app/api/mail/recipients/delete/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "app/api/auth/[...auth0]/route-mock.ts",
          "components/error-boundary.tsx",
          "components/stored-responses.tsx"
        ],
        "likely_secret": false
      },
      {
        "name": "POSTGRES_URL",
        "source_paths": [
          "lib/database.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "STANNP_API_KEY",
        "source_paths": [
          "app/api/stannp/route.ts",
          "lib/stannp-api.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "STRIPE_SECRET_KEY",
        "source_paths": [
          "app/api/stripe/create-checkout/route.ts",
          "app/api/stripe/webhook/route.ts",
          "docs/STRIPE_SETUP.md"
        ],
        "likely_secret": true
      },
      {
        "name": "STRIPE_WEBHOOK_SECRET",
        "source_paths": [
          "docs/STRIPE_SETUP.md"
        ],
        "likely_secret": true
      },
      {
        "name": "STRIPE_WEBHOOK_SECRET_SNAPSHOT",
        "source_paths": [
          "app/api/stripe/webhook/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "STRIPE_WEBHOOK_SECRET_THIN",
        "source_paths": [
          "app/api/stripe/webhook/route.ts"
        ],
        "likely_secret": true
      }
    ]
  },
  "configs": [
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "docs/README.md"
      }
    ],
    "doc_paths": [
      {
        "path": "docs/AUTH0_AUTO_SAVE_IMPLEMENTATION.md"
      },
      {
        "path": "docs/AUTH0_CALLBACK_HANGING_FIX.md"
      },
      {
        "path": "docs/AUTH0_DATABASE_FIXES.md"
      },
      {
        "path": "docs/AUTH0_LOGIN_FIX.md"
      },
      {
        "path": "docs/AUTH0_SETUP.md"
      },
      {
        "path": "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md"
      },
      {
        "path": "docs/AUTH0_USER_MANAGEMENT_COMPLETE.md"
      },
      {
        "path": "docs/CHANGELOG.md"
      },
      {
        "path": "docs/CREDIT_REFUND_SYSTEM.md"
      },
      {
        "path": "docs/FINAL_QA_CHECKLIST.md"
      },
      {
        "path": "docs/FOREIGN_KEY_FIX_IMPLEMENTED.md"
      },
      {
        "path": "docs/INTEGRATION_COMPLETE.md"
      },
      {
        "path": "docs/POSTCARD_ENHANCEMENTS.md"
      },
      {
        "path": "docs/README.md"
      },
      {
        "path": "docs/STANNP_API_SETUP.md"
      },
      {
        "path": "docs/STRIPE_AUTH_IMPLEMENTATION.md"
      },
      {
        "path": "docs/STRIPE_SETUP.md"
      },
      {
        "path": "docs/UUID_CONVERSION_FIX.md"
      }
    ],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "Neon",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/responses/[id]/route.ts",
        "app/api/responses/route.ts",
        "app/api/responses/stats/route.ts",
        "app/api/users/route.ts",
        "components/request-builder.tsx",
        "components/stored-responses.tsx",
        "components/user-selector.tsx",
        "lib/database.ts",
        "package.json"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/responses/[id]/route.ts",
        "app/api/responses/route.ts",
        "app/api/responses/stats/route.ts",
        "app/api/users/route.ts",
        "components/request-builder.tsx",
        "components/stored-responses.tsx",
        "components/user-selector.tsx",
        "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
        "lib/database.ts",
        "package.json"
      ]
    },
    {
      "name": "Stannp",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/mail/cancel/route.ts",
        "app/api/stannp/route.ts",
        "app/page.tsx",
        "components/mail-management.tsx",
        "components/request-builder.tsx",
        "docs/FINAL_QA_CHECKLIST.md",
        "docs/STANNP_API_SETUP.md",
        "lib/stannp-api.ts",
        "package.json"
      ]
    },
    {
      "name": "Stripe",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/stripe/create-checkout/route.ts",
        "app/api/stripe/webhook/route.ts",
        "components/user-credits.tsx",
        "docs/AUTH0_DATABASE_FIXES.md",
        "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
        "docs/FOREIGN_KEY_FIX_IMPLEMENTED.md",
        "docs/INTEGRATION_COMPLETE.md",
        "docs/STRIPE_AUTH_IMPLEMENTATION.md",
        "docs/STRIPE_SETUP.md",
        "package.json"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "app/layout.tsx",
        "app/page.tsx",
        "components/error-boundary.tsx",
        "components/mail-management.tsx",
        "package.json",
        "pnpm-lock.yaml"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": []
  },
  "comments": [
    {
      "kind": "security",
      "source_path": "app/page.tsx",
      "line": 157,
      "text": "<CardTitle>API Security</CardTitle>"
    },
    {
      "kind": "security",
      "source_path": "app/page.tsx",
      "line": 180,
      "text": "<li>Server-side authentication for security</li>"
    },
    {
      "kind": "security",
      "source_path": "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
      "line": 114,
      "text": "## Security Considerations"
    },
    {
      "kind": "security",
      "source_path": "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
      "line": 118,
      "text": "- Stripe webhook signatures are verified for security"
    },
    {
      "kind": "security",
      "source_path": "docs/AUTH0_USER_MANAGEMENT_COMPLETE.md",
      "line": 130,
      "text": "## Security Considerations"
    },
    {
      "kind": "security",
      "source_path": "docs/STRIPE_AUTH_IMPLEMENTATION.md",
      "line": 154,
      "text": "## Security Features"
    },
    {
      "kind": "security",
      "source_path": "docs/STRIPE_SETUP.md",
      "line": 87,
      "text": "## Webhook Security Features"
    },
    {
      "kind": "security",
      "source_path": "lib/presets.ts",
      "line": 1624,
      "text": "options: [\"standard\", \"window\", \"premium\", \"security\"],"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "child-process-exec",
        "confidence": "medium",
        "evidence_paths": [
          "scripts/audit-all-presets.js",
          "scripts/test-preset-fields.js",
          "scripts/verify-postcard-fields.js",
          "scripts/verify-ui-display.js"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "components/mail-management.tsx",
          "components/postcard-validation-summary.tsx",
          "components/query-params-editor.tsx",
          "components/stored-responses.tsx",
          "lib/database.ts",
          "lib/presets.ts",
          "scripts/test-postcards.js"
        ]
      },
      {
        "name": "ssrf-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/stannp/route.ts",
          "lib/stannp-api.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/mail/cancel/route.ts",
          "app/api/stannp/route.ts",
          "app/page.tsx",
          "components/mail-management.tsx",
          "components/request-builder.tsx",
          "docs/FINAL_QA_CHECKLIST.md",
          "docs/STANNP_API_SETUP.md",
          "lib/presets.ts",
          "lib/stannp-api.ts",
          "scripts/test-cancel-debug.js"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/mail/cancel/route.ts",
          "app/api/mail/items/route.ts",
          "app/api/responses/[id]/cancel/route.ts",
          "app/api/stannp/route.ts",
          "app/api/stripe/create-checkout/route.ts",
          "app/globals.css",
          "app/mock-auth/login/page.tsx",
          "app/page.tsx",
          "app/profile/page.tsx",
          "components/error-boundary.tsx",
          "components/mail-management.tsx",
          "components/postcard-form.tsx",
          "components/postcard-help.tsx",
          "components/postcard-validation-summary.tsx",
          "components/request-builder.tsx",
          "components/response-storage.tsx",
          "components/stored-responses.tsx",
          "components/ui/alert.tsx",
          "components/ui/card.tsx",
          "components/user-credits.tsx"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/auth/[...auth0]/route-mock.ts",
          "app/api/auth/[...auth0]/route.ts",
          "app/api/credits/route.ts",
          "app/api/responses/route.ts",
          "app/api/stannp/route.ts",
          "app/api/stripe/create-checkout/route.ts",
          "app/api/stripe/webhook/route.ts",
          "app/mock-auth/login/page.tsx",
          "app/page.tsx",
          "app/profile/page.tsx",
          "components/auth-button.tsx",
          "components/custom-user-provider.tsx",
          "components/mail-management.tsx",
          "components/user-credits.tsx",
          "components/user-selector.tsx",
          "docs/AUTH0_CALLBACK_HANGING_FIX.md",
          "docs/AUTH0_LOGIN_FIX.md",
          "docs/AUTH0_SETUP.md",
          "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
          "docs/AUTH0_USER_MANAGEMENT_COMPLETE.md"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "components/error-boundary.tsx",
          "components/mail-management.tsx",
          "components/recipient-dropdown.tsx",
          "components/user-credits.tsx",
          "docs/STRIPE_AUTH_IMPLEMENTATION.md",
          "lib/presets.ts"
        ]
      },
      {
        "name": "oauth",
        "confidence": "medium",
        "evidence_paths": [
          "docs/AUTH0_CALLBACK_HANGING_FIX.md",
          "docs/UUID_CONVERSION_FIX.md",
          "pnpm-lock.yaml",
          "scripts/test-auth0-stripe-integration.js"
        ]
      },
      {
        "name": "password",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/users/route.ts",
          "components/key-input.tsx"
        ]
      },
      {
        "name": "payment",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/stripe/create-checkout/route.ts",
          "app/api/stripe/webhook/route.ts",
          "components/user-credits.tsx",
          "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
          "docs/FINAL_QA_CHECKLIST.md",
          "docs/INTEGRATION_COMPLETE.md",
          "docs/STRIPE_AUTH_IMPLEMENTATION.md",
          "docs/STRIPE_SETUP.md",
          "scripts/test-auth0-stripe-integration.js"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "pnpm-lock.yaml"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:26.399Z"
}
