¿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, en casi todas las apps de Base44 que analizamos. El hallazgo de source maps que va al lado es el script de distintivo de Base44, no tu código.
- 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.
En Base44 esa segunda cifra necesita una matización antes de que actúes sobre
ella. Reabrimos una docena de esas apps en septiembre y, en todas las que
respondieron, la dirección era la misma: /api/consent/config, que devuelve los
ajustes de consentimiento de cookies de la app. Eso es configuración, no las
filas de nadie. Así que toma el hallazgo como un aviso para leer qué devuelve tu
propia dirección y no como la noticia de que tus datos están fuera, y ve a buscar
las direcciones que añadió tu app.
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.
El source map junto a la app, y de quién es el código
El segundo hallazgo más común, y el que puedes comprobar sin ninguna herramienta. En Base44 también es el que con más probabilidad habla de otra persona.
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 sirven uno, y en
Base44 el mapa que responde casi siempre es de la plataforma. Volvimos a 30 apps
marcadas en septiembre y leímos qué contenía cada mapa: en 27 el único que servía
era /static/js/badge.js.map, el del pequeño script con el que Base44 dibuja su
distintivo, y en ninguna de las 30 había un mapa que cubriera los archivos del
dueño. El archivo de entrada y cada trozo del que tu app está hecha de verdad no
llevan dirección de mapa ninguna.
Así que la cifra se lee «tres de cada cinco apps de Base44 publican su código» y significa «tres de cada cinco apps de Base44 muestran el distintivo». También deja una línea de nuestro propio informe por responder, porque dice que tu código fuente original está publicado, y en una app de Base44 eso es cierto de un archivo que pertenece a tu casero. En Lovable, Replit y Bolt la misma línea dice lo que dice. Lo que encontramos dentro de esos mapas es el relato completo.
Comprobarlo lleva menos de un minuto y lo zanja para tu app en lugar de para la media. Abre tu app en vivo, pulsa F12 y mira el panel Sources. Una carpeta con tus propios archivos, con los nombres que tú pusiste, significa que salieron mapas con tu build, y la versión larga cuenta qué cambiar. Si no hay tal carpeta, ahí dentro no hay nada tuyo, diga lo que diga el informe.
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. El source map de al lado tiene el script de distintivo de Base44, no tu código.
- 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. En las que reabrimos era siempre la dirección de consentimiento de cookies de Base44.
- 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.
Un source map publicado junto a la app
Un source map es una copia legible del código que un build comprimió, publicada junto a la versión que ejecuta el navegador. En la mayoría de builders es tu código, y convierte «hurgar en un paquete minificado» en «leer la app». En Base44 el que responde es del script de distintivo de la plataforma, así que lee qué hay en el tuyo antes de darlo por propio. En cualquier caso no filtra datos por sí solo.
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.