Technology

UpGuard Finds 16,000 Supabase Databases Leaking Personal Data to the Open Web

Some Supabase customers are leaving substantial amounts of people's data openly accessible on the web. The findings underscore how apps made through AI generation or vibe coding can leak user information if they lack proper configuration or security.

Sylvester Eyamah

By Sylvester Eyamah

Sep 26, 2026, 6:39 AM  ·  4 min read

UpGuard Finds 16,000 Supabase Databases Leaking Personal Data to the Open Web
UpGuard Finds 16,000 Supabase Databases Leaking Personal Data to the Open Web — Technology
Cybersecurity firm UpGuard has identified approximately 16,000 Supabase-hosted databases that are exposing personal data to the public internet, a scale of leakage that tracks the rapid rise of AI-generated applications built on the platform. The exposed records include names, addresses, phone numbers and, in some cases, passwords and authentication tokens. Supabase reached a $10 billion valuation earlier in 2026 as developers flocked to it to host their projects. Not a Single Breach, But Thousands of Misconfigurations The exposures are not the result of one catastrophic security failure, but of thousands of individual misconfigurations by Supabase customers. In some instances, single databases were leaking millions of records each. The catalogue of what's exposed reads like a cross-section of modern app-building. UpGuard cited private conversations with sex workers on an Indian adult streaming site, thousands of license plates from a US valet service, and the contact information of people who used an immigration and relocation service. One database belonged to an African government's consulate in France. Another was used by a virtual SIM farm to intercept one-time passcodes, a technique typically deployed for phishing and account-takeover scams. The problem is global, though the majority of affected datasets appear to sit on infrastructure in the United States. The Vibe Coding Connection The through-line is vibe coding. AI tools now let developers with limited security backgrounds scaffold an entire app and stand up a live backend in an afternoon. The generated code often ships with default configurations that leave data tables readable to anyone on the internet, and the developer may never realise the setting exists. A separate investigation by security firm Red Access examined thousands of web apps created with platforms like Lovable, Replit, Base44, and Netlify. It found that 5,000 of them had virtually no security or authentication of any kind, and a full 40 percent exposed users' sensitive data, from medical and financial information to corporate documents and logs of ostensibly private chatbot conversations. "The end result is that organizations are actually leaking private data through vibe-coding applications," RedAccess cofounder Dor Zvi told Wired. "This is one of the biggest events ever where people are exposing corporate or other sensitive information to anyone in the world". Supabase's Response Supabase Chief Information Security Officer Bil Harmer said the company had not seen the UpGuard research but that its projects are "secure by default." He framed security as a shared responsibility between Supabase and the developers who build on it. "We provide secure defaults and tooling, and customers control how their own projects are configured," Harmer said. Harmer added that Supabase notifies affected customers when security issues are discovered and pointed to ongoing platform work to tighten database access. The shared-responsibility defence is standard for cloud and backend providers, and it is technically accurate. But it collides with the reality of the user base Supabase is now serving. A developer prompting an LLM to "add a login system" is unlikely to audit row-level security policies before pushing to production. How the Leaks Happen Supabase is built on PostgreSQL and exposes database tables directly over a REST API via PostgREST. The mechanism that keeps users from reading each other's data is called Row Level Security (RLS). When RLS is enabled with a proper policy, a query for another user's data returns zero rows. When RLS is disabled or misconfigured, the table behaves as if every row is public to any authenticated request. A common misconfiguration is a permissive policy using `USING (true)`, which Supabase's own documentation warns "defeats the purpose of having Row-Level Security enabled". Another is simply forgetting to enable RLS on a table entirely. Supabase's anon key is embedded in frontend JavaScript bundles by design. It's safe to expose publicly when RLS is configured correctly, because the key alone gives no elevated access. Without RLS, it becomes a master key to all user data. The Broader Pattern This is not a new problem, but the pipeline feeding it is. Misconfigured storage buckets and databases have driven data breaches for years. What's changed is the pace. AI assistants now generate apps at a speed that outstrips the security review those apps would traditionally receive. "For attackers, many of these cases don't even require a sophisticated hack," said Dmitry Belyaev, CISO at Security Band, in an analysis of the trend. "It's OSINT through Google". Belyaev described vibe coding as a new class of Shadow IT — faster, more scalable, and far less controlled than anything organizations have dealt with before. "While the speed of code generation grows faster than the culture of secure development, unfortunately, such leaks will be the norm, not the exception," he said.
Newsletter

Get the biggest stories in your inbox

A concise morning briefing, curated by Chronicle editors.