The 8 most common traces AI-generated code leaves in production (and how to find them in 10 seconds) A Berlin-based development shop has identified eight common security and quality issues consistently found in production code generated by AI coding assistants like Claude, Cursor, and v0. The most critical traces include hardcoded API keys in minified JavaScript bundles, exposed development server endpoints on live domains, and placeholder text like "I've created a modern, responsive landing page for you" left in production HTML. The team built a free scanner called Vibe Check that runs 55+ checks for these issues, including missing security headers, exposed environment files, and improperly configured session cookies. AI coding assistants ship working code fast. But "working" and "production-ready" are two very different things. I run a small dev shop in Berlin, and over the past year we've reviewed dozens of websites built with Claude, Cursor, v0, Lovable and bolt.new. The same issues come up again and again — so consistently that you can treat them as a signature. Here are the 8 most common traces, roughly ordered by how often we see them and how much they hurt . The classic. The AI suggests const client = new OpenAI { apiKey: "sk-..." } in a React component, it works in the demo, and it ships. We've found AWS, Stripe, OpenAI, Anthropic and GitHub keys in minified production bundles. Anyone who opens DevTools owns your account. Check: search your built JS for sk- , AKIA , pk live , ghp . Vite and Next.js dev servers are not web servers. They expose HMR endpoints, source maps and sometimes your whole file tree. We regularly find @vite/client references and webpack HMR handshakes on live domains — meaning someone ran npm run dev behind a reverse proxy and called it deployed. Check: view source, look for /@vite/client or webpack-hmr . My personal favorite. Text like "I've created a modern, responsive landing page for you…" sitting in a production