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.

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. Vlad Temian Vlad Temian 15+ years shipping production infrastructure for startups. Former CTO at qed.builders (acquired by The Sandbox). Cursor ambassador and agentic tooling builder. I've scaled systems, automated deployments, and built observability tools for AI coding workflows. I specialize in taking vibe-coded apps from broken prototype to production-ready: fixing Supabase auth/RLS, Stripe integrations, deployment pipelines, and cleaning up AI-generated spaghetti. I build tools in this space (agentprobe, claudebin, micode) and understand both sides: how AI generates code and why it breaks. https://blog.vtemian.com/ 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 Costea Adrian Costea Adrian Embedded Engineer specilizing in perception systems. Latest project was a adas camera calibration system. Matt Butler Matt Butler Software Engineer @ AWS Franck Plazanet Franck Plazanet I am a Strategic Engineering Leader with over 8 years of experience building high-availability enterprise systems and scaling high-performing technical teams. My focus is on bridging the gap between complex technology and business growth. Core Expertise: 🚀 Leadership: Managing and coaching teams of 15+ engineers, fostering a culture of accountability and continuous improvement. 🏗️ Architecture: Enterprise Core Systems, Multi-system Integration (ERP/API/ETL), and Core Database Structure. ☁️ Cloud & Scale: AWS Expert; architected systems handling 10B+ monthly requests and managing 100k+ SKUs. 📈 Business Impact: Aligning tech strategy with P&L goals to drive $70k+ in monthly recurring revenue. I thrive on "out-of-the-box" thinking to solve complex technical bottlenecks and am always looking for ways to use automation to improve business productivity. Jared Hasson Jared Hasson Full time lead founding dev at a cyber security saas startup, with 10 yoe and a bachelor's in CS. Building & debugging software products is what I've spent my time on for forever Rudra Bhikadiya Rudra Bhikadiya I build and fix web apps across Next.js, Node.js, and DBs. Comfortable jumping into messy code, broken APIs, and mysterious bugs. If your project works in theory but not in reality, I help close that gap. Pratik Pratik SWE with 15+ years of experience building and maintaining web apps and extensive BE infrastructure Caio Rodrigues Caio Rodrigues I'm a full-stack developer focused on building practical and scalable web applications. My main experience is with **React, TypeScript, and modern frontend architectures**, where I prioritize clean code, component reusability, and maintainable project structures. I have strong experience working with **dynamic forms, state management (Redux / React Hook Form), and complex data-driven interfaces**. I enjoy solving real-world problems by turning ideas into reliable software that companies can actually use in their daily operations. Beyond coding, I care about **software quality and architecture**, following best practices for componentization, code organization, and performance optimization. I'm also comfortable working across the stack when needed, integrating APIs, handling business logic, and helping transform prototypes into production-ready systems. My goal is always to deliver solutions that are **simple, efficient, and genuinely useful for the people using them.**

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