Supabase
A hosted Postgres database with login, file storage, an instant API and a dashboard, and the backend most AI app builders reach for first.
The verdict
Worth a try
A solid default backend, and the one your agent probably already knows best. But your data is only private if every table has row level security with rules that actually restrict access, and AI-written rules often don't. Thousands of apps have leaked data this way. Test it as a stranger and as a second user before launch, and give your agent read-only access.
Best forPeople building a web or mobile app with an agent who want a real database, user accounts and file uploads without running a server.
- Stars
- 114k
- Licence
- Apache-2.0
- Language
- TypeScript
- Last release
- 7 Aug 2026
- Created
- 12 Oct 2019
- Open issues
- 299
As of 23 Oct 2026. Numbers move fast on trending repos.
npm install @supabase/supabase-jsFirst create a free project at supabase.com/dashboard; there's nothing else to install for the hosted version. For local development, npx supabase init and npx supabase start run a copy on your machine (Docker required). To connect an agent, add the MCP server at https://mcp.supabase.com/mcp, scoped to one project and with read_only=true. Self-hosting uses Docker Compose and is covered in the docs.
What it is
Supabase gives you a backend without writing one. Each project comes with a Postgres database, user sign-up and login, file storage, a dashboard to look at your data, and an API that's generated from your tables automatically.
It's the default choice for many AI app builders and coding agents. UpGuard's researchers called it the database Claude Code recommends most. The code is open source (Apache-2.0), but most people use the hosted service at supabase.com, which is where the pricing below applies.
What actually happens when you use it
- You create a project. In the dashboard or through your agent, you get a database plus two kinds of keys: a public one that's safe to put in your website, and a secret one that must never leave your server.
- Your app talks to the database directly. The website or phone app uses the public key to read and write tables, with no server of your own in between. That's what makes Supabase fast to build with.
- Row level security decides who sees what. Because the public key sits in your site's code where anyone can find it, the database itself has to enforce the rules. Row level security (RLS) is a set of rules attached to each table, for example that a user can only read rows they own. With RLS on and no rules, nobody gets anything. With RLS off, or with a rule that allows everything, anyone holding the public key can read the whole table.
- The secret key skips all of that. It bypasses RLS completely, so it belongs only in server code.
- Your agent can drive it. Supabase runs an MCP server that lets Claude Code, Cursor and others create tables, run SQL, check logs and read the docs. There are also official agent skills that teach agents Supabase's own best practices.
One change lands next week. From 30 October, new tables aren't reachable through the API until you explicitly grant access, on existing projects too. Supabase says existing tables keep working. If your agent creates a table after that and the app gets a permission error, the fix is a grant plus RLS rules, not switching security off.
What people like
- It's quick and agents know it well. Users say the tooling and the local-to-live workflow are the main draw. One builder said Claude knows it like the back of its hand.
- It warns you about security. Several developers note the dashboard warns you constantly when RLS is off, and its security advisor flags these problems per project, if you act on it.
- The login data is locked away by default. The built-in user accounts live in a part of the database the API doesn't expose. Leaks usually come from extra tables people add themselves.
- You can leave or self-host. It's open source, and some non-expert builders report self-hosting it on a VPS was easy and cheap and straightforward.
What people run into
- Leaked data from AI-built apps, at scale. In September, UpGuard found 16,326 Supabase databases with tables anyone could read, over half showing signs of personal data. Its examples included a valet service with over 100,000 customers and a relocation service storing plain-text passwords. Supabase's security chief told TechCrunch its projects are "secure by default" and that customers control their configuration. Earlier, Wiz found the AI-agent network Moltbook had left its entire database readable and writable, including 1.5 million API tokens, because RLS wasn't set up.
- RLS switched on doesn't mean safe. One builder whose agent added three tables found the dashboard showed RLS on for all of them, yet one returned every row to a logged-out visitor because of an allow-everything rule. Others say AI tools often write rules like this, or ones that let any logged-in user see every row. UpGuard also notes that tables an agent creates through code don't get RLS switched on automatically, unlike ones made in the dashboard's table editor.
- The pricing confuses people. The $25 Pro plan is per organization, and each project then pays for its own server. Users say this isn't made clear, and one called it one of the most confusing pricing pages they'd seen. A Supabase staffer laid out the maths in the thread.
- Surprise usage. One developer's two-person app burned through 25GB of data transfer in days. The cause was a misconfigured storage bucket that outsiders were pulling files from.
- Free projects go to sleep. Free projects pause after a week without database activity. One developer's staging project paused in the middle of a client demo.
- Self-hosting is heavier than it looks. The Docker setup runs around 8 containers using about 4GB of memory at idle, one user reported, so it kept crashing on a 1GB server. Self-hosted Supabase also lacks branching, managed backups and multiple projects.
- Free-plan support is thin. Free users get no guaranteed response. Supabase's CEO said in late 2025 that tickets had grown about 10x while the team grew about 2x.
- The hosted service can be blocked. In February, Indian ISPs blocked Supabase's API addresses for about a week, breaking apps for users there until access was restored in March.
Before you install
- Test your rules from the outside. Before launch, call each table with only the public key and nobody logged in, then as a second test user trying to read the first user's data. An empty result is a pass. Ask your agent to turn this into a test that runs on every change, so a loosened rule blocks the deploy instead of reaching users.
- Read the rules, not the switch. Ask your agent to list every policy and flag any that allow everything or any logged-in user. Run the dashboard's Security Advisor too.
- Keep the secret key on the server. Never in the browser, never in a public repo. Treat public storage buckets as public: anyone with the link can download.
- Lock down the MCP server. Use one project,
read_only=true, and keep approving tool calls by hand. Supabase's own advice: "Connect to a production project only when the task requires production evidence." Researchers showed in 2025 that text hidden in your own data, like a support ticket, can steer an agent with database access into leaking it. - Know what you'll pay. On the pricing page today, Free gives you 2 active projects, each with a 500MB database, 50,000 monthly active users, 5GB of data transfer and 1GB of storage, and pauses after a week of inactivity (you can restore for up to a year). Pro starts at $25 a month per organization with $10 of server credit, and each extra project adds at least $10. Pro's spend cap is on by default, but it doesn't cover server size, custom domains or point-in-time backups.
- Plan for next week's change. If you create tables after 30 October, include the grant, RLS and policies together.
- If you self-host, keep the dashboard private. Put Studio behind a VPN or strong password. Three unconfirmed public reports filed on 18 October claim parts of self-hosted Studio answer without a login; Supabase hasn't responded yet.
The short version
Supabase is a good backend and probably the one your agent will pick anyway. The risk isn't the product, it's that the most important setting lives in rules most vibe coders never read, and AI tools get them wrong often enough that thousands of apps have leaked data. Use it, but test access as a stranger and as a second user before you put real people's data in it.
Sources
GitHub
Hacker News
- r/Supabase: not trusting 'RLS enabled' after an agent wrote migrations
- r/Supabase: is RLS enough to secure a vibe-coded SaaS?
- r/Supabase: misleading pricing and tactics
- r/Supabase: pricing per project $25?
- r/Supabase: flagged for egress usage
- r/Supabase: the $25 tier killed my side projects
- r/Supabase: should I self-host Supabase instead?
- r/Supabase: self-hosting the whole stack feels magical
- r/Supabase: staging project paused mid-demo
Docs
The week’s repos, every Friday.
From the same drop
obra/superpowers
Superpowers
A set of skills that makes your coding agent brainstorm, plan, write tests and review its own work before it calls anything done.
★ 304kBreakdown →
deepseek-ai/deepseek-harness
DeepSeek Harness
DeepSeek's own open-source coding agent, run from a web page or desktop app, built so that almost every feature is a plugin you can swap.
★ 259kBreakdown →
anomalyco/opencode
OpenCode
The most popular open-source coding agent. It works like Claude Code, in the terminal, a desktop app or the browser, but with almost any AI model you like.
★ 220kBreakdown →