Identidade do agente
Os dois jeitos de um agente obter um token. A chave do agente para o modo headless, e o card Harness login para harnesses de código.
Um agente obtém um token Xokepoint em um de dois modos, e pode usar os dois (Agentes):
- Headless: o agente roda como serviço, prova quem é com uma chave própria e troca o token da pessoa por um token Xokepoint. O card Key cuida disso.
- Interativo: uma pessoa entra a partir de um harness de código, como o Claude Code, e consente. O agente não precisa de chave neste modo. O card Harness login cuida disso.
Os dois cards ficam na aba Identity do agente.

Harness login

O card Harness login é o segundo card da aba, abaixo da chave. Um harness de código faz o login de uma pessoa pelo navegador, e só os harnesses listados aqui podem entrar neste agente.
MCP URL for developers tem uma linha para cada server do agente, com botão de copiar. O ingress precisa do server, então cada server tem a sua URL: <origin>/api/v1/mcp/<workspace>/<ambiente>/<server_id>. Entregue essas URLs aos desenvolvedores (Conectar um harness de código). Antes de o agente ter tools publicadas, o card diz "Publish tools for this agent first. Then the MCP URL of each server appears here."
Allowed harnesses lista cada harness com o nome, lido do client metadata document dele, a URL e um botão de remover. Sem entrada, o card diz "No harness yet. Nobody can log in to this agent from a harness." Abaixo da lista, um botão para cada harness do catálogo que ainda não foi liberado. O catálogo tem Claude Code e Codex, os harnesses cujos fornecedores publicam um client metadata document.
O mesmo harness pode ser liberado em vários agentes, por exemplo "Claude Code — Developers" e "Claude Code — SRE", cada um com seus grupos e tools. A entrada então diz quais outros agentes o liberam. No login, uma pessoa elegível para mais de um deles escolhe um.
Another harness (client metadata URL), recolhido, adiciona um harness que não está no catálogo. Um harness se identifica com uma URL HTTPS pública, o seu client metadata document: um arquivo pequeno do fornecedor com o nome do harness e os endereços para onde ele volta depois do login. Peça essa URL ao fornecedor. O Xokepoint lê o documento no login, guarda em cache por no máximo 24 horas, e aceita só redirects loopback. Uma URL fora da lista é recusada no login.
Quem pode entrar é definido por provedor de identidade, no grafo do agente (Quem pode delegar). Quem está conectado fica na aba Harness sessions (Harness sessions).
Gerar a chave
A chave é do modo headless. Num agente sem chave, o card Key diz "No key yet. The agent can not get a token." e oferece Generate key and download. O que acontece:
- O navegador cria um par de chaves ECDSA P-256.
- O identificador da chave é o thumbprint da chave pública (RFC 7638), calculado no navegador. Ninguém digita.
- O Admin envia ao Xokepoint só a chave pública.
- O navegador baixa
<agente>.chokepoint.json:
| Campo | Conteúdo |
|---|---|
client_id | O ID do agente como cliente do authorization server |
issuer, token_endpoint | Onde o agente faz o token exchange |
kid, alg | O identificador da chave e o algoritmo (ES256) |
private_key | A chave privada, em JWK |
Uma faixa verde avisa que o arquivo é a única cópia da chave privada e que o Xokepoint não consegue mostrá-la de novo. Guarde como uma senha e entregue ao desenvolvedor por um canal seguro (Integrar o agente).
Com a chave criada, o bloco Key mostra Active key: o identificador, o algoritmo e "Created by {administrador} · {hora}".
Connection details e How the agent connects

Connection details traz Client ID, Issuer e Token endpoint, cada um com botão de copiar. São os mesmos valores do arquivo, para quem configura o agente à mão.
How the agent connects resume os três passos: a pessoa entra no provedor de identidade e o agente recebe o token dela; o agente troca esse token no Xokepoint, assinando com a chave privada; o agente chama as tools com o token Xokepoint, que vale 5 minutos. Uma troca recusada devolve invalid_client ou invalid_grant, e o motivo aparece no Investigate.
Use my own public key
Para equipes que guardam a chave privada num cofre e não querem que o Admin gere arquivo:

O campo Public key (JWK or PEM) recebe só a chave pública. Key ID (kid) é opcional; sem ele, o backend usa o kid do JWK e, se o JWK não tiver um, o thumbprint dele. O agente precisa enviar esse mesmo kid no header da client assertion. O campo recusa uma chave privada ("Paste only the public key") e formatos desconhecidos. Use this key registra.
Girar a chave
Rotate key pede confirmação antes de agir:

O aviso diz: "The current key stops working now. Give the new file to the agent at once." Rotate and download gera o par novo e baixa o arquivo. A chave anterior para de funcionar na hora; tokens já emitidos continuam valendo até expirar, em no máximo 5 minutos.
Gire a chave quando o arquivo pode ter vazado, quando alguém com acesso a ele saiu da equipe ou quando o Investigate mostra trocas recusadas com invalid_client vindas de onde não deveriam.
Agente desativado
Com o agente desativado, a aba mostra "This agent is disabled. It gets no token, and its next call is rejected." Isso vale para os dois modos: sem troca, sem harness login e sem refresh. A chave e os harnesses liberados ficam guardados.
Report-only
Coloque um agente atrás do Xokepoint sem bloquear as chamadas dele, veja o que a política negaria e passe para Enforce quando a política estiver certa.
Harness sessions
As pessoas e máquinas conectadas a um agente a partir de um harness de código, e como revogar uma máquina, um consentimento ou bloquear uma pessoa.