¿Es segura tu app de Base44?
Base44 mantiene tu base de datos fuera de internet, lo que elimina el mayor riesgo de las apps hechas deprisa. Lo que queda es una lista corta y casi siempre la misma.

Los logotipos son propiedad de sus respectivos dueños y se muestran solo para indicar compatibilidad.
En resumen
- Base44 no expone tu base de datos a internet. El fallo que filtra la mayoría de las apps hechas deprisa no está a tu alcance, y eso es una ventaja real.
- El riesgo se traslada a lo que ve el navegador: una API que responde a cualquier web y tu código original publicado junto a la app. Esos dos aparecen en casi todas las apps de Base44 que analizamos.
- Nadie puede revisar una base de datos de Base44 desde fuera, nosotros incluidos. Si conectaste tu propio proyecto de Supabase, esa parte sí se puede revisar y merece la pena.
Base44 hace algo que los demás creadores no hacen, y conviene saberlo antes de ponerse a buscar problemas: tus datos nunca responden directamente a internet.
Tu app le pide algo a Base44, Base44 se lo pide a la base de datos, y la respuesta vuelve por el mismo camino. No hay una dirección que un desconocido pueda teclear. En la mayoría de las apps hechas deprisa, la mayor causa de datos filtrados es una tabla que puede leer cualquiera que tenga la dirección del proyecto, y en Base44 ese fallo ni siquiera está a tu alcance.
Y esta es la parte que guía tras guía cuenta mal: eso no hace que tu app sea segura, la hace segura en un aspecto concreto. El riesgo se traslada, y hacia dónde se traslada es tan predecible que podemos contártelo ya, antes de que analices nada.
Lo que Base44 mantiene fuera de internet por ti
El almacén, por seguir con la comparación evidente.
Piensa en tu app como una tienda. Todo lo que descarga el navegador de un visitante es el escaparate, y se entrega entero a cualquiera que cargue la página: un navegador no puede mostrar algo que no le enviaron. Detrás está el almacén, tus datos. En la mayoría de los creadores el almacén es otro edificio con su propia dirección en la misma calle, y que entren desconocidos depende de un ajuste que quizá nunca hayas visto. En Base44 no hay puerta a la calle.
En la práctica eso significa que no hay nada que pegar en un navegador. En una app con Supabase detrás, cualquiera puede sacar la dirección del proyecto de tu paquete, añadir el nombre de una tabla y ver qué vuelve. Haz lo mismo con una app de Base44 y la única dirección que encuentras es la tuya, en tu propio dominio, respondiendo lo que tu app fue escrita para responder.
Se nota en las notas. Entre las apps de Base44 de nuestro análisis de apps publicadas, casi todas sacan una A o una B, y los fallos que arrastran a otros creadores hasta una D apenas aparecen.
También tiene una consecuencia honesta: desde fuera nadie puede verificarlo, nosotros incluidos. Una revisión desde internet solo puede probar puertas que existen. Aquí no hay ninguna, así que no hay nada que informar, y un escáner que imprimiese "base de datos: segura" con esa base estaría inventándose un resultado.
¿Es un problema que haya una clave en tu app de Base44?
Normalmente no, y los dos tipos se parecen muchísimo.
Una clave publicable nombra un proyecto y no hace nada más. Está pensada
para leerse, y encontrarla no es un hallazgo. Una clave secreta, del tipo
sb_secret_…, service_role o sk_live_…, se salta todas las reglas que hayas
escrito y puede leerlo y cambiarlo todo.
Base44 guarda sus propias credenciales en el servidor, así que una clave en tu app normalmente no es de Base44. Viene de algo que conectaste tú: una clave de mapas, de analítica o de pagos pegada para que funcionara una función. La que más encontramos en apps de Base44 es una clave de la API de Google, que conviene entender en lugar de asustarse, porque una sin restricciones la pueden gastar desconocidos. Leer qué clave tienes lleva un minuto.
Si de verdad encuentras un secreto, el orden importa. Cámbiala donde se emitió, en Google Cloud o en Stripe o de donde viniera, y sácala de tu código después. Borrar la línea primero no cierra nada: el valor antiguo ya está en cada copia en caché de tu sitio y en lo que un rastreador se llevara la semana pasada.
El ajuste que está mal en casi todas las apps de Base44
No es una clave, y no es la base de datos. Es con quién está dispuesta a hablar tu API.
Un navegador normalmente impide que una web lea los datos de otra. Esa regla es
la razón de que una página que abres no pueda llamar a tu banco y poner tu saldo
en pantalla sin que te enteres. Una cabecera de respuesta llamada CORS la
levanta, y puesta en * la levanta para todo el mundo: una web de la que nunca
has oído hablar puede llamar a la API de tu app desde el navegador de tu
visitante y leer lo que vuelve.
En las apps de Base44 que hemos analizado este es el hallazgo más común con diferencia. También es con el que más se discute, y la discusión es legítima, así que aquí va la versión honesta. Un comodín delante de una dirección que exige inicio de sesión es un hallazgo flojo, porque la otra web sigue sin tener credenciales que enviar. Un comodín delante de una dirección que responde a cualquiera es lo serio, y alrededor de la mitad de las apps de Base44 que analizamos tienen al menos una dirección que devuelve datos a una petición simple sin nadie identificado. Son dos problemas distintos bajo una sola etiqueta, y el segundo es el que hay que ir a buscar.
Ninguno de los dos es un error tuyo. Un comodín es lo que publica una herramienta de compilación cuando nadie le ha dicho otra cosa, normalmente para que el dominio de vista previa y el dominio en vivo funcionen los dos mientras construyes. El texto breve tiene el arreglo, que consiste en poner tu propio dominio en lugar del asterisco.
Tu código original, publicado junto a la app
El segundo hallazgo más común, y el que puedes comprobar sin ninguna herramienta.
Un source map es un archivo que convierte el JavaScript comprimido que ejecuta el navegador en lo que tú escribiste, con los nombres de archivo originales, los comentarios y la estructura de carpetas intactos. Las herramientas de compilación los generan para que un error en producción apunte a una línea de verdad y no a la columna 4.812 de un único archivo enorme. Esa parte es de verdad útil. Publicarlos junto a la app es la parte que te cuesta algo.
Alrededor de tres de cada cinco apps de Base44 que analizamos publican los suyos. No se filtra ningún dato por ello, y tu app no se comporta distinto en nada, que es justo por lo que pasa desapercibido durante meses. Lo que cambia es el esfuerzo de todo lo demás: sacar un endpoint de un paquete minificado es trabajo lento y quisquilloso, y leer tu propio código no es trabajo en absoluto. Cualquier otro hallazgo de esta página sale más barato de encontrar en cuanto tu código es legible.
Comprobarlo lleva menos de un minuto. Abre tu app en vivo, pulsa F12 y mira el panel Sources. Si el árbol de archivos de ahí se parece a tu proyecto, con los nombres que les pusiste, los maps salieron con la publicación, y el texto largo explica qué cambiar.
Si enchufaste tu propia base de datos
Entonces la ventaja del principio de esta página no vale para esa parte, y vuelven las reglas de siempre.
Aproximadamente una cuarta parte de las apps de Base44 que analizamos nombra un proyecto de Supabase propio. Ese proyecto responde a internet directamente, igual que el de cualquier otro creador, así que Row Level Security ahora es cosa tuya: un interruptor por tabla que decide fila a fila quién puede leer qué.
Dos cosas deciden si la tienes. Supabase la activa por defecto en las tablas creadas en el Table Editor del panel, y no en las creadas ejecutando SQL, que es como las crean la mayoría de las configuraciones generadas. Y el interruptor es solo la mitad, porque una política que permite a todo el mundo deja la tabla abierta mientras el panel la da por segura.
Con el almacenamiento pasa lo mismo y se olvida fácil, porque vive en otra parte del panel, lejos de las reglas de las tablas. Un bucket marcado como público lo puede listar y descargar cualquiera que sepa que está ahí, enlace o no tu app algún archivo suyo, y los ajustes que lo deciden merecen una lectura tranquila.
Cómo revisar tu app de Base44 en unos diez minutos
Pregunta qué le dice tu API a otros sitios. Es lo que más probablemente esté mal y lo que nadie mira, porque en tu app no se comporta nada raro cuando está demasiado abierto.
Abre tu app en vivo con F12 y lee el panel Sources. Si tus propios archivos aparecen ahí con sus propios nombres, cualquier otra persona puede listarlos igual.
Lee cualquier clave que haya en la app. Con cada una, pregúntate si la pondrías en tu página de inicio. Si la respuesta es no, su sitio es un servidor, y hay que cambiarla en el origen antes de sacarla del código.
Abre Authentication → Policies, si conectaste tu propio proyecto de Supabase. Cualquier tabla que aparezca con Row Level Security desactivada responde a quien tenga la dirección del proyecto, y esa dirección está en tu app.
Y luego mira desde fuera. Los pasos de arriba te dicen qué está configurado. Qué puede alcanzar de verdad un desconocido es otra pregunta, y es la que responde nuestro análisis gratuito. Lee tu sitio en vivo como un visitante y te da una nota en unos 20 segundos, sin cuenta: analiza tu app.
Qué hacer
- Base44 mantiene tu base de datos fuera de internet. La mayor causa de datos filtrados en apps hechas deprisa no está a tu alcance.
- Desde fuera nadie puede verificarlo, nosotros incluidos. Sin puerta no hay resultado, y no haber resultado no es un visto verde.
- El riesgo se traslada al navegador: una API que responde a cualquier web y tu código fuente publicado junto a la app.
- Un comodín delante de una dirección que no pide inicio de sesión es la versión que importa, y alrededor de la mitad de estas apps tienen una.
- Una clave en tu paquete suele venir de un servicio que conectaste tú. Cámbiala en el origen y luego bórrala del código.
- Si enchufas tu propio proyecto de Supabase, las reglas habituales de Row Level Security y de almacenamiento se le aplican por completo.
Empieza por las dos que casi siempre merecen la pena: qué le dice tu API a otras webs y si tu código original salió con la app. Después, la lista de seguridad de 10 minutos cubre el resto.
Qué puede salir mal de verdad en una app de Base44
Ordenado por lo que vemos realmente en las apps de Base44, que no es el orden que uno esperaría. Nada de esto significa que hayas hecho algo mal.
Tu API responde a cualquier web que pregunte
Este es el habitual en Base44, con diferencia. Normalmente un navegador impide que una web lea los datos de otra, y un ajuste llamado CORS es lo que levanta esa regla. Puesto en "*", la levanta para todo el mundo: una página de la que nunca has oído hablar puede llamar a la API de tu app desde el navegador de un visitante. Reeve comprueba qué dice tu app a los navegadores sobre esto.
Tu código original se publicó con la app
Un source map es una copia legible del código que escribiste, publicada junto a la versión que ejecuta el navegador. Útil mientras construyes y un regalo para un desconocido cuando ya estás en producción: convierte "hurgar en un paquete minificado" en "leer la app". Por sí solo no filtra datos. Hace que todo lo demás sea más fácil de encontrar.
Faltan cabeceras de seguridad
Un puñado de cabeceras le dicen al navegador cómo proteger a tus visitantes: no adivinar tipos de archivo, no dejar que otra web enmarque esta página, no filtrar la dirección completa al salir. Por separado son pequeñas. Juntas deciden cuánto puede hacer alguien con lo demás que encuentre.
Una clave de algo que conectaste tú
Base44 guarda sus propias credenciales en el servidor, así que las claves que aparecen suelen venir de un servicio que conectaste tú: una clave de mapas, de analítica o de pagos pegada para que funcionara algo. Algunas claves están hechas para vivir en el navegador y no pasa nada. Reeve lee el código cargado de tu app, encuentra las claves y te dice cuál es cuál sin guardar nunca los valores reales.
Una base de datos que conectaste tú
Si enganchaste tu propio proyecto de Supabase en lugar de usar los datos integrados de Base44, también asumiste sus reglas. Row Level Security decide quién puede leer cada fila, y viene desactivada en las tablas creadas ejecutando SQL. Ese es el único camino por el que el problema clásico de la base de datos abierta sí llega a una app de Base44. Reeve lo comprueba contando filas, nunca leyéndolas.
Archivos que cualquiera puede listar
Lo que se sube acaba en buckets de almacenamiento, y un bucket público deja que cualquiera liste y descargue lo que hay dentro: facturas, documentos, fotos privadas. Reeve comprueba si tus buckets son listables. Nunca descarga los archivos de nadie.
Qué es Reeve y qué no es
Reeve es una revisión gratuita y de solo lectura desde fuera, como un inspector que prueba las puertas sin entrar. Encuentra rápido los fallos comunes y graves. No es una auditoría de seguridad completa, y una buena nota no es una garantía; significa que las puertas evidentes están cerradas.
Las apps de Base44 sacan mejor nota que la mayoría, y eso es un resultado real, no un cumplido: la plataforma se queda con la parte que suele salir mal. Lo que queda es una lista corta y bastante uniforme, y eso es una buena noticia, porque una lista corta se puede terminar. Y si prefieres que vigilar no sea tu trabajo, que sea el nuestro.
¿Lo quieres resuelto, no solo revisado?
Reeve Care vigila tu app, hace copias de tus datos y te ayuda a arreglar lo que se rompa, para que sigas construyendo en vez de preocuparte.
Conoce Reeve CarePreguntas frecuentes
¿Es una app de Base44 más segura que una hecha en otro sitio?
En una cosa concreta, sí. Tu base de datos no es accesible desde internet, así que no puedes cometer el fallo que expone a la mayoría de las apps hechas deprisa: una tabla que cualquiera con la dirección puede leer. Esa es la mayor causa de datos filtrados en apps como la tuya, y Base44 te la quita de encima. Todo lo que ve un navegador sigue dependiendo de ti.
¿Puede Reeve revisar mi base de datos de Base44?
No, y desde fuera no puede nadie. Tus datos pasan por el backend propio de Base44 en lugar de responder directamente a internet, así que no hay puerta que una revisión pueda probar. También lo decimos en nuestra página de investigación, y preferimos contártelo a imprimir un visto verde que no nos hemos ganado. Si conectaste tu propio proyecto de Supabase, esa parte sí la podemos revisar.
Mi app tiene una clave de API. ¿Es un problema?
Depende por completo de cuál. Algunas están pensadas para ser públicas y tu app no funciona sin ellas; otras entregan una cuenta entera. Base44 guarda sus credenciales en el servidor, así que una clave en tu paquete suele venir de un servicio que conectaste tú. Reeve lee el tipo de clave y te dice en palabras cuál tienes, sin guardar el valor.
¿Analizar mi app de Base44 cambiará algo?
No. Reeve solo mira lo que ya es público desde fuera. Nunca inicia sesión, nunca cambia nada y nunca descarga tus archivos. Solo lectura, como comprobar si una puerta está cerrada sin llegar a entrar.
Si mi base de datos no es accesible, ¿queda algo de lo que preocuparse?
Sí, pero una lista más corta que la de casi todo el mundo. Tu app sigue ejecutándose en un navegador, y todo lo que el navegador recibe es público: el código, cualquier clave incrustada en él y las direcciones a las que llama. Lo que merece la pena revisar son dos cosas: si esas direcciones responden a peticiones de otras webs, y si salió con la publicación una copia legible de tu código fuente.
Si nadie puede revisarlo desde fuera, ¿cómo sé que mis datos están bien?
Desde dentro, que es el único sitio donde existe esa respuesta. Como las peticiones pasan por Base44 en lugar de ir a una dirección pública, todo lo que decide quién puede leer qué vive en tu app y en la plataforma, donde un desconocido no puede hurgar. Así que las preguntas útiles son quién puede registrarse, qué ve una persona registrada y si alguna pantalla se construyó dando por hecho que nadie iba a mirar. Una revisión externa no responde a ninguna de esas. Responde a la otra mitad: qué alcanza alguien sin registrarse siquiera.
Mi análisis dice que mi API responde a cualquier web. ¿Lo configuré yo?
Casi con seguridad no a propósito. Un comodín es lo que publica una herramienta de compilación cuando nadie le ha dicho otra cosa, normalmente para que la dirección de vista previa y la dirección en vivo funcionen las dos mientras construyes, y sobrevive hasta producción porque en tu app no se rompe nada cuando está demasiado abierto. Lo que decide cuánto importa es la dirección que hay detrás: si pide inicio de sesión, es un hallazgo flojo. Si responde a cualquiera, es la versión que conviene arreglar esta semana.
Conecté mi propio proyecto de Supabase a mi app de Base44. ¿Eso cambia algo?
Cambia lo más importante. Tu propio proyecto responde directamente a internet, así que el ajuste de Row Level Security por tabla ahora es cosa tuya, y viene desactivado en cualquier tabla creada ejecutando SQL. Ese es el único camino por el que el clásico problema de la base de datos abierta llega a una app de Base44, y merece diez minutos de tu tiempo.