Saltar al contenido

¿Usas TablePro a diario? Una licencia añade funciones de pago y financia la próxima versión. ¿Uso diario? Comprar licencia

Seguridad

Dónde guarda TablePro tus credenciales, qué envían sus apps, cómo se firman y actualizan, y hasta dónde llega cada protección.

Dónde se guardan las credenciales

En el Mac

Las contraseñas, las frases de contraseña de las claves, las claves de API de los proveedores de IA y la clave de licencia se guardan en el Llavero de macOS. La lista de conexiones en disco no contiene contraseñas, y una clave SSH sigue siendo un archivo en disco.

En iPhone y iPad

Las contraseñas y las claves SSH pegadas se guardan en el Llavero.

iCloud Sync

iCloud Sync está desactivado hasta que lo actives. Los registros van a una base de datos privada en tu propia cuenta iCloud, que TablePro no puede leer, y no llevan contraseñas. Las contraseñas solo se sincronizan si también activas Passwords en el Mac o Sync Passwords en iPhone y iPad, y entonces viajan por el Llavero de iCloud.

Qué recibe TablePro

Las consultas que ejecutas, sus resultados y tus contraseñas no se envían a TablePro. La excepción es una Team Library en la que decidas publicar: recibe la configuración de las conexiones y las consultas guardadas, nunca contraseñas.

Limitaciones que conviene conocer

  • En el Mac, la sincronización de contraseñas también lleva las claves de API de los proveedores de IA y la clave de licencia.
  • Una fuente de contraseñas como 1Password o un comando de shell ejecuta un programa en tu Mac cada vez que te conectas.

Qué sale de tu dispositivo

A tus servidores y proveedores

Las consultas y los resultados viajan entre la app y tus propios servidores de bases de datos, nunca a través de TablePro. Las solicitudes de IA van directamente al proveedor que añadas.

A TablePro

Sin una licencia activada, la única solicitud de la app para Mac a TablePro es un informe diario de uso, activado por defecto y configurable en los ajustes. En iPhone y iPad no se envía nada a TablePro salvo que actives Share Usage Data. Un informe nunca incluye nombres de host, nombres de usuario, contraseñas, consultas ni filas, y ninguna de las dos apps contiene un informador de fallos ni una biblioteca de analítica de terceros.

Limitaciones que conviene conocer

  • La app para Mac envía su primer informe de uso sin preguntar, y nuestro servidor guarda la dirección IP de cada informe y de cada comprobación de licencia.

Cómo te llegan las apps

Firmadas y notarizadas

Las versiones para Mac están firmadas con un Developer ID, usan el Hardened Runtime y están notarizadas por Apple. Las imágenes de disco están en GitHub Releases, cada una con su suma de comprobación SHA-256. El cask de Homebrew descarga la misma imagen y comprueba su SHA-256.

Actualizaciones

La app para Mac se actualiza con Sparkle y, antes de instalar cada actualización, comprueba su firma EdDSA con la clave pública incluida en la app. Esa comprobación no se puede desactivar. Las actualizaciones automáticas sí, en los ajustes o con un perfil de configuración.

Plugins de controladores

Los controladores que no vienen con la app para Mac se descargan de GitHub. Cada uno debe coincidir con el SHA-256 del registro de plugins y tener una firma de código válida: la de TablePro, o el Developer ID de otro desarrollador una vez que aceptas confiar en ese desarrollador por su nombre.

iPhone y iPad

La app para iPhone y iPad está en el App Store, que también entrega sus actualizaciones. Sus controladores vienen integrados y no descarga plugins.

Limitaciones que conviene conocer

  • La app para Mac no usa el App Sandbox de macOS: se ejecuta con el acceso a archivos y a la red de tu cuenta de usuario.
  • Un plugin de controlador se ejecuta como parte de TablePro y puede leer las credenciales de todas las conexiones que abras.

Qué protege una base de datos de un error

Niveles de Safe Mode

Cada conexión tiene un nivel de Safe Mode: Silent, Alert, Alert (Full), Safe Mode, Safe Mode (Full) y Read-Only. Alert pregunta antes de una escritura, los niveles Safe Mode también piden Touch ID o la contraseña del Mac, los niveles Full preguntan también antes de las lecturas y Read-Only rechaza las escrituras. Una organización puede imponer un nivel mínimo en sus Macs mediante un perfil de configuración. En iPhone y iPad, los niveles son Off, Confirm Writes y Read-Only.

Sentencias destructivas

En todos los niveles del Mac, DROP, TRUNCATE y un DELETE sin WHERE se detienen y preguntan primero, mostrando la sentencia completa.

Limitaciones que conviene conocer

  • Safe Mode funciona dentro de TablePro y protege de errores. No es un sandbox ni un sistema de permisos: para una regla que deba cumplirse siempre, usa los privilegios de la propia base de datos.
  • Las conexiones nuevas empiezan en Silent, donde las sentencias se ejecutan tal como están, incluido un UPDATE sin WHERE.
  • En los modos Edit y Agent del chat, el asistente de IA puede ejecutar sentencias, y en Silent sus escrituras no preguntan. Agent mode, que ocupa toda la ventana, mantiene su conexión en Alert o superior, lo que es un recordatorio, no un bloqueo.

El servidor MCP

Solo local

El servidor MCP solo está en la app para Mac y permanece apagado hasta que lo actives o un cliente que hayas configurado lo inicie. Escucha en 127.0.0.1, sin modo remoto, y los clientes nunca ven una contraseña.

Cómo se aprueba un cliente

Por defecto, cada solicitud necesita un token con un alcance (Read Only, Read & Write o Full Access), y un diálogo en tu Mac te pregunta la primera vez que un cliente accede a una conexión.

Qué puede hacer un cliente

Cada conexión decide qué pueden hacer los clientes externos: Blocked, Read Only (por defecto) o Read & Write. Las escrituras siguen pasando por su nivel de Safe Mode, DROP y TRUNCATE requieren un token Full Access y tu aprobación cada vez, y cada llamada queda registrada en tu Mac.

Limitaciones que conviene conocer

  • 127.0.0.1 indica dónde escucha el servidor, no quién puede llegar a él. Cualquier programa de tu Mac puede conectarse, y también una página abierta en claude.ai o app.cursor.com. Cada uno sigue necesitando un token, así que mantén la autenticación obligatoria.
  • Lo que un cliente lee, lo envía a su propio servicio de IA según las condiciones de ese servicio.

Código abierto

El código es público

Ambas apps son de código abierto bajo AGPLv3, incluido el código de las funciones de pago. Lo que describe esta página se puede leer en el repositorio, junto con los scripts que firman y notarizan cada versión, y puedes compilar la app para Mac tú mismo.

Informar de una vulnerabilidad

Cómo informar

Escribe a [email protected] o infórmanos en privado en GitHub, en inglés o en vietnamita. No abras un issue, una discusión ni un pull request públicos por una vulnerabilidad.

Qué incluir

Qué está afectado y su versión: la app para Mac, la app para iPhone y iPad, un plugin o este sitio web. Añade la versión de macOS o iOS, el tipo de base de datos si interviene un controlador, los pasos o una prueba de concepto, y qué obtiene un atacante.

Qué versiones reciben correcciones

Solo la última versión de cada app y de cada plugin recibe correcciones de seguridad, así que comprueba que el problema sigue en la última versión antes de informar.