8 min de lectura

Agentes de IA que actualizan trackers de incidencias sin perder el control

Los agentes de IA que actualizan trackers de incidencias necesitan controles precisos por campo, procedencia clara de los estados, aprobaciones seguras y registros de auditoría que resistan los incidentes.

Agentes de IA que actualizan trackers de incidencias sin perder el control

Un agente que puede actualizar un tracker de incidencias puede cambiar un trabajo del que las personas ya dependen. Una sugerencia de código incorrecta es fácil de rechazar. Una asignación equivocada puede interrumpir a alguien, un estado falso puede iniciar automatizaciones posteriores y un comentario verosímil puede ocultar la decisión real. Trata las actualizaciones del tracker como acciones con consecuencias, no como una edición de texto inofensiva.

El control al que la mayoría de los equipos recurre primero es un prompt mejor: «Mueve las incidencias solo a In Progress» o «No asignes personas». Eso mejora el comportamiento, pero no crea un límite. El agente sigue teniendo una credencial capaz de enviar cualquier solicitud que esa credencial permita. El límite debe estar fuera del agente, donde una llamada accidental a una herramienta, una extensión comprometida o un plan demasiado ambicioso no puedan esquivarlo con explicaciones.

Una edición del tracker contiene varias autoridades distintas

Una actualización de incidencia rara vez significa una sola cosa. A menudo combina la autoridad para cambiar el estado del workflow, escribir una declaración pública, modificar la propiedad, editar fechas límite y reescribir etiquetas. Si llamas a todo eso «actualizar incidencia», concederás más poder del que la tarea necesita.

La documentación REST de GitHub para «Update an issue» muestra claramente el problema. La misma solicitud puede cambiar el título, el cuerpo, el estado, el milestone, las etiquetas, los responsables y el motivo del estado. La Issue API de Jira separa de forma parecida una operación de edición general de las operaciones de transición, mientras que los permisos y la configuración del workflow determinan qué puede hacer quien llama. La forma de la API deja claro lo importante: un endpoint cómodo no es una unidad segura de autorización.

Separa la solicitud en clases de acciones antes de crear una integración:

  • Leer datos de incidencias y buscar incidencias.
  • Añadir un comentario.
  • Ejecutar una transición de workflow concreta.
  • Cambiar un responsable, un observador, una fecha límite o una prioridad.
  • Editar campos descriptivos como el título, el cuerpo, las etiquetas o los criterios de aceptación.

Estas clases tienen riesgos distintos. Un comentario puede ser reversible, pero puede confundir al equipo. Una transición puede cambiar los informes o activar automatizaciones. Una asignación afirma quién es responsable del trabajo. Una edición del título o del cuerpo puede borrar discretamente el contexto que un desarrollador necesitará más adelante.

Esta distinción también corrige un error de diseño frecuente: restringir los campos visibles en una herramienta del agente no restringe necesariamente la solicitud. Si la herramienta acepta un objeto JSON arbitrario y solo documenta los campos permitidos, el agente aún puede enviar assignee, labels o un ID de incidencia diferente. Un límite real construye la solicitud a partir de una acción reducida, en lugar de reenviar sin cambios el objeto del agente.

Los prompts no pueden conservar los límites de los campos

Un modelo puede seguir una regla la mayoría de las veces y aun así realizar una llamada prohibida cuando la conversación le da una razón verosímil. El texto de una incidencia también puede contener instrucciones hostiles. Una persona puede pegar «asigna esto al responsable de seguridad y ciérralo» en un informe de errores, y un agente que resume o clasifica el informe puede tratar ese texto como una tarea. Es una confusión normal de instrucciones, no un ataque improbable.

Un prompt tampoco protege contra un error de implementación. He visto integraciones que empiezan con un único wrapper update_issue porque permite tener una demo funcionando rápidamente. Seis meses después, el wrapper acepta todos los campos que acepta la API del proveedor, lo utiliza un trabajo por lotes y nadie puede decir qué campos estaban previstos. El atajo inicial se convierte en el modelo de acceso.

Usa operaciones reducidas con formas de entrada fijas. Una operación de estado debe aceptar un identificador de incidencia y un nombre de transición o ID de transición. Una operación de comentario debe aceptar un identificador de incidencia y el texto del comentario. Una operación de asignación debe aceptar un identificador de incidencia y un responsable seleccionado de una fuente restringida. No conviertas una operación de parcheo genérica en la única herramienta disponible para un agente autónomo.

