# Securityscorecard

[securityscorecard.readme.io](https://securityscorecard.readme.io)

- **Overall score:** 74/100 (Grade C)
- **Checks passed:** 13 / 29
- **Last computed:** 2026-05-11

## Components

### Content Discoverability

- **Score:** 61/100 · **Status:** fail
- **Summary:** 2 failed and 1 warning across 6 AFDocs checks.
- **Rationale:** Agents need a clear entry point and crawl map before they can reliably discover the right pages.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **LLMS TXT Exists** — llms.txt found at 1 location(s)
- ⚠️ **LLMS TXT Valid** — llms.txt contains parseable links but doesn't fully follow the proposed structure: https://securityscorecard.readme.io/llms.txt: No blockquote summary found Your llms.txt contains parseable links but doesn't follow the standard structure. Add an H1 title as the first line and a blockquote summary (lines starting with >) to improve agent parsing.
- ❌ **LLMS TXT Size** — llms.txt is 134,892 characters (exceeds 100,000 threshold; will be truncated by most agents) Your llms.txt is 134,892 characters and will be truncated by all major agent platforms. Split into a root index linking to section-level llms.txt files, each under 50,000 characters.
- ✅ **LLMS TXT Links Resolve** — All 15 same-origin sampled links resolve (642 total links)
- ✅ **LLMS TXT Links Markdown** — 15/15 same-origin sampled links point to markdown content (100%)
- ❌ **LLMS TXT Directive** — No llms.txt directive found in any of 15 sampled pages No agent-facing directive pointing to llms.txt was detected on any tested page. Add a blockquote near the top of each page (e.g., "> For the complete documentation index, see [llms.txt](/llms.txt)"). This can be visually hidden with CSS while remaining accessible to agents.

### Markdown Availability

- **Score:** 64/100 · **Status:** fail
- **Summary:** 1 failed across 2 AFDocs checks.
- **Rationale:** When markdown is available directly, agents spend less effort stripping presentation markup and guessing structure.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Markdown Url Support** — 15/15 sampled pages support .md URLs (100%)
- ❌ **Content Negotiation** — Server ignores Accept: text/markdown header (0/15 sampled pages return markdown) Your server ignores Accept: text/markdown and returns HTML. Some agents (Claude Code, Cursor, OpenCode) request markdown this way. Configure your server to honor content negotiation.

### Page Size and Truncation Risk

- **Score:** 66/100 · **Status:** fail
- **Summary:** 1 failed and 1 warning across 4 AFDocs checks.
- **Rationale:** Large pages and delayed primary content increase truncation risk and make retrieval less reliable.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Rendering Strategy** — All 15 sampled pages contain server-rendered content
- ⚠️ **Page Size Markdown** — 11 of 15 pages between 50K–100K chars (max 70K) 11 of 15 markdown pages are between 50K and 100K characters. These may be truncated on some agent platforms or routed through summarization. Consider splitting large pages.
- ❌ **Page Size Html** — 15 of 15 sampled pages convert to over 100K chars (max 1980K, 4% boilerplate) 15 of 15 pages convert to over 100K characters of markdown. Reduce inline CSS/JS, break large pages, or provide markdown versions as a smaller alternative.
- ✅ **Content Start Position** — Content starts within first 10% on all 15 sampled pages (median 0%)

### Content Structure

- **Score:** 100/100 · **Status:** pass
- **Summary:** 3 AFDocs checks pass.
- **Rationale:** Predictable sections, valid code fences, and serialized tabs make the content easier for agents to parse correctly.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Tabbed Content Serialization** — No tabbed content detected across 15 sampled pages
- ✅ **Section Header Quality** — No tabbed content found; header quality check not applicable
- ✅ **Markdown Code Fence Validity** — All 16 code fences properly closed across 16 pages

### URL Stability and Redirects

- **Score:** 100/100 · **Status:** pass
- **Summary:** 2 AFDocs checks pass.
- **Rationale:** Stable URLs and sane redirect behavior prevent retrieval drift and broken tool references.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Http Status Codes** — All 15 sampled pages return proper error codes for bad URLs
- ✅ **Redirect Behavior** — No redirects detected across 15 sampled pages

### Observability and Content Health

- **Score:** 99/100 · **Status:** partial
- **Summary:** 1 warning and 1 skipped across 3 AFDocs checks.
- **Rationale:** Coverage, parity, and cache behavior determine whether agents can trust the content they retrieve.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ⏭️ **LLMS TXT Freshness** — No sitemap found; cannot assess llms.txt freshness without a sitemap as ground truth
- ⚠️ **Markdown Content Parity** — 1 of 15 pages have minor content differences between markdown and HTML 1 pages have minor content differences between their markdown and HTML versions. Review for formatting variations.
- ✅ **Cache Header Hygiene** — All 16 endpoints have appropriate cache headers

### Authentication and Access

- **Score:** 100/100 · **Status:** partial
- **Summary:** 1 skipped across 2 AFDocs checks.
- **Rationale:** Agents need either public access or a clear alternative path when documentation is gated behind auth.
- **Reference:** [AFDocs reference](https://afdocs.dev)

**Checks**

- ✅ **Auth Gate Detection** — All 15 sampled pages are publicly accessible
- ⏭️ **Auth Alternative Access** — All docs pages are publicly accessible; no alternative access paths needed

### Full Content Discoverability

- **Score:** 0/100 · **Status:** fail
- **Summary:** llms-full.txt has 1 failing check.
- **Rationale:** A full-document snapshot gives long-context agents a single canonical corpus to ingest without repeated crawling.
- **Reference:** [llms-full.txt guide](https://www.mintlify.com/docs/ai/llmstxt#llms-full-txt)

**Checks**

- ❌ **LLMS Full Exists** — No llms-full.txt file was discovered.
- ⏭️ **LLMS Full Size** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Valid** — Skipped because llms-full.txt was not found.
- ⏭️ **LLMS Full Links Resolve** — Skipped because llms-full.txt was not found.

### Agent Skills

- **Score:** 0/100 · **Status:** fail
- **Summary:** skill.md has 1 failing check.
- **Rationale:** Agent skills provide product-specific operating guidance that plain documentation pages do not encode on their own.
- **Reference:** [skill.md guide](https://www.mintlify.com/docs/ai/skillmd)

**Checks**

- ❌ **Skill MD** — No agent skill definition was discovered.

### MCP Server

- **Score:** 0/100 · **Status:** fail
- **Summary:** MCP has 1 failing check.
- **Rationale:** A discoverable MCP server lets agents use first-class tools instead of scraping pages and inferring behavior.
- **Reference:** [MCP guide](https://www.mintlify.com/docs/ai/model-context-protocol)

**Checks**

- ❌ **MCP Server Discoverable** — No MCP server was discovered at the expected endpoints.
- ⏭️ **MCP Tool Count** — Skipped because the MCP server was not discoverable.
