Saltar para o conteúdo

Como funciona

Governação de Claude Code e Codex autenticados por subscrição

O agente mais difícil de governar autentica-se com uma subscrição pessoal ou empresarial. A solução tentadora — intermediar a subscrição — é algo que não iremos construir. É assim que governamos sem intermediar.

O agente mais difícil de governar é aquele em que um programador iniciou sessão com uma subscrição pessoal ou empresarial: Claude Code com Pro/Max, ou Codex com ChatGPT. Executa-se num portátil, autentica-se com uma credencial OAuth, e é exatamente a superfície que um guardrail de fornecedor cloud no caminho de inferência nunca vê (consultar a comparação com gateways). A “solução” tentadora — colocar um serviço à frente que retenha a subscrição e encaminhe o seu tráfego — é algo que a Olivares AI não irá construir, porque os fornecedores de modelos o proíbem e porque transformaria o nosso control plane num ponto único de comprometimento de credenciais.

Esta página é o relato honesto de como governamos estes agentes sem jamais intermediar a subscrição: o que observamos, onde aplicamos políticas, e o único caminho estreito em que um gateway é apropriado (e nunca é o da subscrição).

A linha vermelha: nunca encaminhamos a sua subscrição. A Olivares AI nunca retém, proxifica nem encaminha uma credencial de subscrição de terceiros. A própria política da Anthropic estabelece: “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 em 2026-06-21 — a proibição menciona os três planos de consumo Free, Pro, Max). Os termos da OpenAI funcionam da mesma forma para um início de sessão de consumidor ChatGPT/Codex. A nossa postura é mais restritiva do que a própria linha: não encaminhamos nenhum OAuth de subscrição, de nenhum plano. A governação ocorre em torno do agente, nunca dentro da sua credencial.

Porque é que intermediar a subscrição está fora de questão

Vale a pena ser preciso quanto à regra, porque o assessor jurídico de um comprador irá verificá-la. A política da Anthropic traça duas listas que não devem ser confundidas:

  • Quem pode utilizar OAuth — cinco planos: “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.”
  • O que um terceiro não pode fazer — encaminhar em nome dos utilizadores: “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.”

A proibição menciona explicitamente os planos de consumo (Free, Pro, Max). A página não concede, em sentido contrário, permissão a ninguém para encaminhar lugares Team ou Enterprise — é omissa a esse respeito, e não interpretamos o silêncio como uma licença. Para programadores que desenvolvem ferramentas, a própria orientação da Anthropic aponta para longe do OAuth de subscrição na totalidade: “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; separação por tipo de plano: Team/Enterprise/API sob Commercial Terms, Free/Pro/Max sob Consumer Terms.)

O nosso conector de Codex codifica a mesma disciplina em código, por conceção: a credencial de automatização é uma API key da OpenAI ou um workspace access token, nunca uma subscrição pessoal 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). Assim, a linha vermelha não é uma promessa de marketing acrescentada a posteriori; é a forma do produto.

Três mecanismos, nenhum deles a subscrição

Governamos um agente autenticado por subscrição através de três canais independentes. Os dois primeiros nunca tocam na inferência; o terceiro toca-lhe apenas para tráfego que se autentica com uma API key, nunca com uma subscrição.

1. Observar — telemetria, utilização e postura

O Claude Code emite OpenTelemetry, e um administrador pode ativá-lo para toda a frota a partir do tier gerido: “Administrators can configure OpenTelemetry settings for all users through the managed settings file” (Claude Code monitoring). Ingerimos esse sinal gen-ai — sessões, tokens, custo, atividade de ferramentas — e transformamo-lo no mapa de acesso e nas constatações de postura. É crucial que isto é minimal-data por construção também do lado do Claude Code: o conteúdo dos prompts está “redacted by default” e os detalhes de ferramentas, o conteúdo de ferramentas e os corpos em bruto da API estão cada um “(default: disabled)” (mesma fonte). Consumimos utilização e metadados, não conversações.

Para o Codex, o mesmo canal de observação é a ingestão pelo conector das APIs de Analytics e Compliance/Audit — utilização, adoção e registos de auditoria imutáveis convertidos em amostras de custo e evidência à prova de adulteração, sem incluir “never prompt/diff content or key values” (connectors/codex/codex.go).

2. Managed settings + hooks — o PEP em processo

A observação não é aplicação de políticas. O canal de aplicação para o Claude Code são os seus managed settings no tier de política do sistema operativo, que incluem um hook PreToolUse não substituível que invoca o ponto de decisão da Olivares antes da execução de cada ferramenta. A Anthropic documenta a propriedade em que nos apoiamos: “Environment variables defined in the managed settings file have high precedence and cannot be overridden by users”, e os managed settings “can be distributed via MDM” (monitoring).

A Olivares gera esse ficheiro (olivares agent managed-settings) com allowManagedHooksOnly para que o hook próprio de um programador nunca possa preceder nem enfraquecer o governado, e o endpoint por sessão e o bearer são injetados no arranque — não são escritos no ficheiro estático. A decisão em si é deny-closed em cada extremidade: uma chamada a ferramenta só é permitida quando uma identidade firme é resolvida, a disposição de política não é deny, o motor de políticas em tempo real não a proíbe, e — para um ask — uma aprovação humana está vinculada ao hash exato do plano. Um emergency stop (kill switch) prevalece sobre tudo, incluindo uma concessão ativa de break-glass.

