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 la seguridad en una decisión de producto, no en algo accesorio. 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 viene a continuación. Primero, local primero de forma predeterminada: en el runtime local, la inferencia, la memoria y los archivos del agente se ejecutan en tu propio equipo, con modelos que alojas tú. La excepción son las herramientas de pago que decidas ejecutar - investigación web y en X, generación de imagen y vídeo, acciones de conectores - que necesitan claves de proveedor gestionadas que custodiamos nosotros, así 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 runtime 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 se pueda llegar a exponer.
No decimos que seamos inexpugnables. Lo que sí podemos decir es que la arquitectura está construida para que el trabajo más sensible nunca tenga que salir de un hardware que tú controlas.
2. Dónde viven tus datos
Convira tiene tres runtimes, y se diferencian exactamente en esto:
| Runtime | 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 facturada de web, medios o conectores, la entrada de esa herramienta y sus identificadores de enrutamiento |
| Private Box | Un equipo que alojas y controlas tú | Tu dispositivo (la app de escritorio conserva la copia autoritativa) | Tráfico de licencias; cuando invocas una herramienta de pago de web, medios o conectores, la entrada de esa herramienta y los 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 vía de la nube, el contenido de la ejecución - el texto que has escrito, los archivos implicados, las entradas y salidas de las herramientas y las respuestas del modelo - no se escribe en nuestras bases de datos. Nuestro código lo elimina antes de que se persista nada, y hay pruebas automatizadas que verifican esa 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 del escritorio siempre se comprueban con la política de permisos de Convira. El aislamiento nativo de procesos es una capa independiente de defensa en profundidad: en modo automático, Convira lo utiliza cuando el sistema anfitrión lo admite y registra una advertencia si tiene que recurrir a una alternativa; los operadores también pueden configurar el aislamiento nativo como obligatorio. Estas son las primitivas disponibles:
- 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 sistema de archivos y red proceden de la política de permisos y de los controles de red de Convira, no del Job Object.
La ejecución de código en la nube tiene otro límite: se ejecuta 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 una jaula de sistema de archivos ni un espacio de nombres de red propios por proceso. Los resultados de las herramientas exponen la procedencia del aislamiento para que el agente y la interfaz puedan distinguir entre ejecución en contenedor, en proceso nativo y de reserva.
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, después lo que hayas aprobado durante la sesión, después los dominios permitidos por tu plan y 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 link-local, y los endpoints de metadatos de la nube. En el runtime local, el acceso web está desactivado hasta que tú lo actives, y el proxy puede funcionar en modo auditoría (registrarlo todo) o en modo aplicación (bloquear y, si quieres, preguntarte). Cuando activas e invocas una herramienta de pago de web, medios o conectores, esa única llamada se enruta a Convira para ejecutarse con claves gestionadas; todo lo demás permanece en tu equipo y, sin conexión, las herramientas de pago sencillamente 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 preguntan siempre. Tus reglas de permisos se crean en tu dispositivo y se aplican a la ejecución; en la vía de la nube se envían 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 propia clave de cifrado está protegida por el almacenamiento seguro de tu sistema operativo (Keychain en macOS, DPAPI en Windows, libsecret en Linux); una compilación empaquetada se niega a arrancar si esa protección no está disponible, en lugar de recurrir a texto plano. La aplicación de escritorio no guarda en disco claves API de terceros ni tokens OAuth.
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 runtime local o un Private Box y no invoques herramientas online 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. Nuestro 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, lector) que acotan lo que pueden hacer allí. Cada acción privilegiada del personal se escribe en un registro de auditoría de solo anexado, con el actor, el objetivo, el motivo y la fuente. La suplantación por parte de soporte, cuando es necesaria, queda restringida al rol de personal más alto, exige escribir una confirmación y un motivo por escrito, tiene un límite de tiempo y queda registrada en la auditoría. Los atajos de autenticación exclusivos de desarrollo están desactivados de forma irrevocable en las compilaciones de producción.
6. Refuerzo 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 aplicación de escritorio verifica la firma de cada actualización antes de instalarla, de modo que una actualización manipulada se rechaza. Las comprobaciones de actualización respetan la política de red: si un runtime está configurado como sin conexión, la aplicación no contacta con el servidor de actualizaciones.
8. Supervisión y respuesta ante incidentes
Usamos herramientas de monitorización de errores en la API y en el panel web, configuradas para excluir cabeceras 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 se produce una brecha de datos personales, lo notificaremos a los usuarios afectados y a las autoridades competentes en los plazos que exige la ley.
9. Proveedores de servicios
Convira se apoya en un pequeño conjunto de proveedores verificados - pagos (Stripe), alojamiento de base de datos y backend (Supabase), protección frente a bots (Cloudflare), alojamiento del sitio web y analítica sin cookies (Vercel), monitorización de errores (Sentry) y los proveedores de modelos de IA (Anthropic, OpenAI, Google, xAI). La lista actual, qué hace cada uno y dónde opera aproximadamente está en la Política de Privacidad.
10. Tu parte
La seguridad es cosa de todos. Algunas cosas que importan:
- Usa una contraseña segura y única para tu cuenta de Convira.
- Mantén la aplicación actualizada - se actualiza sola, pero no te quedes con una versión de hace meses.
- Actúa con criterio sobre lo que conectas y los permisos que concedes al agente; lee las solicitudes de aprobación.
- Para el trabajo más sensible, utiliza el runtime local o un Private Box y mantén desactivadas las herramientas en línea gestionadas 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 - dínoslo.
11. Informar de una vulnerabilidad
Si crees que has encontrado una vulnerabilidad de seguridad en Convira, comunícanoslo en security@convira.ai. Incluye los detalles suficientes para reproducirla - componente o URL afectados, pasos e impacto - y, si puedes, una prueba de concepto.
Lo que te pedimos:
- Danos un plazo razonable para investigar y solucionar el problema antes de divulgarlo públicamente.
- No accedas a datos que no sean tuyos, ni los modifiques o elimines; usa únicamente cuentas y datos de prueba que controles.
- No lances ataques que degraden el servicio para los demás (denegación de servicio, spam, fuerza bruta contra cuentas reales) ni utilices ingeniería social contra nuestro personal o nuestros usuarios.
- No exijas un pago a cambio de no divulgar la información.
Lo que puedes esperar de nosotros:
- Acusaremos recibo de tu informe y te mantendremos al tanto mientras trabajamos en él.
- Si lo deseas, te daremos crédito público cuando el problema esté resuelto. Actualmente no tenemos un programa remunerado de recompensas por fallos.
- No emprenderemos acciones legales contra la investigación de buena fe que siga estas pautas.
12. Preguntas
Preguntas sobre seguridad o 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 modificaremos la fecha que figura arriba.