Base44 security

Forms Accept Any Input Without Validation

Forms in your Base44 app accept and save any input without validation. Users can submit empty required fields, enter text in number fields, submit absurdly long strings, or inject HTML and scripts into text fields. This corrupts your data and can create security vulnerabilities.

Without validation, your database fills with garbage data: empty email fields, phone numbers with letters, negative quantities, and dates in the wrong format. Reports become unreliable, automated workflows break on bad data, and cleaning up the mess is time-consuming.

Worse, malicious users can inject scripts that execute when other users or admins view the submitted data, potentially stealing sessions or performing actions on their behalf.

Error Messages You Might See

Invalid data saved to database Form submitted with empty required fields Script executed when viewing submitted data Number field contains non-numeric value
Invalid data saved to databaseForm submitted with empty required fieldsScript executed when viewing submitted dataNumber field contains non-numeric value

Common Causes

  • No field constraints configured — Base44 form fields don't have required, min/max, or format rules set
  • Client-side validation only — HTML5 validation attributes exist but can be bypassed by submitting directly to the API
  • Text fields without length limits — Users can paste megabytes of text into a single field, bloating the database
  • Number fields accepting strings — Price, quantity, and age fields store whatever string is submitted
  • No sanitization of HTML content — Rich text or description fields accept raw HTML and JavaScript

How to Fix It

  1. Add required field rules — Mark all mandatory fields as required in both the form configuration and the data table schema
  2. Set field type constraints — Configure number fields to accept only numbers, email fields to validate email format, and date fields to accept only valid dates
  3. Add length limits — Set maximum character limits on text fields (e.g., 255 for names, 1000 for descriptions)
  4. Sanitize text input — Strip HTML tags from plain text fields and sanitize rich text fields to allow only safe HTML elements
  5. Add server-side validation rules — Configure validation at the data layer so it can't be bypassed by direct API calls

Real developers can help you.

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. 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. Kingsley Omage Kingsley Omage Fullstack software engineer passionate about AI Agents, blockchain, LLMs. 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. Jen Jacobsen Jen Jacobsen I’m a Full-Stack Developer with over 10 years of experience building modern web and mobile applications. I enjoy working across the full product lifecycle — turning ideas into real, well-built products that are intuitive for users and scalable for businesses. I particularly enjoy building mobile apps, modern web platforms, and solving complex technical problems in a way that keeps systems clean, reliable, and easy to maintain. Dor Yaloz Dor Yaloz SW engineer with 6+ years of experience, I worked with React/Node/Python did projects with React+Capacitor.js for ios Supabase expert Richard McSorley Richard McSorley Full-Stack Software Engineer with 8+ years building high-performance applications for enterprise clients. Shipped production systems at Walmart (4,000+ stores), Cigna (20M+ users), and Arkansas Blue Cross. 5 patents in retail/supply chain tech. Currently focused on AI integrations, automation tools, and TypeScript-first architectures. Matt Butler Matt Butler Software Engineer @ AWS rayush33 rayush33 JavaScript (React.js, React Native, Node.js) Developer with demonstrated industry experience of 4+ years, actively looking for opportunities to hone my skills as well as help small-scale business owners with solutions to technical problems

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

Why is client-side validation not enough?

Anyone can bypass browser validation by editing the HTML, disabling JavaScript, or sending requests directly to the API. Server-side or data-layer validation is the only reliable way to ensure data integrity.

How do I clean up existing bad data?

Export your table data, clean it in a spreadsheet by removing empty rows and fixing formats, then re-import. Going forward, add validation rules to prevent bad data from being saved.

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