Este é o mecanismo que a página Claude Code hooks PEP documenta operacionalmente, e é o que nos permite governar o agente de desenvolvimento local, não meramente observá-lo.

3. Gateway para API key — nunca para OAuth

Existe exatamente um caminho em que a Olivares se situa na linha do pedido de inferência, e só existe para os chamadores que não utilizam o canal de managed settings do Claude Code: tráfego de SDK direto ou curl autenticado com uma API key (ou um equivalente de Bedrock/Vertex). O Claude Code encaminha esses pedidos com ANTHROPIC_BASE_URL“To route requests through a custom API endpoint, set the ANTHROPIC_BASE_URL environment variable instead” — e autentica um gateway com um bearer através de ANTHROPIC_AUTH_TOKEN, “when routing through an LLM gateway or proxy that authenticates with bearer tokens rather than Anthropic API keys” (Claude Code IAM). Apontado para o proxy de inferência inline da Olivares, esse tráfego recebe um pipeline governado — residência, acesso a modelos, janela de contexto, DLP, orçamento, gravação — antes de ser reencaminhado.

A fronteira é absoluta: este caminho transporta tráfego de API key / bearer, nunca a credencial OAuth de uma subscrição. É a costura de aplicação de políticas para os chamadores de SDK/curl que os managed settings não conseguem alcançar, e nada mais.

A caixa de honestidade: verified-deployed, não inviolável

Aplicação que podemos demonstrar que está implantada, não aplicação que não possa ser contornada. O PEP de managed settings + hook é deny-closed e não substituível pelo utilizador através de settings — mas não é magia. Um programador que aponte ANTHROPIC_BASE_URL para o seu próprio endpoint envia a inferência para outro local inteiramente; a nossa própria nota de engenharia di-lo com clareza: “a custom ANTHROPIC_BASE_URL bypasses server-managed-settings entirely” (modules/inferenceproxy/doc.go). Por isso, nunca afirmamos que o PEP seja impossível de contornar. Em vez disso, afirmamos duas coisas que podemos sustentar:

  1. Está verified-deployed. A Olivares atesta que os managed settings e o hook PEP estão efetivamente presentes no host — um host não aprovisionado executa-se sem governação mas observado, e isso é visível, não oculto.
  2. O contorno é, em si mesmo, uma constatação. Um ANTHROPIC_BASE_URL não predefinido num host surge como uma constatação de postura, e um ambiente gerido que fixa uma base URL divergente do gateway autorizado da Olivares gera uma constatação de drift (connectors/claude-config, connectors/managedsettings). A evasão não fica em silêncio; acende-se.

“Verified-deployed, evasion-as-finding” é a narrativa honesta de aplicação para qualquer agente que se executa numa máquina que o programador controla. Não lhe venderemos “inviolável”.

A assimetria do Codex, exposta com honestidade

O Claude Code e o Codex não são simétricos, e a diferença é relevante. Para o Codex autenticado por ChatGPT não existe um equivalente documentado de ANTHROPIC_BASE_URL — a página de managed configuration da OpenAI não documenta nenhum setting nem variável de ambiente para encaminhar a inferência através de uma base URL personalizada ou de um gateway (verificado por fetch, 2026-06-21; uma ausência nessa página, não uma prova de que não exista noutro local). Assim, não governamos o Codex intercetando a sua inferência.

Em vez disso, governamo-lo onde a OpenAI efetivamente disponibiliza aos administradores controlos aplicáveis. A managed configuration do Codex permite a uma empresa definir “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)” (mesma fonte). A Olivares redige e atesta esses requisitos (connectors/codex-managed-config) — approval policy, sandbox mode, a allowlist de MCP, telemetria redigida (log_user_prompt = false) — e ingere a evidência de Analytics e Compliance do Codex. Governação através de configuração e evidência, não através de um man-in-the-middle na chamada ao modelo.

Numa tabela

CanalO que fazToca na inferência?A credencial
ObservarUtilização, custo, atividade de ferramentas → mapa de acesso + postura; Analytics/Compliance do Codex → ledgerNãoNenhuma — apenas telemetria, conteúdo redigido por predefinição
Managed settings + hooksPEP PreToolUse deny-closed no Claude Code, não substituível via settingsNãoA do próprio agente; nunca a vemos
Gateway (apenas API key)Pipeline governado para chamadores de SDK/curl diretos via ANTHROPIC_BASE_URLSimAPI key / bearer — nunca OAuth de subscrição
Codex managed-configRequisitos aplicados pelo administrador (approval/sandbox/MCP) + ingestão de evidênciaNãoA da organização; configuração, não interceção

Relacionado

Perguntar ao Claude

Perguntas

A Olivares encaminha a minha subscrição Claude Pro/Max?

Nunca. A política da Anthropic proíbe o encaminhamento por terceiros através de credenciais Free, Pro ou Max. A nossa postura é mais restritiva: não encaminhamos nenhum OAuth de subscrição de nenhum plano.

E quanto ao Claude Team ou Enterprise?

A proibição menciona Free, Pro, Max. A página da Anthropic é omissa quanto ao encaminhamento de Team/Enterprise. Não interpretamos o silêncio como uma licença — por isso, não encaminhamos nenhum.