# Auth.md : AIO.GEO Agent Registration

Know what AI sees. Fix it. Prove it.

We do not sell LLM rankings. Nobody can measure them honestly. We sell what can be measured: structure, accessibility, and receipts to prove it.

## Who this is for

Autonomous agents, Custom GPTs, CLI clients, and MCP hosts that need to audit a domain.

## Registration types

| Type | Status | Notes |
| --- | --- | --- |
| anonymous | supported | Public audit and brief. No bearer token. |
| service_auth | documented | Use Dynamic Client Registration, then call public endpoints. Token is optional. |
| identity_assertion | documented | JWT bearer accepted at /oauth/token. Public scopes only. |

## Discovery

- Protected resource: https://www.aiogeoprotocol.com/.well-known/oauth-protected-resource
- Authorization server: https://www.aiogeoprotocol.com/.well-known/oauth-authorization-server
- OpenID configuration: https://www.aiogeoprotocol.com/.well-known/openid-configuration
- Identity: https://www.aiogeoprotocol.com/agent/identity
- Claim: https://www.aiogeoprotocol.com/agent/identity/claim
- Events: https://www.aiogeoprotocol.com/agent/event/notify
- Register: https://www.aiogeoprotocol.com/oauth/register
- Web Bot Auth keys: https://www.aiogeoprotocol.com/.well-known/http-message-signatures-directory

## Scopes

- `audit:public`: POST /api/v1/public/audit
- `brief:public`: POST /api/v1/public/brief
- `health:read`: GET /api/health

Public scopes do not require a secret. Rate limits still apply.

## How to call without a token

```
POST https://www.aiogeoprotocol.com/api/v1/public/audit
{"domain":"example.com"}
```

## Legal

- Terms: https://www.aiogeoprotocol.com/terms
- Privacy: https://www.aiogeoprotocol.com/privacy
- Contact: https://www.aiogeoprotocol.com/contact

## Agent Authentication Policy

AIO.GEO supports programmatic OAuth 2.0 access for verified autonomous agents. Public audit and brief also work with no token.

```yaml
agent_auth:
  register_uri: "https://www.aiogeoprotocol.com/admin/api-keys"
  skill: "https://www.aiogeoprotocol.com/auth.md"
  supported_identity_types: ["jwks", "anonymous", "did"]
  credential_types: ["jwt"]
  scopes: ["audit:read", "audit:write", "audit:public", "brief:public"]
```