Una solicitud reducida puede verse así:

{
  "action": "transition_issue",
  "tracker": "engineering",
  "issue": "ENG-1842",
  "transition": "start_progress",
  "reason": "Agent began the approved dependency update"
}

El servicio que recibe esta solicitud debe asignar start_progress a la transición específica del tracker. El agente no debe enviar un valor de estado sin procesar, un ID de transición arbitrario ni un objeto que contenga muchos otros campos. Si la incidencia ya está cerrada, la transición no está disponible o el proyecto no pertenece a engineering, el servicio rechaza la acción antes de contactar con el tracker.

Esto es menos flexible que un cliente de API genérico. Bien. El objetivo es que la automatización rutinaria siga siendo rutinaria y que las excepciones sean visibles.

Los cambios de estado necesitan un contrato explícito

El estado tiene un problema especial: la gente habla de él como si fuera un campo, pero la mayoría de los equipos lo utiliza como un evento del workflow. «Done» puede significar que el código se fusionó, se desplegó, se verificó, lo aceptó un cliente o simplemente dejó de estar activo. Un agente no puede deducir ese significado de forma segura solo a partir de la etiqueta.

Escribe un contrato de estado para cada transición que pueda realizar un agente. Debe indicar el estado de origen, el estado de destino, las pruebas que debe tener el agente y los efectos que requieren intervención humana. Mantenlo junto al código de integración, no enterrado en un párrafo de una wiki que ninguna ruta de llamada consulta.

Por ejemplo:

TransiciónEl agente puede realizarla cuandoEl agente no debe realizarla cuando
Backlog a In ProgressHa iniciado una tarea concreta, aprobada y vinculada a la incidenciaLa incidencia no tiene una tarea concreta o tiene otro responsable activo
In Progress a BlockedPuede indicar en un comentario la dependencia fallida o la decisión pendienteEl trabajo simplemente ha tardado más de lo previsto
In Progress a Ready for ReviewExiste un conjunto de cambios y el tracker acepta ese significado dentro del workflowLa revisión exige una lista humana que el agente no puede verificar
Ready for Review a DoneNunca de forma predeterminadaLa aceptación pertenece a una persona o a un sistema de versiones independiente

La última fila importa. Los equipos suelen permitir que los agentes cierren incidencias porque así los paneles parecen más ordenados. Eso crea una finalización falsa. Un agente de programación puede informar de que las pruebas han pasado, pero normalmente no puede decidir que el comportamiento del producto se acepta, que la documentación es suficiente o que un cambio operativo se ha producido realmente.

Usa el endpoint de transición del tracker cuando exista. Los workflows de Jira pueden hacer que las transiciones solo estén disponibles en determinados estados, exigir campos o ejecutar validadores. Esos controles ofrecen una aplicación desde el tracker que una simple edición de campo puede saltarse. Aun así, hay que revisarlos: un validador que comprueba solo si existe un comentario aceptará sin problemas un comentario inútil.

No confundas una transición de estado con las pruebas. Guarda las pruebas en un comentario estructurado o en un registro externo y vincula la transición con ese registro mediante un ID. El estado indica qué cambió. Las pruebas explican por qué.

Los comentarios necesitan procedencia, no una autoría simulada

Un comentario de agente debe parecer un comentario de agente. Nunca debe hacerse pasar por un desarrollador, aunque una persona haya aprobado la ejecución. Los tokens humanos compartidos borran la procedencia y el historial del tracker acaba contando una mentira difícil de corregir.

Crea una cuenta de integración específica para cada rol o carga de trabajo del agente. Dale un nombre visible reconocible según las convenciones de tu equipo. Si el tracker solo permite una cuenta de servicio, incluye una línea de atribución estable en cada comentario y conserva la identidad más completa fuera del tracker.

Un formato de comentario que sobreviva a copiar y pegar y a las exportaciones es mejor que una prosa que dependa de una insignia del panel:

[agent: dependency-maintainer]
Action: marked the issue blocked
Reason: the requested package version conflicts with the declared runtime requirement
Evidence: build job 9f31c returned a dependency resolution failure
Run: 4c2a7e

El marcador no demuestra nada por sí mismo. Cualquiera que pueda publicar comentarios puede escribirlo. Su función es facilitar la lectura. La prueba procede de la identidad de integración autenticada y de un diario de acciones que registre la llamada.

