Saltar al contenido

Cómo funciona

Gobernanza de Claude Code y Codex autenticados por suscripción

El agente más difícil de gobernar se autentica con una suscripción personal o corporativa. La solución tentadora — intermediar la suscripción — es algo que no construiremos. Así es como gobernamos sin intermediar.

El agente más difícil de gobernar es aquel en el que un desarrollador ha iniciado sesión con una suscripción personal o corporativa: Claude Code con Pro/Max, o Codex con ChatGPT. Se ejecuta en un portátil, se autentica con una credencial OAuth, y es exactamente la superficie que un guardrail de proveedor cloud en la ruta de inferencia nunca ve (véase la comparativa con gateways). La “solución” tentadora — poner un servicio delante que retenga la suscripción y encamine su tráfico — es algo que Olivares AI no va a construir, porque los proveedores de modelos lo prohíben y porque convertiría nuestro control plane en un punto único de compromiso de credenciales.

Esta página es la descripción honesta de cómo gobernamos estos agentes sin intermediar jamás la suscripción: qué observamos, dónde aplicamos la política, y el único camino estrecho en el que un gateway es apropiado (y nunca es el de la suscripción).

La línea roja: nunca encaminamos tu suscripción. Olivares AI nunca retiene, proxifica ni encamina una credencial de suscripción de terceros. La propia política de Anthropic establece: “Anthropic does not permit third-party developers to offer Claude.ai login or to route requests through Free, Pro, or Max plan credentials on behalf of their users” (Claude Code legal & compliance, consultado 2026-06-21 — la prohibición nombra los tres planes de consumo Free, Pro, Max). Los términos de OpenAI funcionan de la misma manera para un inicio de sesión de consumidor de ChatGPT/Codex. Nuestra postura es más estricta que la propia línea: no encaminamos ningún OAuth de suscripción, de ningún plan. La gobernanza ocurre alrededor del agente, nunca dentro de su credencial.

Por qué intermediar la suscripción está descartado

Merece la pena ser preciso con la regla, porque el asesor legal de un comprador la verificará. La política de Anthropic traza dos listas que no deben confundirse:

  • Quién puede usar OAuth en absoluto — cinco planes: “OAuth authentication is intended exclusively for purchasers of Claude Free, Pro, Max, Team, and Enterprise subscription plans and is designed to support ordinary use of Claude Code and other native Anthropic applications.”
  • Qué no puede hacer un tercero — encaminar en nombre de los usuarios: “Anthropic does not permit third-party developers to offer Claude.ai login or to route requests through Free, Pro, or Max plan credentials on behalf of their users.”

La prohibición nombra explícitamente los planes de consumo (Free, Pro, Max). La página no concede, en sentido contrario, permiso a nadie para encaminar puestos Team o Enterprise — guarda silencio al respecto, y no interpretamos el silencio como una licencia. Para desarrolladores que construyen herramientas, la propia guía de Anthropic apunta lejos del OAuth de suscripción por completo: “Developers building products or services that interact with Claude’s capabilities, including those using the Agent SDK, should use API key authentication through Claude Console or a supported cloud provider.” (source; separación por tipo de plan: Team/Enterprise/API bajo Commercial Terms, Free/Pro/Max bajo Consumer Terms.)

Nuestro conector de Codex codifica la misma disciplina en código, por diseño: la credencial de automatización es una API key de OpenAI o un workspace access token, nunca una suscripción personal de ChatGPT — “proxying it for third-party/programmatic use violates OpenAI’s terms exactly as a consumer Claude subscription does for Anthropic. There is no subscription config field by design” (connectors/codex/codex.go). Así que la línea roja no es una promesa de marketing añadida después; es la forma del producto.

Tres mecanismos, ninguno de ellos la suscripción

Gobernamos un agente autenticado por suscripción a través de tres canales independientes. Los dos primeros nunca tocan la inferencia; el tercero la toca solo para tráfico que se autentica con una API key, nunca con una suscripción.

1. Observar — telemetría, uso y postura

Claude Code emite OpenTelemetry, y un administrador puede activarlo para toda la flota desde el tier gestionado: “Administrators can configure OpenTelemetry settings for all users through the managed settings file” (Claude Code monitoring). Ingerimos esa señal gen-ai — sesiones, tokens, coste, actividad de herramientas — y la convertimos en el mapa de acceso y los hallazgos de postura. Es crucial que esto es minimal-data por construcción también en el lado de Claude Code: el contenido de los prompts está “redacted by default” y los detalles de herramientas, el contenido de herramientas y los cuerpos crudos de API están cada uno “(default: disabled)” (misma fuente). Consumimos uso y metadatos, no conversaciones.

Para Codex, el mismo canal de observación es la ingesta del conector de las APIs de Analytics y Compliance/Audit — uso, adopción y registros de auditoría inmutables convertidos en muestras de coste y evidencia a prueba de manipulación, sin incluir “never prompt/diff content or key values” (connectors/codex/codex.go).

2. Managed settings + hooks — el PEP en proceso

La observación no es aplicación de políticas. El canal de aplicación para Claude Code son sus managed settings en el tier de política del sistema operativo, que incluyen un hook PreToolUse no sobreescribible que llama al punto de decisión de Olivares antes de que se ejecute cada herramienta. Anthropic documenta la propiedad en la que nos apoyamos: “Environment variables defined in the managed settings file have high precedence and cannot be overridden by users”, y los managed settings “can be distributed via MDM” (monitoring).

