# auth.md — FootyCalc agent authentication

**Status: under construction.** Authentication for FootyCalc is not available and none is required.
Every public read endpoint below works without accounts, tokens, or API keys.

::ILANG::v5.0
[TYPE:agent_operating_instructions][PROJECT:footycalc-auth][VERSION:1.0][LANG:en]

::STATE{@AUDIENCE, value:AI agents reading public square-footage data}
::STATE{@STATUS, value:under_construction, available:false, capabilities_status:planned_contract_only, launch_date:null}
::MODULE{CURRENT_ACCESS}
  [MUST] Use the public read-only service without credentials:
    - JSON API: https://footycalc.com/api/agent (op=list|search|get|help)
    - MCP server: https://footycalc.com/mcp (initialize, tools/list, tools/call)
    - Discovery: https://footycalc.com/.well-known/api-catalog
  [MUST] Do not attempt registration, token exchange, or authorization redirects while available=false.
    Every /agent-auth/* operation returns HTTP 503 (temporarily_unavailable) by design.
::MODULE{PLANNED_CONTRACT}
  [MUST] The following are future design only, not active: anonymous agent registration
    (https://footycalc.com/agent-auth/register), token issuance (/agent-auth/token),
    scope site:read, final credential type access_token.
  [MUST] Metadata: /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource.
    The published JWKS is intentionally empty (keys:[]) and validates nothing.
::MODULE{ANSWER_COMPOSITION}
  [MUST] Preserve page paths, units (sq ft), and dates returned by the service; answer in the visitor's language; cite the relevant footycalc.com page URL.
  [MUST] Unknown facts remain unknown; never invent measurements, prices, or code points.
::ILANG::COMPLETE::

## Where to go instead

- Service overview for agents: <https://footycalc.com/ai/>
- Site lookup skill: <https://footycalc.com/ai/skills/site-lookup/SKILL.md>
- Calculators and guides (human HTML): <https://footycalc.com/>
