Seguridad
Seguridad desde la arquitectura, no desde las promesas.
Cada garantía de esta página sale de cómo está construido BridgeStick: a qué llega cada parte, qué guarda y qué no ve nunca.
Aislamiento por inquilino
Cada usuario es un inquilino con un espacio propio.
- Cada consulta, evento en tiempo real y clave de la API de datos se queda en su inquilino: un usuario no ve, no cambia ni recibe avisos de nada de nadie más.
- Los archivos que un inquilino usa en el servidor (un origen o destino SQLite) viven en una carpeta propia; una ruta en otro sitio se rechaza.
- Un solo escritor por tabla: una conexión que escribiría una tabla que ya escribe otra se rechaza — sin nombrar a la otra.
- El administrador de la plataforma gestiona cuentas y ajustes del motor, nunca los datos de un inquilino.
Secretos cifrados en reposo
Las credenciales de orígenes y destinos se cifran antes de guardarse.
- Fernet: AES-128-CBC con una etiqueta HMAC-SHA256, y la clave derivada con HKDF-SHA256.
- La API nunca los devuelve, y se borran de los registros.
- Se envían a un agente por TLS solo cuando se abre un conector, y se guardan solo en su memoria.
Claves de la API de datos
Tus aplicaciones leen datos con claves pensadas para poder perderse sin peligro.
- Se guardan como hashes SHA-256, se muestran una vez, se limitan a los orígenes que elijas, caducan, se revocan y registran su último uso.
- Límite de peticiones por clave (
429conRetry-After); un origen solo se puede leer cuando lo activas. - Quien tiene una clave conoce el nombre, el tipo y la salud de un origen — nunca su equipo, su usuario ni un error que nombre la red que hay detrás.
Identidad firmada del agente
Un agente demuestra quién es con una clave que nunca sale de su máquina.
- Al unirse, el agente crea un par de claves Ed25519 en su carpeta, legible solo por su propietario, y registra la clave pública.
- Cada conexión firma un reto nuevo de BridgeStick: tras la inscripción no viaja ningún secreto al portador.
- Las claves de autenticación son de un solo uso por defecto, caducan y se revocan; la inscripción puede requerir tu aprobación; revocar un agente cierra su sesión al momento.
Agentes solo salientes
Los agentes se conectan hacia fuera; nada se conecta hacia dentro.
- Un WebSocket por HTTPS en el puerto 443: sin puerto de entrada, sin servicio escuchando, sin túnel.
- El agente se conecta a tus sistemas por sus nombres reales, así que los certificados TLS se verifican como en cualquier otro sitio.
- En Linux el servicio se ejecuta con un usuario sin privilegios, reforzado: sin nuevos privilegios, el sistema de solo lectura, solo su carpeta escribible.
Listas de permitidos que controla el cliente
A qué puede llegar un agente se decide en el agente, y lo decides tú.
- Equipos, redes, puertos y carpetas, añadidos con
bridgestick allow add. La lista empieza vacía. - Cada destino al que llegará un conector se resuelve y se comprueba antes de abrirlo; todo lo demás se rechaza.
- Solo la aplica el agente: una nube comprometida no puede usar un agente para llegar a lo que no permitiste.
Política de salida en la nube
Un inquilino no puede apuntar BridgeStick contra BridgeStick.
- Cada equipo que nombra un origen o destino de la nube debe resolver solo a direcciones públicas — se comprueba al guardarlo, al probarlo y al abrirlo.
- Así ningún conector llega a la red propia de la nube: su servidor de metadatos, su red privada, su base de datos de control. Los sistemas privados se alcanzan con enlaces.
- Como defensa en profundidad, los servidores bloquean el tráfico de la aplicación hacia el servidor de metadatos y los rangos privados.
Resiliencia
Una parada no pierde nada.
- Cada ejecución guarda puntos de control a medida que avanza: tras un reinicio, una caída o una cancelación sigue desde el último, y cada destino queda coherente.
- Los agentes y la aplicación se reconectan solos; los agentes esperan 1 segundo y duplican hasta 60, con variación aleatoria, para no volver todos a la vez.
- La nube de BridgeStick respalda su base de datos de control cada día y conserva los respaldos 14 días.
- Las instalaciones sobre PostgreSQL pueden usar dos servidores, activo y en espera: cuando el líder se detiene, el servidor en espera toma el relevo en segundos.
Descargas firmadas
Lo que instalas es lo que BridgeStick publicó.
- Los paquetes del agente figuran con sus sumas SHA-256 en un manifiesto firmado con la clave de publicación Ed25519 de BridgeStick.
- El instalador verifica esa firma antes de instalar nada; el repositorio apt está firmado con GPG.
Inicio de sesión y auditoría
Se sabe quién hizo qué, y se guarda.
- En la nube de BridgeStick inicias sesión con Firebase Authentication (correo y contraseña, o Google); el servidor verifica el token de ID firmado, y que el inicio de sesión viene de la propia aplicación de BridgeStick (Firebase App Check, con reCAPTCHA Enterprise distinguiendo personas de bots), antes de abrir una sesión.
- Los cambios quedan en un registro de auditoría; las instalaciones con su propio inicio de sesión guardan las contraseñas con PBKDF2-SHA256 y bloquean los intentos fallidos repetidos.
- El sitio web y la aplicación se sirven solo por HTTPS, con HSTS.
Modelo de amenazas
Riesgos, y cómo se responden.
| Riesgo | Respuesta |
|---|---|
| Un inquilino apunta un origen a la red propia de la nube (SSRF: el servidor de metadatos, la red privada, la base de datos de control). | La política de salida: los conectores de la nube solo llegan a direcciones públicas, comprobado al guardar, probar y abrir; además los servidores bloquean ese tráfico. |
| Una nube comprometida intenta entrar en la red de un cliente. | El agente aplica su propia lista de permitidos; no abre ningún puerto de entrada y se ejecuta con un usuario sin privilegios. |
| Roban una clave de autenticación. | Las claves caducan, son de un solo uso por defecto y se revocan, y la inscripción puede requerir aprobación. |
| Roban la clave de un agente. | Revocar el agente cierra su sesión; la clave privada nunca sale de la máquina del agente. |
| Dos inquilinos usan la misma dirección privada. | La identidad de una tabla incluye su enlace, así que los inquilinos nunca chocan, y un solo escritor por tabla se mantiene dentro de una red. |
| Alguien manipula una descarga. | Manifiestos firmados que verifica el instalador, y un repositorio apt firmado con GPG. |
Conecta tus datos sin que nada cambie por el camino.
Crea tu espacio, conecta un origen y ejecuta tu primera sincronización — gratis en acceso anticipado. Si tus sistemas son privados, un agente está a un comando de distancia.