No pidas a un agente que escriba comentarios con voz humana para «evitar ruido». Esa instrucción es popular porque los equipos detestan los comentarios robóticos. Aun así, es incorrecta. Un comentario breve, factual y claramente atribuido genera menos confusión que un párrafo persuasivo que los lectores confundan con el juicio de un compañero.

Establece también límites de contenido. Un comentario de agente debe indicar un hecho observado, una siguiente acción propuesta o un resumen conciso con fuentes que realmente haya consultado. No debe publicar secretos de los registros, repetir una conversación privada en un proyecto público, especular sobre el rendimiento de una persona ni afirmar que un despliegue tuvo éxito si no cuenta con un resultado verificado.

En proyectos sensibles, somete el texto del comentario a la misma aprobación que la acción. La persona que aprueba debe ver el texto real, no una promesa de que el comentario será «útil». El significado está en la carga útil.

Asignar es una acción social, no un detalle de enrutamiento

Mantén los tokens del tracker fuera de los agentes
Mantén las credenciales del tracker en el vault cifrado de Sallyport y entrega al agente solo los resultados de la API.

Asignar una incidencia crea una expectativa entre personas. Un agente que asigna un nombre está diciendo, en la práctica, que esa persona debe prestar atención. Es distinto de aplicar una etiqueta de componente o seleccionar una cola de equipo.

Mantén determinista la asignación automática. Algunas opciones válidas son el responsable de código declarado por un repositorio, una guardia obtenida de un sistema autorizado o el responsable actual cuando el agente solo actualiza el estado. Entre las malas opciones están «la persona que hizo un commit cercano», «el ingeniero con menos trabajo» o «la persona mencionada en los comentarios». Esas reglas parecen ingeniosas hasta que crean trabajo no deseado, ignoran conocimiento local o exponen información que el agente no debería utilizar.

Si necesitas sugerencias para el triaje, separa la sugerencia de la asignación. El agente puede escribir una recomendación privada o añadir una etiqueta como needs-owner. Después, una persona asigna la incidencia. Así conservas la velocidad sin pedir a un modelo que tome una decisión social con contexto incompleto.

Un permiso a nivel de proyecto suele ser demasiado amplio para este trabajo. Muchos trackers permiten que una cuenta asigne a cualquier miembro que pueda recibir asignaciones en un proyecto, mientras que el equipo quiere una regla más limitada: conservar solo al responsable actual o asignar únicamente a una guardia. Aplica esa regla más estricta en el gateway de acciones, mediante una lista permitida o una consulta autorizada. No dependas de que el agente la recuerde.

Cuando se realice una asignación, registra el responsable anterior y el nuevo. El cambio visible del tracker puede mostrar solo al responsable actual después de ediciones posteriores. El registro de acciones debe conservar quién lo cambió y durante qué ejecución.

La aprobación debe mostrar la mutación exacta

Una aprobación por sesión de agente sirve para establecer que un proceso conocido puede actuar. No determina si todas las acciones de esa ejecución merecen el mismo nivel de confianza. Una sesión que puede leer diez incidencias quizá pueda hacerlo sin riesgo, mientras que su solicitud para mover una incidencia a Done debe detenerse para revisión.

Diseña las aprobaciones según las consecuencias. Un comentario rutinario y reversible en una incidencia interna puede continuar después de que la sesión reciba aprobación. Una asignación, una transición terminal, un cambio de prioridad o un comentario visible para un colaborador externo deben requerir una decisión independiente. El límite también debe tener en cuenta el volumen. Cincuenta comentarios permitidos en un minuto pueden dañar la señal del proyecto.

La tarjeta de aprobación necesita suficiente información para que una persona pueda rechazar la acción con criterio:

  • Identidad del proceso del agente y ejecución que solicitó la acción.
  • Tracker, proyecto e identificador de la incidencia.
  • Estado o responsable actual y propuesto.
  • Texto completo del comentario o valores exactos de los campos modificados.
  • Efecto secundario previsto, como una notificación o una regla del workflow, cuando se conozca.

Evita textos de aprobación como «¿Permitir acceso de escritura al tracker?». Eso pide aprobar una categoría y oculta la acción concreta. La gente aprueba solicitudes amplias para que el trabajo avance y después la solicitud se convierte en ruido de fondo.

