# SigID authentication for agents

SigID provides cryptographic agent identity and OAuth authorization for humans
and agents. The canonical hosted issuer and public API origin is
https://auth.sigid.org. Obtain endpoints and supported grants from discovery;
do not automate the hosted sign-in pages or invent OAuth parameters.

## Discover

- [Protected resource metadata](https://auth.sigid.org/.well-known/oauth-protected-resource)
- [Authorization server metadata](https://auth.sigid.org/.well-known/oauth-authorization-server)
- [OIDC discovery](https://auth.sigid.org/.well-known/openid-configuration)
- [Public OpenAPI contract](https://auth.sigid.org/openapi.json)
- [Public capabilities](https://auth.sigid.org/api/v1/capabilities)
- [API versioning, errors, and rate limits](https://www.sigid.org/api-policy.md)

## Register and authenticate an agent

Follow the [SigID agent self-serve quickstart](https://docs.sigid.org/developers/agent-quickstart/).
Use the supported SigID CLI or the [JavaScript agent SDK](https://docs.sigid.org/developers/agent-sdk/)
for Node.js/Bun to create and retain an Ed25519 key locally, obtain
workspace bootstrap metadata, solve the registration proof of work, and
authenticate with a signed challenge. The private key stays with the agent.
Use the exact request schemas in OpenAPI; agent registration is not OAuth
dynamic client registration and does not grant human or administrator rights.

## Act on behalf of a human

Use the documented [agent delegation flow](https://docs.sigid.org/developers/delegation/).
Request only the intended scopes and resources. Present the real verification
URI and user code from the device flow to the human. Respect the polling
interval, authorization_pending, slow_down, denial, and expiration responses.
Human approval and the required assurance level remain mandatory. Do not claim
that approval happened until the server confirms it.

## Integrate human sign-in

Use Authorization Code with PKCE S256 and an exactly registered redirect URI.
Validate issuer, audience, signature, expiry, tenant, subject type, and scopes
at every protected backend boundary. Honor DPoP binding when present. Keep
client secrets, keys, access tokens, and refresh tokens out of logs and prompts.

## Public MCP discovery

The [SigID discovery MCP server](https://docs.sigid.org/developers/mcp/)
uses Streamable HTTP at https://auth.sigid.org/mcp. Its public tools read API
descriptions and documentation without credentials. They cannot authenticate,
modify accounts, execute API operations, or access tenant data.

## Profile compatibility

This file documents SigID's existing authentication protocols. SigID does not
implement the WorkOS auth.md agentic-registration profile, its identity endpoint,
claim grant, or ID-JAG assertion exchange. Consequently its authorization-server
metadata does not advertise an agent_auth block or unsupported identity types.
RFC 8693 token exchange support alone does not imply ID-JAG support.
