Seguridad
El lugar más seguro para tu trabajo es la computadora en la que ya está.
Convira es un agente de escritorio, así que lo más fuerte que podemos decir sobre tus datos no es una política sino una forma: en una ejecución en la nube no hay ninguna tabla en nuestra base de datos para lo que escribiste, lo que respondió el modelo o lo que hicieron las herramientas. No es una norma que prohíbe leerlo. No hay columna que leer.
- Empresa de la UE · Convira OÜ · 17268095
- Alojado en la UE · base de datos y API
Eliminado antes de escribir nada
- Instrucción
- Respuesta
- Razonamiento
- Rutas de archivo
- Entrada y salida de herramientas
Todo lo que queda por almacenar
- Estado
- Marcas de tiempo
- Modelo
- Duración
- Créditos
Cada evento de ejecución cruza en nuestro código una única frontera que elimina los campos de contenido según una lista antes de que se escriba nada. La ejecución en sí vive en tu dispositivo.
Pruebas
Cosas que puedes comprobar sin fiarte de nuestra palabra.
Un certificado es una forma de dejar que otro haga la comprobación. No tenemos ninguno, así que aquí está el material para que la hagas tú mismo.
- Cada artefacto de una versión está firmado con SigstoreLa firma no usa claves persistentes y el certificado nombra el flujo de trabajo que produjo la compilación, así que la firma dice qué canalización creó esos bytes y no solo que alguien tenía una clave. Cada versión lleva su paquete.
cosign verify-blob --bundle FILE.release.sigstore.json --certificate-identity-regexp '/desktop-release.yml@' --certificate-oidc-issuer https://token.actions.githubusercontent.com FILE
- Cada compilación se publica con su lista de materialesUn SBOM CycloneDX por plataforma, publicado como recurso de la versión junto al instalador, con el grafo de npm y los crates de Rust con los que está construida la criptografía. Pásalo a tu propio escáner.
- La procedencia de la compilación viaja con el binarioCada plataforma publica una declaración firmada que vincula el artefacto con el commit y la ejecución del flujo de trabajo que lo construyó, y el trabajo de publicación se niega a publicar si esas firmas no cuadran.
- Los instaladores también los firman los fabricantes de la plataformaNotarización de Apple en macOS, Authenticode en Windows. El actualizador de escritorio comprueba la firma de una actualización antes de instalarla, de modo que una actualización manipulada se rechaza.
- La base de datos de tu equipo está cifradaTus ejecuciones y sesiones viven en una base de datos SQLCipher local cuya clave guarda el almacenamiento seguro del sistema operativo. Una compilación empaquetada se niega a arrancar si esa protección no está disponible, en lugar de caer en texto plano.
- Los investigadores tienen una vía documentadaUn security.txt según RFC 9116 nombra una política de divulgación con tiempos de respuesta y puerto seguro para la investigación de buena fe. Esa página es accesible incluso mientras el resto de este sitio está restringido.
Dónde viven tus datos
Tres formas de ejecutar una tarea, y se diferencian justo en esto.
El que elijas decide qué sale de tu equipo. Nada más en esta página importa tanto como esta tabla.
- LocalEn tu hardware
- Se ejecuta en
- Tu equipo, con modelos que tú alojas
- Registro
- Tu equipo, en la base de datos local cifrada
- Llega hasta nosotros
- Tráfico de cuenta y licencias. Una herramienta de pago de web, medios o conectores envía la entrada de esa herramienta cuando invocas una.
- Private BoxEn hardware que tú operas
- Se ejecuta en
- Un servidor que tú mismo alojas y controlas
- Registro
- Tu dispositivo conserva la copia de referencia
- Llega hasta nosotros
- Tráfico de licencias, más la misma entrada de una herramienta facturada si invocas una. Los dispositivos con acceso a la caja también informan si respondió - una palabra de estado, una vez cada dos minutos y de nuevo cuando esa respuesta cambia -, para que las tarjetas de tu equipo coincidan. El emparejamiento único envía más, una sola vez: la dirección de la caja, sus huellas TLS y su credencial bearer. Conservamos la dirección y las huellas en claro para que el dispositivo de un compañero fije la máquina correcta, y la credencial bearer solo como texto cifrado, sellada con la clave de tu dispositivo. Nunca nada que haya ejecutado.
- NubeEn nuestra infraestructura
- Se ejecuta en
- Nuestra infraestructura, que reenvía la solicitud al proveedor del modelo
- Registro
- Tu dispositivo conserva la copia de referencia
- Llega hasta nosotros
- Solo metadatos operativos. La instrucción y el contexto se reenvían para generar la respuesta y no los conservamos.
Contención
El código que ejecuta el agente queda enjaulado por el sistema operativo.
La propia política de permisos de Convira comprueba cada llamada a una herramienta. Esta es la capa que hay debajo, por si lo que falla es la política.
- macOSDenegar por defecto
- Seatbelt
- sandbox-exec
Un perfil generado con postura de denegación por defecto, de modo que una ruta que no se le concedió a la herramienta es una ruta que no puede abrir.
- LinuxDenegar por defecto
- bubblewrap
- namespaces
- rlimits
Un confinamiento de espacios de nombres. La raíz del sistema de archivos de la herramienta contiene solo los directorios que se le concedieron, así que una ruta que no se le dio no es simplemente ilegible: no está. Una herramienta que se ejecuta sin acceso a la red recibe un espacio de nombres de red cuyo único dispositivo es loopback, por lo que no puede abrir un socket hacia ninguna parte.
- WindowsDenegar por defecto
- AppContainer
- Job Object
Un AppContainer nuevo en cada arranque, sin SID de capacidad, que deniega por defecto la red saliente y el acceso al sistema de archivos en vez de limitar solo la escritura. Un Job Object limita memoria, procesos y CPU.
Comprobamos la mayor parte de esto en tu máquina, y decimos cuál es la parte que no. La primera vez que una herramienta necesita un proceso aislado, Convira ejecuta los controles de recursos en tu máquina real: un shell devuelve los límites que heredó, se mata un grupo de procesos de verdad y el hijo en segundo plano que había lanzado debe morir con él, y en Linux una reserva mayor que el tope debe fallar mientras que una menor bajo un tope generoso lo consigue; un control cuya comprobación no pasa se reporta como ausente durante el resto de esa sesión. El aislamiento de archivos y de red solo se comprueba así en Windows, lanzando contra él un proceso confinado de verdad; en macOS y Linux esos dos se dan por la presencia del propio entorno aislado del sistema operativo en lugar de ejercitarse. Cuando una herramienta necesita un aislamiento que el equipo no puede dar, la herramienta se retira en lugar de ejecutarse sin él: el código escrito por el modelo se rechaza de plano en vez de ejecutarse sin confinamiento. La excepción es una lista breve de utilidades que Convira invoca por su cuenta y que el modelo no puede escribir - git, extracción de archivos comprimidos, OCR - que conservan una vía de compatibilidad más estrecha si el entorno aislado de denegación por defecto no carga en tu máquina.
Límites
Lo que no afirmamos.
Esta sección es la razón para creer el resto. Es la parte que un proveedor no tiene ningún incentivo para escribir, y está escrita antes que nada.
- Sin certificación SOC 2 ni ISO 27001Hoy no tenemos ninguna de las dos. SOC 2 es el primer encargo previsto en cuanto el volumen de negocio justifique su costo, y nombraremos a la firma y el plazo cuando empiece, en vez de presentar un plan como si fuera una credencial.
- Sin revisión externa de la criptografíaNadie fuera de esta empresa la ha revisado. Nuestro propio conjunto de pruebas de red team es una evidencia para nosotros, no un resultado que publicar como hallazgo de un tercero.
- Todavía sin inicio de sesión únicoLas cuentas usan una contraseña más un código enviado por correo. Hoy no hay opción SAML ni OIDC para las cuentas de cliente.
- El Acuerdo de Tratamiento de Datos se redactó internamenteEstá publicado y se aplica automáticamente, y no ha pasado por asesoría jurídica externa. Lo hará antes de la primera firma empresarial, y el propio acuerdo lo dice en su primera sección.
- Existen metadatos de entregaNuestros servidores ven a qué espacio de trabajo y canal fue un mensaje, qué tamaño tenía y cuándo. Así funciona la entrega. Ciframos el contenido; no afirmamos que no haya metadatos.
- Local significa inferencia local, no herméticoEn el entorno local, una herramienta de pago de web, medios o conectores sigue enviándonos la entrada de esa herramienta, porque las claves de esos servicios son nuestras y permanecen en el servidor. Todo lo que la rodea se queda en tu equipo.
Disciplina
Lo que impide que esta página se desvíe.
Los textos de marketing se degradan más rápido que el software. Estas son las comprobaciones que hacen fallar nuestra compilación cuando ocurre.
- Un estatuto de frases que no podemos escribirUna comprobación revisa cada archivo de este sitio que menciona Team Hub y hace fallar la compilación ante una afirmación excesiva, en inglés y en las once traducciones, porque cuatro traductores convirtieron una vez una afirmación acotada en una universal.
- Borrar una divulgación también hace fallar la compilaciónLa misma comprobación fija los límites concretos que esta página debe llevar. Un párrafo de límites eliminado sin ruido en una reescritura es una compilación en rojo, no una mejora silenciosa del texto.
- La afirmación sobre el cifrado se ejercita, no se declaraUn conjunto de pruebas recorre las rutas reales de colaboración con sellado real del lado del cliente y una cadena marcadora dentro de cada texto en claro, y luego comprueba que el marcador no llega a ninguna columna de la base de datos, ningún objeto almacenado ni ningún evento en vivo.
Para una revisión de seguridad
El paquete para compras, autoservicio.
No hace falta una llamada comercial para llegar a los documentos. Lo que estos no respondan, escríbelo a security@convira.ai.
- CumplimientoSituación de las certificaciones y las notas de arquitectura en profundidad
- Acuerdo de Tratamiento de DatosSe aplica automáticamente, imprimible
- Subencargados del tratamientoQuién trata qué, con 30 días de aviso de cambios
- Divulgación de vulnerabilidadesAlcance, tiempos de respuesta, puerto seguro
El modelo de seguridad completo
Seguridad en Convira
Última actualización: 19 August 2026
Convira ejecuta un agente de IA que toca tus archivos, tus herramientas y - si así lo eliges - la nube. Por eso la seguridad define los límites de lo que ese agente puede hacer. 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 decimos ser invulnerables. Lo que sí podemos decir es que la arquitectura está construida para que tu 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 |
| Nube | 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.
Team Hub
Team Hub no es un cuarto entorno de ejecución - no ejecuta ningún agente ni produce un registro de ejecución -, pero es donde vive en nuestros servidores el contenido compartido de un equipo, así que va junto a la tabla y no dentro de ella. Los mensajes, tableros, archivos compartidos y nombres de canal de un equipo los guardamos nosotros. Otro tipo de contenido puede vivir ahí: si activas la sincronización opcional en la nube para skills y conocimiento del proyecto, ese texto se almacena de nuestro lado como filas comunes de base de datos, como describe la sección de cifrado más abajo.
Se guardan como texto cifrado que no podemos abrir. Las claves de contenido se crean en los dispositivos de los miembros y se envuelven para el dispositivo de cada compañero; ningún servidor de Convira tiene una clave que abra un mensaje, una actualización de tablero, el nombre de un canal o un adjunto. La búsqueda se ejecuta en tu dispositivo, porque el nuestro no podría hacerla por ti.
Lo que nuestros servidores sí ven es lo que la entrega necesita: qué espacio de trabajo y qué canal, un número de secuencia, una época, un tipo de contenido, un tamaño, un hash, qué cuenta lo subió y cuándo. Otras tres cosas se guardan en claro porque las funciones que las usan no podrían funcionar de otro modo: qué dos cuentas están en un mensaje directo, que un integrante identificado reaccionó a un mensaje identificado - nunca con qué emoji - y quién confirmó haber leído un anuncio que pedía confirmación, y cuándo.
Tres límites, dichos en vez de sobreentendidos. Borrar un mensaje quita nuestra copia y las copias en los dispositivos de tus compañeros; lo que no alcanza es una copia que ya salió de la aplicación: una exportación o una captura de pantalla. Un mensaje directo registra qué dos cuentas están en él - lo guardamos en claro para poder entregarlo, y nada de lo que se dijo. Y en el formato de clave actual un dispositivo acepta una rotación de clave hacia adelante bajo nuestra palabra: si eso llegara a pasar, la aplicación levanta una alerta de confianza y deja de tratar la identidad como verificada, en lugar de aceptar la clave nueva en silencio.
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, que se aplica siempre que el sistema anfitrión lo proporciona. Las primitivas que usa son:
- Linux: un confinamiento de espacios de nombres con
bubblewrap. La herramienta recibe una raíz de sistema de archivos nueva que contiene solo los directorios que se le concedieron, más las rutas de sistema de solo lectura que necesita para arrancar; cualquier otra cosa no es simplemente ilegible, es que no está. Obtiene su propio espacio de nombres de identificadores de proceso y, si se ejecuta sin acceso a la red, su propio espacio de nombres de red cuyo único dispositivo es loopback, así que no hay ninguna ruta fuera de la computadora en la que abrir un socket. - macOS: un perfil de Seatbelt (
sandbox-exec) con una postura de denegación por defecto. - Windows: un AppContainer nuevo en cada arranque, creado sin SID de capacidad, lo que deniega por defecto la red saliente y también el sistema de archivos, ya que un directorio que no se le concedió a la herramienta no tiene ninguna entrada para la identidad de ese contenedor. Un Job Object sobre el mismo proceso limita memoria, procesos y CPU.
Comprobamos la mayor parte de esto en tu máquina, y decimos cuál es la parte que no. La primera vez que una herramienta necesita un proceso aislado, Convira ejecuta los controles de recursos en tu máquina real: un shell devuelve los límites que heredó, se mata un grupo de procesos de verdad y el hijo en segundo plano que había lanzado debe morir con él, y en Linux una reserva mayor que el tope debe fallar mientras que una menor bajo un tope generoso lo consigue; un control cuya comprobación no pasa se reporta como ausente durante el resto de esa sesión. El aislamiento de archivos y de red solo se comprueba así en Windows, lanzando contra él un proceso confinado de verdad; en macOS y Linux esos dos se dan por la presencia del propio entorno aislado del sistema operativo en lugar de ejercitarse. Cuando una herramienta necesita un aislamiento que el equipo no puede dar, la herramienta se retira en lugar de ejecutarse sin él: el código escrito por el modelo se rechaza de plano en vez de ejecutarse sin confinamiento. La excepción es una lista breve de utilidades que Convira invoca por su cuenta y que el modelo no puede escribir - git, extracción de archivos comprimidos, OCR - que conservan una vía de compatibilidad más estrecha si el entorno aislado de denegación por defecto no carga en tu máquina.
Código abierto. La capa de confinamiento descrita arriba está publicada bajo Apache 2.0 como convira-sandbox: los perfiles Seatbelt de macOS, los argumentos de espacios de nombres y montajes de bubblewrap en Linux, el código de AppContainer y Job Object de Windows, y las comprobaciones que deciden si un control se informa como aplicado. Publicar el código no demuestra que la versión que instalaste lo contenga; lo que te da es la capacidad de leer qué hacen esas comprobaciones, ejecutar el conjunto de pruebas por tu cuenta y observar en tu propia computadora si se comporta así.
La ejecución de código en la nube tiene un límite distinto: corre dentro de un entorno aislado de espacios de nombres con bubblewrap, dentro del contenedor del worker de la API - con su propia raíz de sistema de archivos, su propio espacio de nombres de identificadores de proceso y su propio espacio de nombres de red. Si ese entorno aislado no está disponible en el host, la herramienta se niega a ejecutarse en lugar de recurrir a un proceso sin confinamiento. Los resultados de la herramienta exponen la procedencia del aislamiento para que el agente y la interfaz puedan ver bajo qué aislamiento corrió realmente cada llamada.
Salida de red. La mayor parte del 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 usa de forma predeterminada el nivel restringido y puedes desactivarlo por completo, y el proxy puede funcionar en modo auditoría (registrar todo) o en modo aplicación (bloquear y, si quieres, preguntarte).
Dos cosas no pasan por él, y preferimos nombrarlas antes que dejar que el párrafo anterior las dé por cubiertas. Git por red - clonar, hacer fetch, pull y push, abrir un pull request - y la instalación de las dependencias de tu proyecto usan sus propias herramientas, que se conectan directamente: sin proxy, sin lista de dominios permitidos. Se rigen por el Modo Sin Conexión y no por el interruptor de Acceso Web, porque hacer push a tu propio repositorio no es navegar. Convira solo inicia sesión en github.com, pero git en sí acepta cualquier dirección https a la que se le apunte, así que un repositorio que no hayas leído puede nombrar un host que nosotros no verificamos. Hacer push y abrir un pull request te preguntan antes de ejecutarse.
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 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. Nuestra base de datos está cifrada en reposo. Además, ciertos valores sensibles almacenados - por ejemplo, las credenciales y la configuración de las integraciones que conectas - se cifran a nivel de aplicación con AES-256-GCM, usando claves por propósito derivadas de una clave maestra con HKDF-SHA256 y con soporte para rotar esa clave. El texto extraído de las skills y del conocimiento del proyecto que eliges sincronizar para la búsqueda en la nube se almacena como filas comunes de base de datos para que la recuperación pueda leerlo - cubierto por el cifrado en reposo de la base de datos, no por esa capa adicional. Las contraseñas nunca se almacenan ni se cifran de forma reversible - se procesan con hash mediante Argon2id (un algoritmo moderno de alto consumo de memoria). Los tokens de sesión, los códigos de verificación de correo, los tokens de restablecimiento de contraseña y otros secretos similares se guardan solo como hashes, son de un solo uso cuando corresponde y expiran. Las claves API de proveedores de modelos externos se mantienen en el entorno de nuestro servidor, no en la base de datos.
En tu dispositivo. La app de escritorio guarda la copia autoritativa de tus ejecuciones y sesiones en una base de datos SQLite local cifrada con 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 proveedores de modelos. Las credenciales de terceros que sí conserva - tu token de inicio de sesión de GitHub, y los tokens de inicio de sesión y la configuración de los servidores MCP que conectas - se guardan cifradas bajo la misma protección del sistema operativo.
Private Box. Un Private Box autoalojado se licencia con tokens de corta duración firmados con Ed25519. Durante la vinculación única, el box envía su credencial bearer a Convira por TLS; Convira la sella en memoria con la clave de tu dispositivo (acuerdo de claves X25519 + XChaCha20-Poly1305) y almacena solo el texto cifrado. Cuando agregas miembros al equipo, tu propia app de escritorio vuelve a sellar esa credencial con la clave de dispositivo de cada miembro, así que esas entregas nunca exponen el texto plano a 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
Las sesiones se respaldan en el servidor: el token de la cookie de tu navegador se compara con un hash almacenado, la cookie es HttpOnly, Secure en producción y SameSite=Lax, y las sesiones expiran. Los inicios de sesión fallidos tienen límite de frecuencia. La app de escritorio se autentica con tokens sin conexión de corta duración firmados asimétricamente (Ed25519) que incluyen protecciones anti-retroceso, para que un reloj atrasado no pueda extenderlos. La falsificación de solicitudes entre sitios se bloquea con un token de doble envío más una verificación de origen, comparados en tiempo constante.
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. La API y el sitio web envían encabezados estándar de fortalecimiento - HSTS (con preload en el sitio de marketing), una Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, una Referrer-Policy restrictiva y una Permissions-Policy que desactiva la cámara, el micrófono y la geolocalización. La API solo acepta solicitudes de origen cruzado desde una lista explícita de nuestros propios orígenes. Los formularios públicos están protegidos con Cloudflare Turnstile y campos honeypot, y tienen límite de frecuencia.
Escritorio. La app de Electron ejecuta la interfaz con el aislamiento de contexto activado, la integración de Node desactivada y el sandbox del renderizador habilitado. El renderizador se comunica con el resto de la app solo a través de un puente preload reducido cuyos mensajes se validan por esquema, y funciona bajo una Content-Security-Policy estricta (default-src 'self', sin plugins, sin framing, Trusted Types para los scripts). Las solicitudes de permisos del contenido web se deniegan, salvo una lista breve de excepciones.
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), hosting de la API (Railway), base de datos (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 completa - incluida la infraestructura de búsqueda, correo, colas y conectores -, lo que hace cada uno y dónde opera aproximadamente están en nuestra página de subencargados del tratamiento.
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 algo se ve mal - una falla, 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 trabajamos en él.
- Cuando el problema esté resuelto te daremos el crédito, si así lo quieres. Hoy no tenemos un programa pagado de recompensas por errores.
- No emprenderemos acciones legales contra la investigación de buena fe que siga estas pautas.
Nuestra política de divulgación de vulnerabilidades completa establece el alcance, los tiempos de respuesta a los que nos comprometemos y las condiciones de puerto seguro para la investigación de buena fe.
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.