Sallyport utiliza un acceso de vault, autorización por sesión y aprobación opcional por llamada para las credenciales que administra. Este modelo encaja con la automatización de trackers cuando reservas la aprobación por llamada para mutaciones sensibles, pero el gateway sigue necesitando definiciones de acciones reducidas. Una aprobación no puede reparar después una llamada update_issue demasiado amplia.

La fatiga de aprobaciones es un fallo de diseño, no una prueba de que las personas rechacen el control. Si cada lectura inofensiva o transición predecible exige un clic, la gente aprobará sin leer. Reduce las solicitudes reduciendo la superficie de acciones del agente y separando las operaciones normales de las que tienen consecuencias.

El registro de auditoría debe responder quién, qué y por qué

Rastrea la ejecución detrás de cada cambio
Consulta por separado las sesiones de los agentes y las llamadas HTTP individuales, y revoca una sesión cuando sea necesario.

El historial del tracker es útil, pero insuficiente. Puede mostrar que una cuenta de integración cambió una incidencia, pero a menudo no puede indicar qué proceso local inició la llamada, qué se había pedido al agente, si una persona la aprobó o qué respuesta devolvió el tracker. Necesitas un registro de acciones fuera del tracker.

Registra un evento inmutable por cada llamada saliente intentada. Incluye la solicitud antes de transmitirla, el resultado y una identidad que vaya más allá del nombre de la cuenta de servicio. Una forma práctica del registro es:

{
  "event_id": "evt_01JQ...",
  "time": "2025-03-08T14:22:11Z",
  "agent_process": "signed-authority and process instance",
  "session_id": "sess_7d91",
  "approval": "per-call approved",
  "operation": "transition_issue",
  "target": {"tracker": "engineering", "issue": "ENG-1842"},
  "before": {"status": "In Progress"},
  "request": {"transition": "Blocked", "reason": "dependency conflict"},
  "response": {"status": 200, "tracker_change_id": "..."}
}

Redacta las credenciales y las cabeceras que contengan secretos antes de guardar la solicitud. Considera también con cuidado el contenido de los comentarios. Debes registrar el comentario si quieres conservar la responsabilidad posterior, pero el acceso al almacén de auditoría debe corresponderse con la sensibilidad del proyecto.

Usa almacenamiento de solo anexado o una cadena de hashes para que un operador no pueda editar discretamente un evento embarazoso después de un incidente. Sallyport proyecta sus diarios de sesión y de llamadas desde un registro de auditoría cifrado y encadenado mediante hashes, y sp audit verify puede verificar la cadena sin conexión sobre el texto cifrado. Es una propiedad útil cuando necesitas comprobar un registro sin confiar primero en un servicio en ejecución.

Registrar solo después de una solicitud correcta no basta. Registra también las solicitudes denegadas, las llamadas fallidas y los rechazos de aprobación. Una serie de intentos de asignación rechazados puede revelar un bucle del agente o una instrucción maliciosa en el contenido de una incidencia antes de que se produzca un daño visible en el tracker.

Una actualización fallida debe detenerse, no adivinar

La integración peligrosa con un tracker es la que «ayuda» después de recibir un error. Reintenta contra una incidencia parecida, cambia el estado mediante una edición directa después de que falle una transición, elimina un error de validación de un comentario o selecciona al primer usuario coincidente. Estos recursos convierten un fallo contenido en una acción equivocada.

Considera un fallo realista. Un agente recibe la tarea de mover a revisión la incidencia que registra una actualización de dependencia. Busca «dependency update», obtiene varios resultados y selecciona una incidencia antigua con un título parecido. Sus credenciales de actualización amplias le permiten establecer el estado y añadir un comentario. Después observa que falta la etiqueta del revisor esperado y asigna a la persona autora de un cambio relacionado. Cada llamada a la API tiene éxito. El resultado sigue siendo incorrecto de tres formas: incidencia equivocada, estado de workflow falso y asignación no solicitada.

Una implementación más segura hace que la solicitud falle en varios puntos. La persona que llama debe proporcionar un ID exacto de incidencia obtenido de un contexto aprobado previamente. El servicio de transición comprueba que la incidencia tenga el estado de origen y la referencia al repositorio esperados. El agente no puede asignar a nadie mediante la operación de transición. Si quiere añadir un comentario, el sistema solicita una aprobación independiente cuando el proyecto es externo o el texto contiene una afirmación sobre el estado.

