allow
Herramientas que aprobaste de antemano
Una regla como Bash(git commit:*) deja pasar ese comando sin detenerse. La regla cubre el comando en sí. Lo que el comando abra una vez en marcha queda fuera de ella.
Claude Code
El sistema de permisos decide qué herramientas puede ejecutar Claude Code. Lo que esas herramientas alcanzan es todos los secretos de tu máquina. Sallyport mueve las claves a un sitio donde el agente nunca las leerá.
Claude Code pregunta antes de ejecutar una herramienta que no hayas permitido. Las reglas viven en settings.json como listas allow, ask y deny, y vale la pena configurarlas bien.
allow
Una regla como Bash(git commit:*) deja pasar ese comando sin detenerse. La regla cubre el comando en sí. Lo que el comando abra una vez en marcha queda fuera de ella.
ask
El caso por defecto. Claude Code te enseña la llamada a la herramienta y espera. Estás revisando una acción, en el momento, con el contexto que tengas a las dos de la mañana.
deny
Una regla deny mantiene la herramienta Read fuera de ./.env. No mantiene fuera del mismo archivo a un comando de shell permitido, y no tiene nada que decir sobre los procesos que arrancan tus dependencias.
bypass
La opción --dangerously-skip-permissions elimina la pregunta por completo. Tiene su propia sección más abajo.
Todas esas reglas gobiernan las herramientas del agente. Ninguna gobierna el archivo que lee una herramienta. Tus tokens de API están en .env, tu clave SSH en ~/.ssh, y ambos los puede leer cualquier proceso que corra con tu usuario, haya confirmación o no.
La gente lo usa por buenas razones: refactorizaciones largas y ejecuciones nocturnas en las que un diálogo de confirmación deja el trabajo parado hasta la mañana. Conviene saber exactamente qué diste a cambio.
Claude Code ya podía leer tus archivos, usar tu shell y salir a la red. La opción quita la pausa en la que lo habrías notado.
La confirmación era una oportunidad de pillar al agente abriendo .env. Nunca fue una barrera alrededor del archivo. Cualquier proceso que corra con tu usuario puede leerlo, incluida la dependencia que npm instaló mientras leías la confirmación.
Una inyección de prompt en una página que se descarga, un README envenenado en una dependencia transitiva, y esas instrucciones caen dentro de una sesión que tiene tus credenciales y ya no tiene confirmaciones.
El modo YOLO te cuesta la oportunidad de darte cuenta. Las claves ya estaban a mano en el modo normal.
Revisión de seguridad
Claude Code lee un diff y señala vulnerabilidades en él, y deberías dejarle hacerlo. Ese trabajo va sobre el código que envías. No dice nada sobre a qué puede llegar el propio agente mientras corre, que es de lo que va esta página. Son problemas distintos, y resolver uno no hace nada por el otro.
Sallyport guarda la credencial y hace la llamada. Claude Code pide una acción y recibe un resultado. Ninguna clave entra en su entorno, así que no hay nada que una confirmación saltada, una dependencia envenenada o una instrucción inyectada puedan llevarse.
01
http.request a api.stripe.com, o ssh.exec en prod-03. Llega por MCP, igual que Claude Code llama a cualquier otra herramienta.
02
Una bóveda bloqueada lo deniega todo. Una clave marcada para aprobación por llamada enseña una tarjeta cada vez. Si no, una tarjeta por ejecución del agente, con la autoridad de firma de código de quien llama.
03
La credencial se adjunta dentro de la app, durante la ejecución. No entra en el entorno del agente, y una redirección a otro host no se la lleva.
04
Cifrado y encadenado por hash mientras ocurre la acción. Puedes averiguar qué se ejecutó sin depender de la versión que dé el agente.
A partir de ahí, ejecuta Claude Code como te venga bien, con confirmaciones o sin ellas. La decisión que importaba ya no está en el agente.
Sallyport vive en la barra de menús y aloja la bóveda en su propio proceso. No hay demonio ni cuenta.
El onboarding crea la bóveda y activa su puerta de Touch ID.
brew install --cask olegsotnikov/tap/sallyportClaude Code recoge http.request, ssh.exec y cualquier servidor MCP upstream que hagas pasar por Sallyport.
claude mcp add sallyport -- /Applications/Sallyport.app/Contents/MacOS/sp mcpGuarda la credencial en la bóveda, vincúlala a su host y quítala del .env. Marca para aprobación por llamada las que te den miedo.
stripe → api.stripe.com · aprobación por llamadaUnos dos minutos. A partir de ahí las únicas confirmaciones que ves son las de Sallyport, y todas van de infraestructura real: esta clave, este host, esta llamada.
Descarga gratis. Apple Silicon, macOS 14 o posterior. Sin cuenta, nunca.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon