Security scan-and-fix for vibe-coded apps. We find the leaks in your AI-built app and patch them before someone else finds them. Free scan waitlist below.
@sinhgiangfd@X@elon Welcome in! Before launch, check that logged-out visitors can't read private user data and that no secret keys ship in the frontend. I built the Warditor security scanner to help check for those exposures. Free and look-only: https://t.co/r90F1cEVRs
@Flikore Verifying behavior works for security too, if you test the right behavior. Log out and hit the API. Sign in as a second user and request the first user's records. If either returns private data, the app works but isn't safe.
@ycombinator Agents provisioning their own infra is the big unlock. The step worth keeping human is checking what got exposed: database access rules, secret keys in the frontend, and whether a logged-out visitor can read private data.
@aslambeg84 Some concrete things to test: buttons hidden without server-side authorization, private tables exposed through the API, and secret keys in the frontend. Logged-out and second-user tests can catch mistakes a working demo won't reveal.
@mdjunaidap Good prompt. One thing a repo review can miss is what the live app actually serves. After deploying, open it logged out, watch DevTools Network for private rows, and search the JS bundle for sk_ or service_role. Code can look fine while the config leaks.
@ScreenerVault A working login doesn't prove access control. In your own app, use two test accounts and try accessing one account's private record as the other. If it succeeds, the login works but the authorization doesn't.
@BoboLinNotes Public anon keys are fine; secret ones and missing access controls aren't. One useful check: open your app logged out and see if private rows come back. Free look-only scan if useful: https://t.co/6fnajCuCOz
@DD_Nanall Keeping secrets out of the AI's context helps. Another boundary worth testing: the published JavaScript. If a real secret key reaches the browser, rotate it and move the call server-side.
@mrgadgetstudio Private data can leak through HTML, downloaded JSON or database backups, not just an API. Before sharing your app, check what a logged-out visitor actually receives. Hiding it in the UI isn't access control.
@anuragdotdev That stack ships fast. Before launch, check the private tables too: RLS enabled, policies scoped to the right users, and a second-account test. USING (true) can allow access you didn't intend.
Charging in your vibe-coded app? Don't unlock paid features just because someone landed on your /success page. Anyone can type that URL.
Grant access only after Stripe's webhook confirms the payment, and verify the webhook's signature.
Free scan: https://t.co/6fnajCuCOz
Supabase RLS "on" isn't enough.
A SELECT policy for the anon role with USING (true) allows logged-out visitors to read every row if that role has table access.
For private user data, restrict reads to the owner and test logged out.
Free scan: https://t.co/6fnajCuCOz
@leys_baby Before you ship Monday, open it logged out in a private window and check Network for API keys or private trade data. Live exchange feeds make that 2-minute check worth it. Free scan: https://t.co/r90F1cFtH0
@stretchcloud Once the real URL works, check the built JavaScript for secret keys too. If a real credential reached the browser, rotate it and move the call server-side. Removing it from the next build doesn't revoke the exposed key.
@Prayag12B One concrete starting point: test whether private data stays private when you're logged out or signed in as another user. I built the Warditor security scanner to help flag exposed data and leaked keys. Free, look-only: https://t.co/r90F1cEVRs
@edinsoncode That ownership gap shows up in security too. A private table exposed without access controls, or a service_role key shipped in the client, becomes your problem even if you didn't write that line.
@TheJonMartin After the one-prompt deploy, test who can read customer records: logged out, then as a second user. Public content is fine; another customer's private rows coming back is the problem.
@gattaca@1Password Also worth checking after the agent finishes: did /.env or /.git/config end up publicly accessible on the live host? If either exposes secrets, rotate those credentials and block access to the files.
@SahilExec Getting a live link that quickly is great. Still worth a manual pass after publishing: check that logged-out visitors can't read private data and that no secret keys reached the browser. Public API keys aren't automatically leaks.
@Spekulanto1@cursor_ai A useful check is the actual JavaScript served after publishing. If it contains a real secret key, rotate that credential and move the call server-side. A variable name like OPENAI_API_KEY alone isn't proof of a leak.