Define explícitamente estas reglas de fallo:

  1. Rechaza las referencias ambiguas a incidencias. Una búsqueda por título puede proponer candidatos, pero no puede autorizar una escritura.
  2. Rechaza los estados obsoletos. Si la incidencia cambió después de que el agente la leyera, vuelve a consultarla y exige una decisión nueva.
  3. Rechaza las transiciones no disponibles. Nunca sustituyas una transición por una edición directa de campo solo porque funcione.
  4. Rechaza los usuarios no asignados. Nunca elijas a una persona mediante coincidencias aproximadas de nombres.
  5. Detén los reintentos después de un error semántico. Reintentar un timeout de red es razonable; reintentar «transición no permitida» no lo es.

La idempotencia también importa. Los reintentos de red pueden publicar comentarios duplicados o ejecutar dos veces una transición si el cliente pierde la respuesta. Genera un ID de acción antes de la llamada y guárdalo. Si el tracker admite un mecanismo de idempotencia, envía ese ID mediante el canal compatible. Si no lo admite, comprueba el registro de auditoría y el historial de la incidencia antes de repetir una escritura.

Las credenciales deben autorizar rutas de acción, no el acceso sin procesar

Identifica cada ejecución del agente
Aprueba un proceso de agente recién iniciado antes de que pueda usar una credencial del tracker.

Mantener un token del tracker fuera del contexto del modelo es necesario. Evita que el agente lo imprima, lo envíe a otra herramienta o lo use desde una máquina no aprobada. No limita lo que el servicio de acciones puede hacer con ese token.

Coloca la credencial en un gateway que sea responsable de las llamadas salientes al tracker. El agente solicita una acción concreta. El gateway valida el objetivo, los campos, el contrato de estado, la necesidad de aprobación y los límites de velocidad o volumen antes de inyectar las credenciales y enviar la solicitud. El agente recibe el resultado, no la credencial.

Cuando el tracker admita tokens separados y limitados, utilízalos. Un proceso de lectura no debe compartir una credencial de escritura. Un proceso de comentarios no debe tener permisos de administración ni de configuración del proyecto. Si el tracker solo ofrece un permiso amplio de escritura en el proyecto, el gateway se vuelve más importante porque aplica el contrato reducido que el modelo de permisos del proveedor no puede expresar.

No coloques un token bearer en una variable de entorno disponible para el shell del agente y llames a eso contención. Aunque el token nunca entre en el contexto textual del modelo, los shells, los procesos secundarios, la salida de depuración y los archivos de configuración pueden exponerlo. Conserva el secreto en la aplicación propietaria de las credenciales y haz que el agente interactúe mediante un protocolo local que transporte una solicitud de acción, no un secreto.

Esta arquitectura también hace significativa la revocación. Detén el proceso del agente, revoca su sesión o desactiva su identidad de acción, y el gateway bloqueará de inmediato las llamadas futuras. Si cada agente copió el token sin procesar, revocar significa rotarlo y perseguir copias desconocidas.

Construye la primera integración alrededor de una acción sencilla

Empieza con una sola transición cuyo significado sea inequívoco, como mover una incidencia identificada de forma específica de In Progress a Blocked cuando un sistema de compilación informe de un fallo concreto de dependencia. No empieces con la edición completa de incidencias solo porque el proveedor la haya hecho fácil.

Implementa el contrato de acción, la lista permitida de proyectos, la comprobación del estado de origen, una plantilla explícita de comentario y el evento de auditoría. Después prueba los casos incómodos: un ID de proyecto incorrecto, una incidencia cerrada, dos títulos coincidentes, un estado obsoleto, una aprobación denegada, una respuesta interrumpida y un comentario que contenga un secreto pegado. Si el sistema no puede explicar exactamente qué hará en cada caso, no está listo para funcionar sin supervisión.

El trabajo posterior es menos vistoso que una herramienta de agente genérica, pero sigue siendo comprensible. Añade una clase de acción cada vez y haz que cada nueva autoridad se gane su lugar con una regla clara, una ruta de aprobación visible cuando sea necesaria y registros que sigan teniendo sentido después de un incidente estresante.

FAQ

¿Se puede limitar un agente de IA para que cambie solo el estado de una incidencia?

Solo si el tracker aplica la restricción en el límite de la API o si un límite de credenciales la hace cumplir antes de que la solicitud llegue al tracker. Un prompt que diga «cambia solo el estado» es una instrucción, no un permiso. Dale al agente una cuenta específica con los mínimos permisos disponibles para el proyecto y la incidencia, y coloca un gateway de acciones delante de sus credenciales cuando el tracker no pueda separar los campos correctamente.