Olivares genera ese fichero (olivares agent managed-settings) con allowManagedHooksOnly para que el hook propio de un desarrollador nunca pueda preceder ni socavar el gobernado, y el endpoint por sesión y el bearer se inyectan en el arranque — no se escriben en el fichero estático. La decisión en sí misma es deny-closed en cada borde: una llamada a herramienta solo se permite cuando una identidad firme se resuelve, la disposición de política no es deny, el motor de políticas en vivo no lo prohíbe, y — para un ask — una aprobación humana está vinculada al hash exacto del plan. Un emergency stop (kill switch) prevalece sobre todo, incluida una concesión activa de break-glass.

Este es el mecanismo que la página Claude Code hooks PEP documenta operativamente, y es lo que nos permite gobernar el agente de desarrollo local, no simplemente observarlo.

3. Gateway para API key — nunca para OAuth

Existe exactamente un camino en el que Olivares se sitúa en la línea de la petición de inferencia, y solo existe para los llamantes que no usan el canal de managed settings de Claude Code: tráfico de SDK directo o curl autenticado con una API key (o un equivalente de Bedrock/Vertex). Claude Code encamina esas peticiones con ANTHROPIC_BASE_URL“To route requests through a custom API endpoint, set the ANTHROPIC_BASE_URL environment variable instead” — y autentica un gateway con un bearer mediante ANTHROPIC_AUTH_TOKEN, “when routing through an LLM gateway or proxy that authenticates with bearer tokens rather than Anthropic API keys” (Claude Code IAM). Apuntado al proxy de inferencia inline de Olivares, ese tráfico recibe un pipeline gobernado — residencia, acceso a modelos, ventana de contexto, DLP, presupuesto, grabación — antes de ser reenviado.

La frontera es absoluta: este camino transporta tráfico de API key / bearer, nunca la credencial OAuth de una suscripción. Es la costura de aplicación de políticas para los llamantes de SDK/curl a los que los managed settings no pueden alcanzar, y nada más.

La caja de honestidad: verified-deployed, no inviolable

Aplicación que podemos demostrar que está desplegada, no aplicación que no pueda ser eludida. El PEP de managed settings + hook es deny-closed y no sobreescribible por el usuario a través de settings — pero no es magia. Un desarrollador que apunte ANTHROPIC_BASE_URL a su propio endpoint envía la inferencia a otro sitio completamente; nuestra propia nota de ingeniería lo dice con claridad: “a custom ANTHROPIC_BASE_URL bypasses server-managed-settings entirely” (modules/inferenceproxy/doc.go). Así que nunca afirmamos que el PEP sea imposible de eludir. En su lugar afirmamos dos cosas que podemos respaldar:

  1. Está verified-deployed. Olivares certifica que los managed settings y el hook PEP están realmente presentes en el host — un host no aprovisionado se ejecuta sin gobernanza pero observado, y eso es visible, no oculto.
  2. La elusión es en sí misma un hallazgo. Un ANTHROPIC_BASE_URL no predeterminado en un host aparece como un hallazgo de postura, y un entorno gestionado que fija una base URL que diverge del gateway autorizado de Olivares genera un hallazgo de drift (connectors/claude-config, connectors/managedsettings). La evasión no queda en silencio; se ilumina.

“Verified-deployed, evasion-as-finding” es la narrativa honesta de aplicación para cualquier agente que se ejecuta en una máquina que el desarrollador controla. No te venderemos “inviolable”.

La asimetría de Codex, expuesta con honestidad

Claude Code y Codex no son simétricos, y la diferencia importa. Para Codex autenticado por ChatGPT no existe un equivalente documentado de ANTHROPIC_BASE_URL — la página de managed configuration de OpenAI no documenta ningún setting ni variable de entorno para encaminar la inferencia a través de una base URL personalizada o un gateway (verificado por fetch, 2026-06-21; una ausencia en esa página, no una prueba de que no exista en otro lugar). Así que no gobernamos Codex interceptando su inferencia.

En su lugar lo gobernamos donde OpenAI proporciona a los administradores controles aplicables. La managed configuration de Codex permite a una empresa establecer “Requirements: admin-enforced constraints that users can’t override” que “constrain security-sensitive settings (approval policy, approvers reviewer, automatic review policy, sandbox mode, permission profiles, web search mode, managed hooks, and optionally which MCP servers users can enable)” (misma fuente). Olivares redacta y certifica esos requisitos (connectors/codex-managed-config) — approval policy, sandbox mode, la allowlist de MCP, telemetría redactada (log_user_prompt = false) — e ingiere la evidencia de Analytics y Compliance de Codex. Gobernanza a través de configuración y evidencia, no a través de un man-in-the-middle en la llamada al modelo.

En una tabla

CanalQué hace¿Toca la inferencia?La credencial
ObservarUso, coste, actividad de herramientas → mapa de acceso + postura; Analytics/Compliance de Codex → ledgerNoNinguna — solo telemetría, contenido redactado por defecto
Managed settings + hooksPEP PreToolUse deny-closed en Claude Code, no sobreescribible vía settingsNoLa del propio agente; nunca la vemos
Gateway (solo API key)Pipeline gobernado para llamantes de SDK/curl directos vía ANTHROPIC_BASE_URLAPI key / bearer — nunca OAuth de suscripción
Codex managed-configRequisitos aplicados por el admin (approval/sandbox/MCP) + ingesta de evidenciaNoLa de la organización; configuración, no interceptación

Relacionado

Preguntar a Claude

Preguntas

¿Olivares encamina mi suscripción Claude Pro/Max?

Nunca. La política de Anthropic prohíbe el encaminamiento por terceros a través de credenciales Free, Pro o Max. Nuestra postura es más estricta: no encaminamos ningún OAuth de suscripción de ningún plan.

¿Y qué pasa con Claude Team o Enterprise?

La prohibición nombra Free, Pro, Max. La página de Anthropic no dice nada sobre el encaminamiento de Team/Enterprise. No interpretamos el silencio como una licencia — así que no encaminamos ninguno.