Base44 security

Database Tables Publicly Accessible Without Authentication

Your Base44 app's database tables are readable by anyone, even unauthenticated visitors. Personal information, email addresses, passwords, payment details, and private business data are all accessible by directly querying the database through the app's API layer.

This happens because Base44's default table configuration may not enforce access restrictions, or the access rules were misconfigured during setup. Anyone who discovers the API endpoint or inspects network requests can pull all records from any table.

You might discover this when a user reports seeing other users' data, when you find your data indexed by search engines, or during a security review that reveals all tables are open.

Error Messages You Might See

All user records visible without login API returns full table data without authentication Sensitive fields exposed in API response Database records indexed by Google
All user records visible without loginAPI returns full table data without authenticationSensitive fields exposed in API responseDatabase records indexed by Google

Common Causes

  • Default table permissions left open — Base44 tables are created without row-level or table-level access restrictions enabled
  • No authentication required for read operations — The data API allows GET requests without any auth token or session
  • API endpoints exposed in frontend code — Network requests visible in browser DevTools reveal direct database query endpoints
  • Access rules only on UI, not data layer — Page-level restrictions hide the UI but the underlying data endpoints remain accessible
  • Admin tables not separated — Sensitive admin data lives in the same unrestricted tables as public content

How to Fix It

  1. Audit all table permissions — Go through every table in your Base44 dashboard and check who has read, write, and delete access
  2. Enable authentication on all data endpoints — Require a valid session or API token for any data read or write operation
  3. Implement row-level access — Configure rules so users can only read and modify their own records
  4. Separate public and private tables — Keep truly public content (blog posts, product listings) in separate tables from private data (users, orders)
  5. Test as an unauthenticated user — Open your app in an incognito window and check what data you can access without logging in

Real developers can help you.

Matthew Jordan Matthew Jordan I've been working at a large software company named Kainos for 2 years, and mainly specialise in Platform Engineering. I regularly enjoy working on software products outside of work, and I'm a huge fan of game development using Unity. I personally enjoy Python & C# in my spare time, but I also specialise in multiple different platform-related technologies from my day job. Pratik Pratik SWE with 15+ years of experience building and maintaining web apps and extensive BE infrastructure Basel Issmail Basel Issmail ’m a Senior Full-Stack Developer and Tech Lead with experience designing and building scalable web platforms. I work across the full development lifecycle, from translating business requirements into technical architecture to delivering reliable production systems. My work focuses on modern web technologies, including TypeScript, Angular, Node.js, and cloud-based architectures. I enjoy solving complex technical problems and helping teams turn product ideas and prototypes into working platforms that can grow and scale. In addition to development, I often collaborate closely with product managers, business analysts, designers, and QA teams to ensure that solutions align with both technical and business goals. I enjoy working with startups and product teams where I can contribute both as a hands-on engineer and as a technical partner in designing and delivering impactful software. Meïr Ankri Meïr Ankri Full-stack developer specializing in React / Next.js / Node.js with 6+ years of experience. I've worked across various sectors including automotive (Reezocar/Société Générale), healthcare (Medical Link SaaS), and e-commerce (Glasman). I build web apps end-to-end, from architecture to production, with a focus on scalability, performance, and code quality. I also mentor junior developers and contribute to technical decisions and code reviews. prajwalfullstack prajwalfullstack Hi Im a full stack developer, a vibe coded MVP to Market ready product, I'm here to help zipking zipking I am a technologist and product builder dedicated to creating high-impact solutions at the intersection of AI and specialized markets. Currently, I am focused on PropScan (EstateGuard), an AI-driven SaaS platform tailored for the Japanese real estate industry, and exploring the potential of Archify. As an INFJ-T, I approach development with a "systems-thinking" mindset—balancing technical precision with a deep understanding of user needs. I particularly enjoy the challenge of architecting Vertical AI SaaS and optimizing Small Language Models (SLMs) to solve specific, real-world business problems. Whether I'm in a CTO-level leadership role or hands-on with the code, I thrive on building tools that turn complex data into actionable value. Mehdi Ben Haddou Mehdi Ben Haddou - Founder of Chessigma (1M+ users) & many small projects - ex Founding Engineer @Uplane (YC F25) - ex Software Engineer @Amazon and @Booking.com Daniel Vázquez Daniel Vázquez Software Engineer with over 10 years of experience on Startups, Government, big tech industry & consulting. Antriksh Narang Antriksh Narang 5 years+ Experienced Dev (Specially in Web Development), can help in python, javascript, react, next.js and full stack web dev technologies. Tejas Chokhawala Tejas Chokhawala Full-stack engineer with 5 years experience building production web apps using React, Next.js and TypeScript. Focused on performance, clean architecture and shipping fast. Experienced with Supabase/Postgres backends, Stripe billing, and building AI-assisted developer tools.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help

Frequently Asked Questions

How do I check if my Base44 tables are publicly accessible?

Open your app in an incognito browser window without logging in. Try accessing data pages or inspect network requests in DevTools. If you can see table data without authentication, your tables are public.

Can I restrict access to specific fields within a table?

Base44 typically allows table-level and row-level access rules. For field-level restrictions, you may need to create separate tables for sensitive fields and apply stricter access rules to those tables.

Related Base44 Issues

Can't fix it yourself?
Real developers can help.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help