¿Cómo sé si una incidencia la cambió un agente o una persona?

Usa una identidad de integración específica y haz que se identifique en cada actualización permitida. En los comentarios, añade un marcador estable como [agent: release-bot]; para los cambios de estado, registra el actor, el ID de ejecución, la hora, el valor anterior y el nuevo valor en un registro externo de acciones. No compartas con un agente el token personal de una persona, porque el tracker atribuiría su trabajo a esa persona.

¿Debe un agente usar transiciones de workflow o un endpoint general de actualización de incidencias?

Prefiere una transición de workflow si tu tracker la admite, porque expresa un cambio de estado concreto y puede activar validaciones del propio tracker. Usa una actualización general de la incidencia solo cuando necesites establecer un campo que ninguna transición cubra. Ninguna de las dos opciones hace segura una credencial amplia, así que revisa el cuerpo real de la solicitud y los permisos.

¿Es seguro permitir que un agente de IA asigne incidencias a personas?

La asignación automática solo es segura cuando la propiedad sigue una regla determinista aceptada por el equipo, como asignar la incidencia a la persona responsable del componente. No permitas que el agente deduzca disponibilidad, antigüedad o responsabilidad a partir de texto y después asigne personas. Eso genera colas de trabajo ruidosas y problemas sociales que la API no puede detectar.

¿Por qué un simple cambio de estado puede causar problemas graves?

Un solo cambio de estado puede activar notificaciones, automatizaciones, temporizadores de nivel de servicio, reglas de despliegue e informes. Trata cada transición como una acción externa con consecuencias para el negocio. Exige una aprobación más estricta para estados finales, estados bloqueados y transiciones que notifiquen a clientes o muevan trabajo entre equipos.

¿Qué debe contener un registro de auditoría de una actualización de incidencias realizada por un agente?

La mayoría de los trackers conservan el valor visible actual, pero no todo el contexto de decisión que necesitas para una acción de agente. Guarda fuera del tracker un registro de solo anexado que contenga la intención de la solicitud, el alcance aprobado, el proceso autenticado, la carga útil exacta enviada, la respuesta y el ID de correlación. El encadenamiento mediante hashes permite detectar modificaciones posteriores.

¿Qué debe mostrar una solicitud de aprobación antes de que un agente edite una incidencia?

Solo evita cambios no aprobados si la persona que aprueba puede inspeccionar el objetivo real y la mutación propuesta. Una tarjeta útil muestra el proyecto, el identificador de la incidencia, el estado actual y el solicitado, el texto del comentario o una vista previa segura, el responsable asignado y los efectos secundarios. Una aprobación que solo diga «¿permitir acceso de escritura al tracker?» delega demasiado.

¿Debe una sola cuenta de agente gestionar comentarios, cambios de estado y asignaciones?

Deben recibir credenciales y acciones permitidas diferentes. El triaje de solo lectura necesita búsqueda y consulta de incidencias; un proceso de estados necesita una única ruta de transición; un proceso de comentarios necesita permiso para crearlos. Combinar estas funciones en un token con privilegios amplios convierte un error del prompt en una autoridad sobre todas las tareas.

¿Qué hago si un agente cambia la incidencia equivocada?

Revoca de inmediato la sesión o la credencial del agente y detén los trabajos pendientes que puedan repetir la acción. Extrae el registro de acciones, identifica cada llamada realizada por ese proceso y compara los valores anteriores y posteriores registrados con el historial del tracker. Corrige el trabajo en el tracker mediante un cambio humano claramente atribuido, en lugar de sobrescribir las pruebas sin dejar rastro.

¿Ocultar el token de API al agente de IA hace segura la automatización del tracker?

No. Un gestor de credenciales puede mantener el token fuera del contexto del modelo, algo necesario, pero no decide si debe ejecutarse una solicitud concreta. También necesitas limitar el alcance de las acciones, exigir aprobación humana cuando las consecuencias lo justifiquen y mantener un registro de auditoría que conecte cada solicitud con el proceso que la realizó.

Sallyport

Sallyport ejecuta llamadas de API y comandos SSH por tu agente de IA. Las claves se quedan en una bóveda local de tu Mac; tú apruebas cada ejecución y cada acción queda en un registro sellado.

© 2026 Sallyport · Código abierto bajo Apache-2.0 · Oleg Sotnikov