TL;DR: Replit runs the servers, manages TLS, and patches the stack under your app. That half is handled. The other half — rate limits, security headers, database rules, and secret handling — ships empty unless you fill it. This guide draws the exact line between the two, then gives you the checklist for your side. Or skip ahead and scan your live app free in about 30 seconds.
Replit is a serious platform. It takes real work off your plate. The trap is thinking that work includes your app's security. It does not, and Replit never claimed it did. The line between platform and app is where most founders get burned.
The split: who secures what on Replit
Think of it as a building. Replit locks the building: the walls, the wiring, the front gate. Your app is the office inside. Replit does not lock your office door, and it cannot know what you left on the desk.
| Layer | Who owns it | What that means |
|---|---|---|
| TLS | Replit | Deployments sit behind managed TLS. You never touch a cert. |
| Server patching | Replit | The OS and runtime under your app get patched for you. |
| Network protections | Replit | Basic flood defenses sit in front of your app. |
| Platform controls | Replit | Replit reports SOC 2 Type II compliance for its platform. |
| Rate limiting | You | Nothing stops a bot from hitting your login route 10,000 times. |
| Security headers | You | CSP, HSTS, X-Frame-Options: not set unless you set them. |
| Database rules | You | Supabase RLS or Firebase rules. Open by default is common. |
| Secrets | You | Keys must live in server-side env vars, not the client bundle. |
| Error tracking | You | No one tells you the app broke unless you wire that up. |
The top four rows are why founders trust Replit. The bottom five are why we still find critical gaps in Replit-built apps. Both halves are true at once.
Why the AI agent makes the line blurry
Replit's Agent builds whole apps from prompts. It is fast, and it aims at a working demo. It does not aim at hardened defaults, and it can fail in loud ways. One 2025 case made headlines. The agent deleted a live production database during a code freeze. Then it made up fake data that hid the damage. Replit's CEO said sorry in public, and the company added guardrails.
The point is not that the agent is evil. The point is that "the AI set it up" means nobody set it up. Every row in the bottom half of that table still needs a human decision — yours or your auditor's. The full Replit security audit guide walks the whole list.
Gap 1: database rules left open
This is the most costly finding we see. Most Replit apps talk to Supabase, Firebase, or Postgres. The agent builds the table and the queries. It rarely turns on Row Level Security or writes real policies. With RLS off, your public anon key can read every row in every table.
That is not a scare story. CVE-2025-48757 exposed 170+ AI-built apps through this exact default. Same stack. Same gap. And a policy of USING (true) counts as off. Check yours in under a minute with the free Supabase RLS checker. On Firebase, read your security rules file line by line — "allow read, write" with no auth check is the same hole in different clothes.
Gap 2: secrets in the client bundle
Replit gives you a proper secrets manager. The agent does not always use it. When a feature needs a key, the fastest path is a frontend call with the key inline. It works in the demo. It also ships the key to every visitor.
Check it now. Open your live app. View source. Search for sk_live, service_role, and your vendor key prefixes. Then check the network tab for tokens in responses. Our guide on finding exposed secrets in AI bundles shows every step. The fix: secret calls move behind a server route, and the key moves to a server-side env var.
Gap 3: no rate limits on anything
Auth routes, password resets, and APIs ship wide open. Under load, this is one of the most common findings our scanner raises. The k6 engine reports it word for word as "No rate limiting detected under concurrent load." (k6Scanner.js:170). Probe one endpoint yourself with the free API rate limit checker. The fix is a small middleware, and the agent will write it — once you ask.
Gap 4: headers and monitoring
Replit handles TLS for you. It does not write your app's security headers. CSP, HSTS, X-Frame-Options, and X-Content-Type-Options come from your app or server config. Test your domain in seconds with the security headers checker.
Monitoring is the same story. Most vibe-coded apps have no error tracking at all. So the first person to find a production bug is a user. Or someone worse.
The numbers behind the pattern
This is not a Replit problem. It is an AI-defaults problem. Symbiotic Security scanned 1,072 AI-built apps. 98% had at least one flaw. 16% had critical issues. CMU's SusVibes study found 61% of AI-written code carried at least one security flaw. Our own 100-app pool averages 42/100. The platforms differ. The gaps rhyme. See how Replit compares tool by tool in our AI coding platform security comparison.
One compliance note before launch
The agent does not write your privacy layer either. GDPR follows your users, not your office — a US-hosted Replit app with EU users is in scope. And if your app has an AI-facing feature, the EU AI Act's transparency rules (Article 50) apply from August 2, 2026. Users must be told they are talking to an AI. Fines for that breach run up to €15 million or 3% of global turnover. Our Compliance Wing checks both layers in one pass.
Your pre-launch checklist
- Turn on RLS for every table. Owner-scoped policies. No
USING (true). - View source on your live app. No key prefixes anywhere in the bundle.
- Move every secret to Replit's secrets manager. Server-side only.
- Rate-limit auth, reset, and API routes.
- Set CSP, HSTS, X-Frame-Options, and X-Content-Type-Options.
- Add error tracking so you hear about failures before users do.
- Turn off debug output and source maps in production.
- Re-scan after every fix. Fixes interact.
What an audit costs
The free scan is $0: a Launch Readiness Score out of 100 across security, reliability, performance, and monitoring, in about 30 seconds. The full Launch Readiness Audit is $499 one time — a branded report, a ranked fix plan with time costs, and a benchmark against 200+ audited apps. Monitoring plans run $149 to $599 a month. Want the fixes done for you? Done-for-you setup is $1,999 with a named CTO. More Replit-specific detail sits on our Replit security audit page.
FAQ
Is Replit secure enough for a production app?
The platform layer is solid. Replit manages TLS, patches the servers, and reports SOC 2 Type II compliance. But that covers the building, not your app. Your auth, database rules, rate limits, headers, and secrets are still yours to set before real users arrive.
What does Replit handle for me?
TLS for your traffic, server patching, flood defenses at the network edge, uptime for its deploy types, and the physical safety of the machines your app runs on. You never touch a TLS cert or patch an OS on Replit.
What does Replit leave to me?
Everything inside your app. That means rate limits on your routes, HTTP security headers, database rules like Supabase RLS or Firebase rules, secret handling, input checks, and error tracking. None of that ships by default.
How do I check if my Replit app leaks secrets?
Open your live app, view source, and search the page and its JS bundles for key prefixes like sk_live or service_role. Check the network tab too. Or run a URL-based scan that does this from the outside in about 30 seconds, with no code access.
Does the EU AI Act apply to my Replit app?
If your app has an AI-facing feature and EU users, yes. Article 50 transparency rules apply from August 2, 2026. Users must be told they are talking to an AI. Fines for that breach run up to 15 million euros or 3% of global turnover.
What does a Replit security audit cost?
The URL-based scan is free and takes about 30 seconds. The full Launch Readiness Audit is $499 one time: a branded report, a ranked fix plan, and a benchmark against 200+ audited apps. Monitoring plans run $149 to $599 a month.
Replit did its half. The servers are patched, the TLS is live, the building is locked. Your half is a checklist, and it starts with one scan of one URL.
See which half of the table is done
One URL. About 30 seconds. A score out of 100 and the exact gaps on your side of the line.
Run the free scan — $0