Seguridad
Seguridad en Convira
Última actualización: 14 July 2026
Convira ejecuta un agente de IA que toca tus archivos, tus herramientas y - si así lo eliges - la nube. Eso convierte a la seguridad en una decisión de producto, no en algo secundario. Esta página describe cómo se construye y se opera el sistema. Para saber qué datos recopilamos y por qué, consulta la Política de Privacidad.
1. Nuestro enfoque
Dos principios rigen todo lo que sigue. Primero, local primero de forma predeterminada: en el entorno de ejecución local, la inferencia, la memoria y los archivos del agente se ejecutan en tu propia máquina, con modelos que tú alojas. La excepción es una herramienta facturada que elijas ejecutar - investigación web y en X, generación de imagen y video, acciones de conectores - que necesita claves de proveedor gestionadas que nosotros tenemos, por lo que esa única llamada a la herramienta la ejecuta Convira y se devuelve a tu dispositivo (y solo mientras estés en línea). Segundo, la nube es opcional y mínima: cuando usas el entorno de ejecución en la nube, tu ejecución se procesa y se reenvía al proveedor del modelo de IA, pero el contenido de la ejecución no se almacena en nuestros servidores - el registro vive en tu dispositivo. Menos datos de nuestro lado es menos que proteger y menos que pueda quedar expuesto.
No afirmamos ser invulnerables. Lo que sí podemos decir es que la arquitectura está construida para que el trabajo más sensible nunca tenga que salir del hardware que tú controlas.
2. Dónde viven tus datos
Convira tiene tres entornos de ejecución, y se diferencian exactamente en esto:
| Entorno de ejecución | Dónde se ejecuta el agente | Dónde vive el registro de la ejecución | Lo que llega a Convira |
|---|---|---|---|
| Local | Tu equipo, con modelos que tú alojas | Tu equipo (base de datos local cifrada) | Tráfico de cuenta y licencias; cuando invocas una herramienta facturable de web, medios o conectores, la entrada de esa herramienta y sus identificadores de enrutamiento |
| Private Box | Una máquina que tú mismo alojas y controlas | Tu dispositivo (la app de escritorio conserva la copia autoritativa) | Tráfico de licencias; cuando invocas una herramienta facturable de web, medios o conectores, la entrada de esa herramienta y sus identificadores de enrutamiento |
| Cloud | La infraestructura de Convira | Tu dispositivo (la app de escritorio conserva la copia autoritativa) | Solo metadatos operativos (estado, marcas de tiempo, modelo y herramientas utilizados, uso de tokens y créditos); la instrucción y el contexto se envían al proveedor del modelo de IA para generar la respuesta y después no los conservamos |
En la ruta de nube, el contenido de la ejecución - el texto que escribiste, los archivos involucrados, las entradas y los resultados de las herramientas, y las respuestas del modelo - no se escribe en nuestras bases de datos. Nuestro código lo elimina antes de que algo se guarde, y pruebas automatizadas verifican ese invariante en cada compilación. El detalle está en la Política de Privacidad.
3. Cómo se aísla la ejecución del agente
Las llamadas a herramientas en el escritorio siempre pasan por la política de permisos de Convira. El aislamiento nativo de procesos es una capa adicional de defensa en profundidad: en modo automático, Convira lo usa cuando el sistema anfitrión lo admite y registra una advertencia si debe recurrir a una alternativa; los operadores también pueden configurar el aislamiento nativo como obligatorio. Las primitivas disponibles son:
- Linux: a Bubblewrap namespace jail (mount, PID, optionally network), with Landlock filesystem rules so the tool can only read and write the directories it was granted, and a seccomp-bpf syscall filter - the code-execution profile blocks the network syscalls outright, so a tool can't open its own sockets.
- macOS: a Seatbelt (
sandbox-exec) profile with a deny-by-default posture. - Windows: un Job Object que restringe el árbol de procesos y sus recursos. En Windows, las decisiones sobre el sistema de archivos y la red provienen de la política de permisos y los controles de red de Convira, no del Job Object.
La ejecución de código en la nube tiene un límite distinto: corre como un subproceso dentro del contenedor del worker de la API. El contenedor separa el servicio de su host, pero los subprocesos en la nube comparten ese contenedor y no reciben un confinamiento de sistema de archivos ni un espacio de nombres de red propios por proceso. Los resultados de la herramienta exponen la procedencia del aislamiento para que el agente y la interfaz puedan distinguir entre ejecución en contenedor, en proceso nativo y de respaldo.
Salida de red. El acceso de red saliente de una ejecución pasa por un proxy HTTP CONNECT que aplica una lista de dominios permitidos por capas (una lista de denegación explícita, luego lo que hayas aprobado durante la sesión, luego los dominios permitidos de tu plan y de tu espacio de trabajo, y por último una pequeña base integrada de endpoints de modelos y paquetes). También bloquea las conexiones directas a IP, los rangos privados y de enlace local, y los endpoints de metadatos de la nube. En el entorno de ejecución local, el acceso a la web está desactivado hasta que tú lo actives, y el proxy puede funcionar en modo auditoría (registrar todo) o en modo aplicación (bloquear y, si quieres, preguntarte). Cuando habilitas e invocas una herramienta facturada de web, medios o conectores, esa única llamada se enruta a Convira para ejecutarse con claves gestionadas; todo lo demás permanece en tu máquina y, sin conexión, las herramientas facturadas simplemente no están disponibles.
Aprobaciones. Un motor de políticas clasifica lo que está a punto de hacer cada acción de herramienta. Las acciones sensibles no ocurren sin más - la ejecución se pausa y genera una solicitud de aprobación que tienes que aprobar o rechazar antes de continuar. En algunas acciones puedes elegir “permitir en esta sesión” o “permitir siempre”; otras siempre preguntan. Tus reglas de permisos se crean en tu dispositivo y se aplican a la ejecución; en la ruta de nube se envían junto con la ejecución, no se almacenan de nuestro lado.
4. Cifrado
En tránsito. Todo el tráfico entre las aplicaciones y nuestra API viaja por TLS, y nuestra API se conecta a su base de datos por TLS.
En reposo. Our database is encrypted at rest. On top of that, certain sensitive stored values - for example the credentials and configuration for integrations you connect, and workspace knowledge-base content - are encrypted at the application level with AES-256-GCM, using per-purpose keys derived from a master key with HKDF-SHA256, with support for rotating that key. Passwords are never stored or encrypted in a reversible form - they're hashed with Argon2id (a modern, memory-hard algorithm). Session tokens, email-verification codes, password-reset tokens, and similar secrets are stored only as hashes, are single-use where applicable, and expire. Third-party model-provider API keys are held in our server environment, not in the database.
En tu dispositivo. The desktop app keeps the authoritative copy of your runs and sessions in a local SQLite database that is encrypted with SQLCipher. La clave de cifrado está protegida por el almacenamiento seguro de tu sistema operativo (Keychain en macOS, DPAPI en Windows, libsecret en Linux); una versión empaquetada se niega a iniciar si esa protección no está disponible, en lugar de recurrir a texto plano. La app de escritorio no guarda claves API de terceros ni tokens OAuth en disco.
Private Box. Un Private Box autoalojado se licencia con tokens de corta duración firmados con Ed25519. Cuando vinculas a miembros del equipo con un box, la credencial bearer del box se sella con la clave de dispositivo de cada miembro (acuerdo de claves X25519 + XChaCha20-Poly1305) - la credencial en texto plano nunca pasa por los servidores de Convira.
Si tu modelo de amenazas exige que el contenido de las ejecuciones permanezca en hardware que tú controlas, usa el entorno de ejecución local o un Private Box y no invoques herramientas en línea gestionadas.
5. Autenticación y acceso
Sessions are server-backed: the token in your browser cookie is matched against a stored hash, the cookie is HttpOnly, Secure in production, and SameSite=Lax, and sessions expire. Failed logins are rate-limited. The desktop app authenticates with short-lived, asymmetrically-signed (Ed25519) offline tokens that include anti-rollback protections so a backdated clock can't extend them. Cross-site request forgery is blocked with a double-submit token plus an origin check, compared in constant time.
El acceso a los datos de los clientes dentro de Convira está delimitado por roles. El personal tiene roles de plataforma (independientes de cualquier cuenta de cliente) que determinan qué puede ver y hacer; dentro de un Espacio de Trabajo, los miembros tienen roles (propietario, administrador, operador, visualizador) que limitan lo que pueden hacer allí. Cada acción privilegiada del personal queda escrita en un registro de auditoría de solo adición, con el actor, el objetivo, el motivo y la fuente. La suplantación de identidad para soporte, cuando es necesaria, está restringida al rol de personal más alto, requiere que se escriba una confirmación y un motivo, tiene tiempo limitado y queda registrada en la auditoría. Los atajos de autenticación exclusivos de desarrollo están deshabilitados por completo en las compilaciones de producción.
6. Fortalecimiento de la aplicación
Web. The API and website send standard hardening headers - HSTS (with preload on the marketing site), a Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, a restrictive Referrer-Policy, and a Permissions-Policy that disables camera, microphone, and geolocation. The API only accepts cross-origin requests from an explicit allowlist of our own origins. Public forms are protected by Cloudflare Turnstile and honeypot fields, and are rate-limited.
Escritorio. The Electron app runs the UI with context isolation on, Node integration off, and the renderer sandbox enabled. The renderer talks to the rest of the app only through a narrow preload bridge whose messages are schema-validated, and it runs under a strict Content-Security-Policy (default-src 'self', no plugins, no framing, Trusted Types for script). Permission requests from web content are denied except for a short allowlist.
7. Compilaciones y actualizaciones firmadas
Los instaladores para macOS y Windows están firmados digitalmente - notarización de Apple en macOS, Authenticode en Windows - y el actualizador automático de la app de escritorio verifica la firma de cada actualización antes de instalarla, de modo que una actualización alterada se rechaza. Las comprobaciones de actualización respetan la política de red: si un entorno de ejecución está configurado sin conexión, la app no contacta al servidor de actualizaciones.
8. Monitoreo y respuesta a incidentes
Usamos herramientas de monitoreo de errores en la API y en el panel web, configuradas para excluir encabezados de autenticación, cookies y valores que parezcan contraseñas, tokens o secretos. Los webhooks entrantes (por ejemplo, de Stripe) se verifican por firma y se deduplican para rechazar reenvíos. Investigamos las señales de seguridad y, si ocurre una violación de datos personales, notificaremos a los usuarios afectados y a las autoridades competentes dentro de los plazos que exige la ley.
9. Proveedores de servicios
Convira se apoya en un grupo reducido de proveedores de servicios verificados - pagos (Stripe), base de datos y hosting del backend (Supabase), protección contra bots (Cloudflare), hosting del sitio web y analítica sin cookies (Vercel), monitoreo de errores (Sentry) y los proveedores de modelos de IA (Anthropic, OpenAI, Google, xAI). La lista actual, lo que hace cada uno y dónde opera aproximadamente están en la Política de Privacidad.
10. Tu parte
La seguridad es compartida. Algunas cosas que importan:
- Usa una contraseña segura y única para tu cuenta de Convira.
- Mantén la app actualizada - se actualiza sola, pero no te quedes con una versión de hace meses.
- Sé deliberado con lo que conectas y con los permisos que le otorgas al agente; lee las solicitudes de aprobación.
- Para tu trabajo más sensible, usa el entorno de ejecución local o un Private Box y mantén desactivadas las herramientas en línea administradas, para que el contenido de las ejecuciones permanezca en hardware que tú controlas.
- Si ves algo raro - un error, un correo sospechoso que dice ser nuestro, una cuenta que no reconoces - avísanos.
11. Reportar una vulnerabilidad
Si crees que encontraste una vulnerabilidad de seguridad en Convira, repórtala a security@convira.ai. Incluye suficiente detalle para reproducirla - el componente o la URL afectados, los pasos y el impacto - y, si puedes, una prueba de concepto.
Lo que te pedimos:
- Danos un plazo razonable para investigar y corregir el problema antes de divulgarlo públicamente.
- No accedas, modifiques ni elimines datos que no sean tuyos; usa solo cuentas y datos de prueba que tú controles.
- No ejecutes ataques que degraden el servicio para otras personas (denegación de servicio, spam, fuerza bruta contra cuentas reales) ni uses ingeniería social contra nuestro equipo o nuestros usuarios.
- No exijas pagos a cambio de no divulgar la información.
Lo que puedes esperar de nosotros:
- Confirmaremos la recepción de tu reporte y te mantendremos al tanto mientras lo trabajamos.
- Te daremos el crédito, si así lo deseas, una vez que el problema esté resuelto. Hoy no tenemos un programa de recompensas por errores remunerado.
- No emprenderemos acciones legales contra la investigación de buena fe que siga estas pautas.
12. Preguntas
Preguntas de seguridad, o cualquier tema sobre esta página: security@convira.ai. Para todo lo demás, nuestra página de ayuda. Actualizaremos esta página a medida que cambien el producto y nuestras prácticas, y ajustaremos la fecha de la parte superior.