Documentación / Seguridad

Sandbox y permisos

Dónde puede trabajar el agente, qué hace sin preguntar y qué siempre espera tu aprobación.

El agente trabaja dentro de un perímetro que el motor de Yuli aplica en cada operación. Tú decides cuánto se extiende ese perímetro y cuánto puede hacer el agente sin preguntarte.

Dentro y fuera del proyecto

Por seguridad, el agente y el panel de proyecto solo pueden crear, mover, copiar o borrar archivos dentro del proyecto abierto.

Dónde Qué pasa
Dentro del proyecto El agente trabaja según la autonomía configurada. Cada cambio pasa por la ventana de cambios.
Carpeta autorizada fuera del proyecto Puede leer, o leer y escribir, según lo que elegiste.
Cualquier otra ruta o un cambio en el equipo Siempre te pide confirmación.

Dar acceso a otra carpeta

  1. Abre Proyecto → Acceso a carpetas….
  2. Pulsa Agregar carpeta… y elígela en el diálogo del sistema.
  3. Elige Lectura y escritura o Solo lectura para esa carpeta.
  4. Para revocarlo, pulsa Quitar acceso.

Los permisos son por proyecto. Una carpeta nueva se agrega con lectura y escritura; cámbiala a solo lectura si solo necesitas que el agente consulte.

Confianza del proyecto

La primera vez que abres un proyecto, Yuli pregunta «¿Confías en este proyecto?». Confiar permite ejecutar procesadores de anotaciones (Lombok) y tareas de compilación (Maven/Gradle) del proyecto para un análisis completo.

Opción Qué hace
Confiar Ejecuta Lombok y Maven/Gradle para resolver dependencias. Análisis completo.
Modo restringido No ejecuta código del repositorio: javac analiza con -proc:none, Lombok se modela internamente y solo se usa el classpath ya guardado.

Cambia la decisión en Proyecto → Opciones globales… → Seguridad → Proyectos de confianza: Confiar, Restringir, Olvidar o Volver a preguntar al abrirlo.

La confianza solo afecta a la inteligencia de código y al build. No cambia los permisos del agente.

Cuánto hace el agente sin preguntar

El motor evalúa cada acción y le asigna un nivel de riesgo (bajo, medio, alto o crítico) con una explicación y cómo deshacerla. Según el preajuste de autorización, aprueba solo lo seguro o te pregunta.

Preajuste Modificar un archivo Crear un archivo Ejecutar un comando Borrar
Cauteloso Pregunta Pregunta Pregunta Pregunta
Equilibrado (por defecto) Solo Pregunta Pregunta Pregunta
Autónomo Solo Solo Solo Pregunta

Mientras el agente te pregunta en cada paso, sobre el cuadro del chat aparece «¿Aprobar todo?». Aprobar todo pasa a Autónomo: el agente edita, reemplaza y lanza sin pedirte aprobación en cada paso, y la ventana de cambios y el rollback lo deshacen. Seguir preguntando lo descarta.

Qué sube el riesgo

  • Borrar archivos o tocar rutas fuera del proyecto.
  • Migraciones y archivos .sql.
  • Configuración de producción (application-prod, Terraform, Kubernetes, Helm).
  • Manifiestos de dependencias.
  • Cambios en muchos archivos a la vez.
  • git push, merge o reescribir el historial.
  • Secretos en el contenido.
  • Acceso a red (curl, scp, ssh, docker push, npm publish, mvn deploy).
  • DROP, TRUNCATE o DELETE FROM.

Autonomía avanzada

Agente → Autonomía… abre las reglas para que las propuestas se apliquen solas. Viene apagada: revisas cada propuesta antes de que llegue al disco.

Ajuste Qué hace
Máximo de archivos por turno Por encima de este número, pide autorización.
Rutas permitidas (pathsAllow) Globs donde se puede aplicar solo, por ejemplo src/**. Vacío permite cualquier ruta no denegada.
Rutas denegadas (pathsDeny) Globs que siempre requieren autorización humana, por ejemplo **/.env.
Requerir verificación aprobada Solo aplica solo si la verificación del proyecto está en verde.

Las rutas denegadas por defecto incluyen **/.env, **/.env.*, **/credentials*, **/*.pem, **/*id_rsa*, **/.ssh/** y **/migrations/**.

Rutas que siempre piden confirmación

Ningún preajuste puede saltar estos casos. Escribir en una ruta que contenga .env, credentials, secret, id_rsa, .pem, .git/ o .ssh/ siempre pide tu confirmación.

Además, el contrato de calidad protege el propio contrato, los hooks de Git y los archivos de CI: un agente no los puede editar.

Git, CI y DevOps: solo si lo pides

El agente no hace commit, push, merge, rebase, tags ni operaciones de CI por iniciativa propia. Se bloquean comandos como git commit, git push, gh, glab, az pipelines, az repos y las herramientas de servidores MCP de GitHub, GitLab, Jenkins o CloudBees.

  1. Yuli detecta en tu mensaje un pedido explícito, en español o inglés: «haz commit», «súbelo», «push», «crea un PR», «despliega»…
  2. Con el pedido, Git queda habilitado para esa sesión.
  3. Aun así, cada acción pide tu aprobación.

Crear una rama o un worktree necesita su propio pedido explícito. Aunque pidas «haz commit y push», el agente trabaja en la rama actual.

Clientes de base de datos bloqueados

El agente no puede usar clientes de base de datos por línea de comandos: sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman y similares. Toda consulta pasa por las herramientas de Yuli y su política. Ver Base de datos segura.

En Modo suscripción

Con Claude Code, Kiro, Codex o Antigravity rigen las mismas reglas. Yuli las aplica con hooks y como cliente ACP:

  • Dentro del proyecto, el agente trabaja sin interrupciones; fuera, te pregunta.
  • Git, CI y ramas solo si los pides.
  • Los secretos nunca se leen.

En Opciones globales → IA y modelos → Modo de IA puedes desactivar Hacer cumplir las reglas para pasar a «Solo avisar»: Yuli informa lo que falta, pero no bloquea. Git y secretos siempre se protegen.