# Authentication - gafmoda.com

*Also served at [/.well-known/auth.md](https://gafmoda.com/.well-known/auth.md).*

**No authentication is required.** Every resource on `gafmoda.com` is public, read-only
and free to fetch, for humans and for automated agents alike.

## Scope

| Resource | Auth | Notes |
| --- | --- | --- |
| `https://gafmoda.com/` | none | HTML home page |
| `https://gafmoda.com/index.md` | none | Markdown twin of the home page |
| `https://gafmoda.com/menu.html` | none | Coffee menu (HTML) |
| `https://gafmoda.com/menu.md` | none | Coffee menu (Markdown) |
| `https://gafmoda.com/llms.txt` | none | Venue summary for language models |
| `https://gafmoda.com/.well-known/ai-catalog.json` | none | ARD agent catalog |
| `https://gafmoda.com/sitemap.xml` | none | Sitemap |
| `https://gafmoda.com/.well-known/agent-skills/index.json` | none | Agent Skills index |
| `https://gafmoda.com/skills/gaf-moda-info/SKILL.md` | none | Published agent skill |

## Rules for agents

- No API keys, tokens, OAuth flows or sign-up are offered or needed.
- There is no write API: nothing on this site accepts orders, reservations or payments.
  Reservations are not taken at all; the cafe is walk-in.
- Rate limits: none enforced, but please keep it reasonable (a handful of requests).
- Crawling policy: see [`/robots.txt`](https://gafmoda.com/robots.txt). Content signals are
  `search=yes, ai-input=yes, ai-train=no`.
- Content negotiation: send `Accept: text/markdown` to `/` or `/menu.html`, or request the
  `.md` URLs directly, to get a plain-text Markdown representation.

## Contact

For anything that needs a human: [@gafmoda on Instagram](https://www.instagram.com/gafmoda/).
