{
  "url": "https://discord.com",
  "auditedAt": "2026-07-18T16:55:22.946Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete. Public marketing templates were audited; authenticated in-app chat and post-login account settings were not covered because no credentials were provided. The public login entry point itself was exercised and failed visibly.",
  "page": {
    "appType": "hybrid",
    "framework": "Webflow marketing frontend plus a JavaScript application login shell",
    "notes": "Representative coverage includes marketing, listing, content, safety, commercial, download, and account-entry templates. Authenticated Discord chat, checkout completion, account settings, and private server flows were excluded because they require credentials or commitments."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "lighthouse",
    "heap-summary",
    "Modern Web Guidance feed"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scrollytelling",
    "physics-based-easing",
    "shrinking-header-on-scroll",
    "anchor-positioning-tab-underline",
    "directional-navigation-transitions",
    "light-dismiss-a-dialog",
    "declarative-dialog-popover-control",
    "complex-shapes",
    "fluid-scaling",
    "size-aware-styling",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "move-dom-element-without-losing-state",
    "css",
    "html",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "custom-button-actions",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/blog.png",
      "caption": "blog"
    },
    {
      "type": "other",
      "path": "evidence/controls-mobile.json",
      "caption": "controls mobile",
      "findingIds": [
        "DISCORD-004",
        "DISCORD-006"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "DISCORD-017"
      ]
    },
    {
      "type": "other",
      "path": "evidence/crawl-pwa.json",
      "caption": "crawl pwa"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability"
    },
    {
      "type": "other",
      "path": "evidence/document-probe.json",
      "caption": "document probe",
      "findingIds": [
        "DISCORD-002",
        "DISCORD-003",
        "DISCORD-004",
        "DISCORD-006",
        "DISCORD-007"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/download.png",
      "caption": "download"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "DISCORD-017"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": [
        "DISCORD-023"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "heap post menu"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast-more.png",
      "caption": "home contrast more"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "DISCORD-003",
        "DISCORD-007"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "DISCORD-005",
        "DISCORD-007",
        "DISCORD-012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "DISCORD-010",
        "DISCORD-011",
        "DISCORD-018",
        "DISCORD-021"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "DISCORD-009"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": [
        "DISCORD-009"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "DISCORD-010",
        "DISCORD-018",
        "DISCORD-021"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "DISCORD-015",
        "DISCORD-022"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary",
      "findingIds": [
        "DISCORD-009",
        "DISCORD-010",
        "DISCORD-011",
        "DISCORD-012",
        "DISCORD-013",
        "DISCORD-014",
        "DISCORD-015",
        "DISCORD-016",
        "DISCORD-022"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse"
    },
    {
      "type": "other",
      "path": "evidence/login-probe.json",
      "caption": "login probe",
      "findingIds": [
        "DISCORD-008",
        "DISCORD-019",
        "DISCORD-020"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login.png",
      "caption": "login",
      "findingIds": [
        "DISCORD-008",
        "DISCORD-019",
        "DISCORD-020"
      ]
    },
    {
      "type": "other",
      "path": "evidence/mobile-menu-open.json",
      "caption": "mobile menu open",
      "findingIds": [
        "DISCORD-005",
        "DISCORD-013"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/nitro.png",
      "caption": "nitro"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion"
    },
    {
      "type": "dom",
      "path": "evidence/resource-dom-confirmation.json",
      "caption": "resource dom confirmation",
      "findingIds": [
        "DISCORD-010"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/safety.png",
      "caption": "safety"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "screenshot",
      "path": "evidence/servers-dark.png",
      "caption": "servers dark",
      "findingIds": [
        "DISCORD-001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/servers.png",
      "caption": "servers",
      "findingIds": [
        "DISCORD-001"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "DISCORD-018"
      ]
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Emulated prefers-reduced-motion: reduce and inspected document animations.",
      "evidence": "The preference matched and document.getAnimations() returned no running animations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Captured prefers-contrast: more and compared visible controls and text.",
      "evidence": "The high-contrast capture retained visible text, navigation, calls to action, and consent controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast-more.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-003"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Reviewed representative surfaces for gesture-only controls.",
      "evidence": "The audited public pages expose scrolling, links, buttons, and a menu, but no swipe, drag, carousel, or pull gesture that needs a custom physical interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/controls-mobile.json"
      ],
      "reason": "The audited public pages expose scrolling, links, buttons, and a menu, but no swipe, drag, carousel, or pull gesture that needs a custom physical interaction."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Reviewed long-page desktop/mobile captures and layout behavior.",
      "evidence": "Navigation remains available and the page provides clear scroll progression through distinct content sections without obscuring the content.",
      "pathIds": [
        "home",
        "home-mobile"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-004"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Compared first viewports and heading/action hierarchy across representative templates.",
      "evidence": "Strong headings, contrasting primary actions, and consistent navigation make the current location and next action clear.",
      "pathIds": [
        "home",
        "download",
        "nitro",
        "servers",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/download.png",
        "evidence/nitro.png",
        "evidence/servers.png",
        "evidence/blog.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-005"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-006"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Measured fixed chrome in desktop and mobile screenshots.",
      "evidence": "The site itself is visually content-led, but the on-load consent chrome covers 253.8px of an 800px mobile viewport.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/mobile-menu-open.json"
      ],
      "findingIds": [
        "DISCORD-005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Ran layout metrics at 360x800 and inspected the mobile screenshot.",
      "evidence": "scrollWidth, clientWidth, and innerWidth were all 360px with zero horizontal overflow; viewport meta is present.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-007"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "pass",
      "confidence": "medium",
      "method": "Focused the first keyboard target and inspected focus styling and mobile controls.",
      "evidence": "The skip link received a visible 2px solid outline and primary mobile buttons are large, full-width targets.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Reviewed first viewport hierarchy on homepage, download, Nitro, servers, and blog.",
      "evidence": "Each template has a descriptive H1 and an obvious next action or content purpose.",
      "pathIds": [
        "home",
        "download",
        "nitro",
        "servers",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/download.png",
        "evidence/nitro.png",
        "evidence/servers.png",
        "evidence/blog.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-008"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "medium",
      "method": "Exercised the public login entry point and waited 7 seconds for state.",
      "evidence": "The route remained blank with no loading, error, retry, or recovery state.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "DISCORD-008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Observed layout shifts at 360x800 and corroborated with Lighthouse.",
      "evidence": "The layout observer reported CLS 0.0209 and Lighthouse reported 0.075, both within the good threshold.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse and a DevTools trace.",
      "evidence": "Lighthouse measured 630ms TBT and 4.6s main-thread work; the desktop trace still recorded three long tasks and 145ms TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "DISCORD-009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-010"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-011"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-013"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-012"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected landmarks, focus styling, menu state, and Lighthouse accessibility results.",
      "evidence": "Landmarks and skip link exist, but opening the mobile menu leaves aria-expanded absent and focus on the fixed cookie banner rather than the invoked menu.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/mobile-menu-open.json"
      ],
      "findingIds": [
        "DISCORD-013"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Reviewed desktop and 360px captures across representative templates.",
      "evidence": "Headings and body text remain readable, well spaced, and unclipped on the tested viewports.",
      "pathIds": [
        "home",
        "home-mobile",
        "download",
        "nitro",
        "servers",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/download.png",
        "evidence/nitro.png",
        "evidence/servers.png",
        "evidence/blog.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "medium",
      "method": "Checked viewport policy, 360px reflow, target sizing, and media presentation.",
      "evidence": "The main viewport does not disable scaling, mobile reflow has no overflow, and primary targets are comfortably sized.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-014"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-015"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-016"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Read rendered and raw title and description metadata.",
      "evidence": "The homepage has a descriptive title and meta description and both survive in raw HTML.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected hrefs, viewport metadata, robots.txt, and Lighthouse SEO.",
      "evidence": "Primary links use hrefs, viewport metadata is present, public marketing routes are not blocked, and Lighthouse SEO scored 1.0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/crawl-pwa.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected canonical, response status, robots, and declared sitemap endpoints.",
      "evidence": "The page returned 200, canonical points to https://discord.com/, robots permits public content and declares route-specific sitemap indexes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/crawl-pwa.json",
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected Open Graph and JSON-LD metadata against visible page content.",
      "evidence": "Open Graph title, description, image, and type match the visible Discord homepage; three JSON-LD blocks are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-017"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-018"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected load behavior and login bootstrap configuration.",
      "evidence": "No permission prompt appeared on load, and login configuration declares a WebAuthn origin, indicating phishing-resistant authentication support is wired into the app.",
      "pathIds": [
        "home",
        "login"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/login-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Audited response security headers and cookies.",
      "evidence": "HSTS, nosniff, X-Frame-Options and Permissions-Policy exist, but Referrer-Policy is absent and CSP/cookie posture has gaps.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "DISCORD-017"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Compared raw no-JavaScript HTML with the rendered page.",
      "evidence": "Raw HTML returned 200 with 88% rendered-word coverage; the page is not a JS shell and title and description survive.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "medium",
      "method": "Opened the mobile navigation while the on-load consent state was active and inspected geometry/focus.",
      "evidence": "The fixed consent banner overlaps the menu experience and retains focus, weakening overlay sequencing and runtime robustness.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/mobile-menu-open.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "DISCORD-005"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Checked manifest and service-worker registration and judged product intent.",
      "evidence": "Discord is an intrinsically online real-time communication service; no offline content promise is evident, so offline/installability is not required for this public marketing audit.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/crawl-pwa.json"
      ],
      "reason": "Discord is an intrinsically online real-time communication service; no offline content promise is evident, so offline/installability is not required for this public marketing audit."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-019"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected document language and localization infrastructure.",
      "evidence": "The page declares en-GB, exposes a language selector, and loads localization support; reading order is correct in the tested locale.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/document-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Reviewed representative public pages for dates, currencies, durations, or locale-sensitive numeric data.",
      "evidence": "The audited views do not present locale-sensitive data requiring Intl formatting.",
      "pathIds": [
        "home",
        "download",
        "servers",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/download.png",
        "evidence/servers.png",
        "evidence/blog.png"
      ],
      "reason": "The audited views do not present locale-sensitive data requiring Intl formatting."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Reviewed representative public pages for scheduled or time-zone-sensitive events.",
      "evidence": "No event times, recurring schedules, or time-zone-sensitive values appear in the audited public templates.",
      "pathIds": [
        "home",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/blog.png"
      ],
      "reason": "No event times, recurring schedules, or time-zone-sensitive values appear in the audited public templates."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Reviewed consent and subscription first viewports for choice parity and deceptive language.",
      "evidence": "Consent presents equally prominent Reject All and Accept All actions, and Nitro states that it is a subscription without confirmshaming.",
      "pathIds": [
        "home",
        "nitro"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/nitro.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "medium",
      "method": "Attempted to reach and inspect the sign-in form and its validation surface.",
      "evidence": "The login route rendered no form or error UI, so users in this failure condition receive no humane validation or recovery assistance.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "DISCORD-020"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected the login DOM after waiting for the client route.",
      "evidence": "No inputs rendered, so sign-in autocomplete, labels, and input assistance were unavailable in the tested primary account flow.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "DISCORD-020"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-020"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-022"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Measured load-time network, main-thread work, and unused code.",
      "evidence": "The page eagerly transfers many media files, performs 4.6s main-thread work, and ships more than 1MB estimated unused CSS/JS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "DISCORD-021",
        "DISCORD-011"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-021"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected rendered/raw markup and scripts for declared agent-facing tools.",
      "evidence": "No agent-facing capability is declared, and this emerging surface was not part of the public marketing page’s stated intent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/discoverability.json"
      ],
      "reason": "No agent-facing capability is declared, and this emerging surface was not part of the public marketing page’s stated intent."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected representative public content for an inference feature or user need.",
      "evidence": "No summarisation, generation, or other inference feature is offered on these pages, so on-device inference is not applicable.",
      "pathIds": [
        "home",
        "blog"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/blog.png"
      ],
      "reason": "No summarisation, generation, or other inference feature is offered on these pages, so on-device inference is not applicable."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared baseline heap with a post snapshot after ten mobile-menu open/close cycles.",
      "evidence": "Self size rose 1.6% from 68.0MB to 69.1MB while object and closure counts stayed flat or fell; no unbounded retained-growth signal appeared in this bounded run.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed representative screenshots, DOM/evaluate evidence, and relevant diagnostics for this exact check.",
      "evidence": "Direct evidence across the selected templates showed the expected behavior with no observed divergence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "DISCORD-023"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared constructor and node-type populations before and after ten menu cycles.",
      "evidence": "Top constructors showed no Detached population and closure count fell from 23,494 to 23,475; no listener/closure accumulation signal appeared.",
      "pathIds": [
        "home-mobile"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-002",
        "DISCORD-003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-004"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-005",
        "DISCORD-006"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-007"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-009",
        "DISCORD-010",
        "DISCORD-011"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-013",
        "DISCORD-012"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-014",
        "DISCORD-015",
        "DISCORD-016"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-017",
        "DISCORD-018"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "DISCORD-005",
        "DISCORD-019"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-020"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "DISCORD-022",
        "DISCORD-021",
        "DISCORD-011"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No agent-facing capability is declared, and this emerging surface was not part of the public marketing page’s stated intent. No summarisation, generation, or other inference feature is offered on these pages, so on-device inference is not applicable."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "DISCORD-023"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global marketing template, including navigation, consent, metadata, performance, privacy, and long-page behavior.",
      "url": "https://discord.com/",
      "conditions": [
        "1440x900",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce"
      ],
      "result": "issues"
    },
    {
      "id": "home-mobile",
      "description": "Homepage mobile adaptation, consent interruption, menu interaction, layout stability, and repeated interaction memory.",
      "url": "https://discord.com/",
      "conditions": [
        "360x800",
        "keyboard focus",
        "ten menu open/close cycles"
      ],
      "result": "issues"
    },
    {
      "id": "download",
      "description": "Primary product-download landing template and conversion action.",
      "url": "https://discord.com/download",
      "conditions": [
        "1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "nitro",
      "description": "Commercial subscription landing template and pricing/consent messaging.",
      "url": "https://discord.com/nitro",
      "conditions": [
        "1440x900"
      ],
      "result": "issues"
    },
    {
      "id": "servers",
      "description": "Public discovery/listing archetype and light-surface theme behavior.",
      "url": "https://discord.com/servers",
      "conditions": [
        "1440x900",
        "prefers-color-scheme: dark"
      ],
      "result": "issues"
    },
    {
      "id": "blog",
      "description": "Content index archetype and editorial discoverability.",
      "url": "https://discord.com/blog",
      "conditions": [
        "1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "safety",
      "description": "Safety resource hub archetype.",
      "url": "https://discord.com/safety",
      "conditions": [
        "1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "login",
      "description": "Primary account-entry flow; rendered blank in the audited condition.",
      "url": "https://discord.com/login",
      "conditions": [
        "1440x900",
        "7 second wait"
      ],
      "result": "failed"
    }
  ],
  "findings": [
    {
      "id": "DISCORD-001",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "pathId": "servers",
      "url": "https://discord.com/servers",
      "summary": "Public surfaces do not consistently adapt to the user’s colour-scheme preference.",
      "evidence": "The servers page remained pixel-identical and light under prefers-color-scheme: dark, while the homepage uses its fixed dark art direction.",
      "artifacts": [
        "evidence/servers.png",
        "evidence/servers-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and map semantic surface and text tokens through prefers-color-scheme or light-dark(), while preserving brand artwork.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-002",
      "severity": "low",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Route and major state changes do not use View Transitions.",
      "evidence": "The DOM/CSS probe found no view-transition rules on an interaction-heavy navigation surface.",
      "artifacts": [
        "evidence/document-probe.json"
      ],
      "suggestedFix": "Use same-document transitions for menu and state changes and cross-document transitions for compatible marketing routes, with reduced-motion handling.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-003",
      "severity": "low",
      "confidence": "medium",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "scroll-driven-animations",
      "guidanceId": "scroll-entry-exit-effects",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The long, animated marketing page does not use declarative scroll timelines.",
      "evidence": "The CSS probe found no animation-timeline or scroll-timeline rules across a 6,869px mobile page.",
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/home-layout-mobile.json"
      ],
      "suggestedFix": "Move scroll-linked reveals or progress effects to CSS scroll-driven animations and retain a static reduced-motion state.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-004",
      "severity": "low",
      "confidence": "high",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Navigation dropdowns use custom structures without CSS anchor positioning.",
      "evidence": "Recon found multiple dropdown navigation groups, while the CSS probe found no anchor-positioning primitives and the DOM reported 31 anchors without href.",
      "artifacts": [
        "evidence/controls-mobile.json",
        "evidence/document-probe.json"
      ],
      "suggestedFix": "Use popover-backed menus anchored to their trigger with position-try fallbacks, while keeping a conventional positioning fallback.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-005",
      "severity": "high",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "The cookie banner obscures a large share of the primary mobile content on first load.",
      "evidence": "The 360x800 screenshot and geometry probe show a 253.8px fixed banner covering 31.7% of the viewport, including the hero copy and primary actions.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/mobile-menu-open.json"
      ],
      "suggestedFix": "Use a compact, content-first consent notice with equal accept and reject choices, preserve settings access, and avoid covering the primary CTA.",
      "effort": "small"
    },
    {
      "id": "DISCORD-006",
      "severity": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Rich navigation relies on ad-hoc links and role-based overlays instead of native overlay primitives.",
      "evidence": "The DOM probe found zero dialog, popover, or details elements, 31 anchors without href, and repeated role=button wrappers in navigation.",
      "artifacts": [
        "evidence/document-probe.json",
        "evidence/controls-mobile.json"
      ],
      "suggestedFix": "Use buttons for actions, real href anchors for navigation, popover for transient menus, and dialog only for modal flows.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-007",
      "severity": "low",
      "confidence": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "Responsive behavior is viewport-driven rather than component-aware.",
      "evidence": "The page adapts at 360px without overflow, but the CSS probe found no container queries despite reused navigation and content components.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/document-probe.json"
      ],
      "suggestedFix": "Introduce container queries for reusable cards, media groups, and navigation subcomponents where their available width, not viewport width, controls layout.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-008",
      "severity": "high",
      "confidence": "medium",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "forms",
      "pathId": "login",
      "url": "https://discord.com/login",
      "summary": "The primary login journey rendered as a blank page in the audited browser.",
      "evidence": "After a 7 second wait, the login screenshot was entirely blank and the probe reported empty body text and no form, despite a large client bundle being present.",
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Ensure the login shell renders a server-visible form or actionable failure state, and make bot, rate-limit, and bundle failures recoverable rather than blank.",
      "effort": "large"
    },
    {
      "id": "DISCORD-009",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "Cold-load performance is well outside the good Core Web Vitals experience.",
      "evidence": "Lighthouse measured LCP 9.3s, FCP 4.5s, TBT 630ms, and Time to Interactive 18.5s. The independent trace measured LCP 2.31s and TBT 145ms on desktop, showing strong condition sensitivity rather than a consistently fast load.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "suggestedFix": "Prioritise the LCP asset, remove render-blocking work, defer noncritical media and scripts, and profile the slow mobile condition until LCP is below 2.5s.",
      "effort": "large"
    },
    {
      "id": "DISCORD-010",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The homepage transfers 17.5 MB and has expensive render-blocking and cache behavior.",
      "evidence": "HAR recorded 131 requests and 17,530,817 transferred bytes, including 13.0 MB media. Lighthouse estimated 3.4s render-blocking savings and 14,904 KiB cache savings.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Do not fetch below-fold video before intent or proximity, preload only the true LCP resource, split critical CSS, defer parser-blocking scripts, and give versioned media long immutable caching.",
      "effort": "large"
    },
    {
      "id": "DISCORD-011",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The page ships substantial unused CSS and JavaScript.",
      "evidence": "Lighthouse estimated 554 KiB unused JavaScript and 451 KiB unused CSS; the shared Webflow CSS was 97% unused in the measured view.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Split route-specific CSS and JavaScript, load consent and app integrations only when needed, and remove duplicate legacy/Webflow payloads from the marketing shell.",
      "effort": "large"
    },
    {
      "id": "DISCORD-012",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "The cookie notice privacy link fails text contrast.",
      "evidence": "Lighthouse measured a 2.46:1 ratio for #00b0f4 text on white at 13px, below the required 4.5:1.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Use a darker link token that reaches at least 4.5:1 in the consent surface and verify all preference modes.",
      "effort": "trivial"
    },
    {
      "id": "DISCORD-013",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "The visible privacy-link text is absent from its accessible name.",
      "evidence": "Lighthouse flagged label-content-name-mismatch: visible “Privacy Notice” is named “More information about your privacy, opens in a new tab”.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/mobile-menu-open.json"
      ],
      "suggestedFix": "Make the accessible name begin with or include the visible label, for example “Privacy Notice, opens in a new tab”.",
      "effort": "trivial"
    },
    {
      "id": "DISCORD-014",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The homepage logs browser and network errors during load.",
      "evidence": "Lighthouse captured 8 console entries including CSP-blocked scripts/connections and 401/429 API responses.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Align deployed scripts with the CSP, stop unauthenticated marketing-page API calls, and handle expected authorization/rate-limit responses without console errors.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-015",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Many image elements lack stable intrinsic dimensions and several are distorted.",
      "evidence": "The images primitive found 96 of 100 images without both dimensions and 10 oversized images. Lighthouse identified incorrect aspect ratios and unsized hero/decorative images.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Set numeric width and height or aspect-ratio from source dimensions, preserve object-fit intentionally, and supply responsive sources sized for actual display slots.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-016",
      "severity": "low",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The load includes deprecated browser APIs and missing source maps.",
      "evidence": "Lighthouse reported three deprecation warnings from the Cloudflare challenge script and missing maps for large first-party scripts.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Update or isolate the deprecated challenge integration and publish valid maps to the controlled debugging endpoint or suppress their references intentionally.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-017",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Cookie and header policy has avoidable security gaps.",
      "evidence": "HTTPS, HSTS, nosniff and X-Frame-Options are present, but locale and OptanonConsent cookies lack Secure, CSP permits unsafe-inline, and Referrer-Policy is missing.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Mark every HTTPS cookie Secure, use the narrowest workable SameSite policy, remove unsafe-inline through nonces or hashes, and set a deliberate Referrer-Policy.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-018",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "The public landing page has a broad third-party and tracking footprint before consent.",
      "evidence": "The tracker probe saw 9 third-party origins including Google Tag Manager; HAR attributed 101 of 131 requests and 16.47 MB to third-party origins.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Delay nonessential tags until consent, proxy or self-host critical assets where appropriate, remove unused integrations, and document each remaining third party’s purpose and retention.",
      "effort": "large"
    },
    {
      "id": "DISCORD-019",
      "severity": "high",
      "confidence": "medium",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "performance",
      "pathId": "login",
      "url": "https://discord.com/login",
      "summary": "The login route has no useful recovery state when its client runtime does not initialise.",
      "evidence": "The route remained a blank white document with no message, retry, fallback link, or form after 7 seconds.",
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Render a minimal server fallback and a timed client error boundary with retry, status, help, and non-JavaScript sign-in options where feasible.",
      "effort": "large"
    },
    {
      "id": "DISCORD-020",
      "severity": "high",
      "confidence": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkey-reauthentication",
      "guidanceCategory": "identity",
      "pathId": "login",
      "url": "https://discord.com/login",
      "summary": "The account entry point provides no visible, reversible, or assistive flow in the audited condition.",
      "evidence": "The blank login route exposed no sign-in controls, help, cancellation/back path, or error explanation. The HTML config declares WEBAUTHN_ORIGIN, but the usable auth UI never appeared.",
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "suggestedFix": "Make the sign-in form and recovery choices resilient, preserve passkey support, include correct autocomplete tokens, and expose help and back/cancel routes before loading optional app code.",
      "effort": "large"
    },
    {
      "id": "DISCORD-021",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "pathId": "home",
      "url": "https://discord.com/",
      "summary": "Media and third-party transfer is disproportionate for a marketing landing page.",
      "evidence": "The first load transferred 13.0 MB across 18 media requests and 16.47 MB from third-party origins, including multiple 1.4 to 3.7 MB MP4 files.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Use posters by default, fetch video only near viewport or after user intent, cap simultaneous media, and reduce third-party dependencies.",
      "effort": "large"
    },
    {
      "id": "DISCORD-022",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "performance",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "Several decorative assets are oversized or delivered in inefficient formats.",
      "evidence": "The image audit found 10 oversized images, 11 without srcset, and 3 legacy formats; Lighthouse estimated 288 KiB image delivery savings.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Generate width-matched AVIF/WebP variants, use sizes and srcset for each real slot, and replace decorative GIF/PNG where motion or transparency does not require them.",
      "effort": "medium"
    },
    {
      "id": "DISCORD-023",
      "severity": "medium",
      "confidence": "medium",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "pathId": "home-mobile",
      "url": "https://discord.com/",
      "summary": "The marketing homepage has a large baseline heap and DOM footprint.",
      "evidence": "The baseline heap summary contained 1,059,370 nodes and 68.0 MB self size, including 451,117 native nodes, which is heavy for a finite marketing page.",
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "suggestedFix": "Remove inactive duplicated DOM, defer below-fold interactive/media components, and profile large native allocations and retained Webflow/app integration objects.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "TASK-001",
      "title": "Make the login shell resilient and always actionable",
      "priority": 1,
      "findingIds": [
        "DISCORD-008",
        "DISCORD-019",
        "DISCORD-020"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "TASK-002",
      "title": "Stop eager media transfer and optimise the critical loading path",
      "priority": 2,
      "findingIds": [
        "DISCORD-009",
        "DISCORD-010",
        "DISCORD-021",
        "DISCORD-022"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "TASK-003",
      "title": "Reduce and defer unused CSS, JavaScript, tags, and integrations",
      "priority": 3,
      "findingIds": [
        "DISCORD-011",
        "DISCORD-014",
        "DISCORD-018"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "TASK-004",
      "title": "Replace the large mobile consent obstruction with compact accessible consent UI",
      "priority": 4,
      "findingIds": [
        "DISCORD-005",
        "DISCORD-012",
        "DISCORD-013"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "TASK-005",
      "title": "Harden headers and cookie policy",
      "priority": 5,
      "findingIds": [
        "DISCORD-017"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "TASK-006",
      "title": "Reserve image geometry and correct responsive asset sizing",
      "priority": 6,
      "findingIds": [
        "DISCORD-015",
        "DISCORD-022"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "TASK-007",
      "title": "Adopt semantic modern navigation and overlay primitives",
      "priority": 7,
      "findingIds": [
        "DISCORD-004",
        "DISCORD-006"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "TASK-008",
      "title": "Add user-driven theming and component-level responsiveness",
      "priority": 8,
      "findingIds": [
        "DISCORD-001",
        "DISCORD-007"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "TASK-009",
      "title": "Profile and reduce the baseline DOM and native memory footprint",
      "priority": 9,
      "findingIds": [
        "DISCORD-023"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "TASK-010",
      "title": "Progressively enhance route and scroll motion",
      "priority": 10,
      "findingIds": [
        "DISCORD-002",
        "DISCORD-003"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    },
    {
      "id": "TASK-011",
      "title": "Resolve deprecated API and source-map hygiene",
      "priority": 11,
      "findingIds": [
        "DISCORD-016"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 8,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T16-55-22-946Z"
}
