{
  "url": "https://nya2.com",
  "auditedAt": "2026-07-22T10:01:51.302Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit of the static homepage and all three linked legal-policy templates.",
  "page": {
    "appType": "mpa",
    "framework": "Static HTML/CSS behind Cloudflare",
    "notes": "Small public disclaimer/legal site. No client application, forms, authentication, media, overlays, or app-like interaction."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "har",
    "trace",
    "heap-summary",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "css-layout",
    "forms",
    "performance",
    "optimize-image-priority",
    "break-up-long-tasks",
    "security",
    "privacy",
    "passkeys",
    "stabilize-reactive-state",
    "translator",
    "language-detection",
    "reduce-style-repetition",
    "batch-analytics-events",
    "html"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage at desktop viewport"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/privacy-desktop.png",
      "caption": "Privacy policy desktop template"
    },
    {
      "type": "screenshot",
      "path": "evidence/agreement-mobile.png",
      "caption": "User agreement at 360x800",
      "condition": "viewport: 360x800"
    },
    {
      "type": "screenshot",
      "path": "evidence/cookie-mobile.png",
      "caption": "Cookie policy at 360x800",
      "condition": "viewport: 360x800"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered homepage DOM and CSS"
    },
    {
      "type": "dom",
      "path": "evidence/privacy-dom.json",
      "caption": "Rendered privacy-policy DOM and CSS"
    },
    {
      "type": "dom",
      "path": "evidence/agreement-dom.json",
      "caption": "Rendered user-agreement DOM and CSS"
    },
    {
      "type": "dom",
      "path": "evidence/cookie-dom.json",
      "caption": "Rendered cookie-policy DOM and CSS"
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Homepage mobile overflow, CLS and long-task metrics",
      "condition": "viewport: 360x800"
    },
    {
      "type": "layout",
      "path": "evidence/privacy-mobile-layout.json",
      "caption": "Privacy template mobile overflow, CLS and long-task metrics",
      "condition": "viewport: 360x800"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Homepage network archive"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Compact homepage network summary",
      "findingIds": [
        "F06",
        "F09"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "Homepage DevTools performance trace"
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Compact performance timing and main-thread summary"
    },
    {
      "type": "heap",
      "path": "evidence/home-heap.json",
      "caption": "Static homepage V8 heap summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Lighthouse performance/accessibility/best-practices/SEO report",
      "findingIds": [
        "F06",
        "F07",
        "F08",
        "F09",
        "F10",
        "F11",
        "F14"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Raw HTML versus rendered homepage content"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Browser-rendered discoverability view"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "No-JavaScript crawler discoverability view"
    },
    {
      "type": "discoverability",
      "path": "evidence/privacy-discoverability.json",
      "caption": "Raw HTML versus rendered privacy content"
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Security response header inspection",
      "findingIds": [
        "F13"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Cookie inspection"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Third-party tracker inspection"
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Client-exposed secret scan"
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Rendered image delivery audit",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-quality-probe.json",
      "caption": "Headings, metadata, focus, target size and feature probe",
      "findingIds": [
        "F03",
        "F07",
        "F08",
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/privacy-link-check.json",
      "caption": "Broken and intended Cookie Policy URL fetches",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/site-routes-probe.json",
      "caption": "robots.txt, sitemap.xml and missing-route probes",
      "findingIds": [
        "F05",
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-dark-probe.json",
      "caption": "Computed styles under dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-contrast-probe.json",
      "caption": "Computed styles and visible text under increased contrast",
      "condition": "prefers-contrast: more"
    },
    {
      "type": "other",
      "path": "evidence/home-motion-probe.json",
      "caption": "Animation and scroll behavior under reduced motion",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-search.json",
      "caption": "Pinned Modern Web Guidance search results"
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "Pinned Modern Web Guidance retrieved guides"
    }
  ],
  "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": "high",
      "method": "Emulated dark media screenshot plus computed-style probe",
      "evidence": "With prefers-color-scheme: dark active, computed color-scheme remained normal and body stayed rgb(255,255,255) / rgb(34,34,34); dark and default screenshots were identical.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Emulated reduced-motion animation and computed-style probe",
      "evidence": "With prefers-reduced-motion: reduce active there were no animations, but html still computed scroll-behavior: smooth with no reduced-motion override.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-motion-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse contrast audit plus emulated prefers-contrast computed-style probe",
      "evidence": "Lighthouse found no contrast violations, and the prefers-contrast probe retained visible #222 text on a white/gray surface.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-contrast-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The audited site is a static document set with no state swaps, SPA routes, or app-like transition to animate.",
      "reason": "The audited site is a static document set with no state swaps, SPA routes, or app-like transition to animate."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM/CSS and script inspection",
      "evidence": "DOM/CSS inspection found no scroll-linked animation, animation timeline, or client-authored script/scroll listener; the static pages avoid main-thread scroll effects.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "No gesture-driven, draggable, swipe, carousel, or scroll-snap interface exists on these static documents.",
      "reason": "No gesture-driven, draggable, swipe, carousel, or scroll-snap interface exists on these static documents."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "There is no sticky or affixed chrome whose state needs to react to scrolling.",
      "reason": "There is no sticky or affixed chrome whose state needs to react to scrolling."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "There are no tooltips, popovers, menus, or floating overlays to anchor.",
      "reason": "There are no tooltips, popovers, menus, or floating overlays to anchor."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop/mobile screenshots, DOM links, and focus probe",
      "evidence": "Policy navigation uses descriptive footer links and policy pages expose prominent page headings; keyboard focus receives the browser focus outline.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/privacy-desktop.png",
        "evidence/home-quality-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Load screenshots and overlay DOM count",
      "evidence": "Load screenshots and DOM show no pop-up, consent wall, interstitial, or overlay obscuring the content.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-quality-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "No overlay, disclosure widget, picker, or rich custom control exists on the audited pages.",
      "reason": "No overlay, disclosure widget, picker, or rich custom control exists on the audited pages."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop and mobile screenshot review",
      "evidence": "Screenshots show a restrained logo header, content column, and footer with no competing application chrome or advertising.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/privacy-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile layout primitive and screenshots",
      "evidence": "At 360x800 both homepage and long privacy template reported scrollWidth 360, clientWidth 360, zero horizontal overflow, and CLS 0.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/privacy-mobile-layout.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The small static templates do not reuse a component in materially different container contexts; viewport-based footer stacking is sufficient for the observed use.",
      "reason": "The small static templates do not reuse a component in materially different container contexts; viewport-based footer stacking is sufficient for the observed use."
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Programmatic focus and bounding-rectangle probe",
      "evidence": "Keyboard focus is visible, but all measured inline links are only 17px high, well below a comfortable touch target, including the primary abuse email and footer policy links.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and heading/link review",
      "evidence": "The first viewport explains that the domain hosts survey landing pages and visibly directs abuse reports to a labelled support email; legal pages name their subject with a prominent heading.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/privacy-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct fetch of linked and intended policy URLs",
      "evidence": "The privacy policy tells users to open its Cookies Policy but links to /assets/cookies-policy.html, which returned HTTP 404; the actual page is /assets/cookie.html.",
      "pathIds": [
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/privacy-link-check.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Fetch probes for nonexistent routes and broken linked URL",
      "evidence": "A missing root route returned HTTP 200 with only “empty OK”, while the broken policy URL returned a generic nginx 404 with no route back or recovery action.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/site-routes-probe.json",
        "evidence/privacy-link-check.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and DevTools trace summary",
      "evidence": "Lighthouse measured LCP 1.1s, CLS 0 and TBT 0ms; trace measured LCP 563ms and TBT 0ms.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout-shift observer",
      "evidence": "Mobile layout observation after 2.5s recorded CLS 0 and no layout shifts on both homepage and privacy template.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/privacy-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Trace summary and long-task observer",
      "evidence": "Trace and mobile layout observers recorded zero long tasks and 0ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse diagnostics plus HAR summary confirmed against DOM",
      "evidence": "The page is fast and only 23.5KB, but Lighthouse identified about 14KiB of avoidable cache-lifetime waste and a render-blocking stylesheet; the image is the dominant 18.7KB request.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "pass",
      "confidence": "high",
      "method": "HAR summary and rendered script inspection",
      "evidence": "HAR contained only six requests and 23.5KB transferred, no third party bytes, and only a 729-byte Cloudflare email decoder script; no large bundle or duplicate-code signal exists.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-quality-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "pass",
      "confidence": "high",
      "method": "DOM inspection and Lighthouse accessibility audit",
      "evidence": "The single meaningful image has descriptive alt text, links have readable names and real hrefs, and the site uses header/main/footer landmarks; no form or custom control requires ARIA.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and screenshot review",
      "evidence": "Lighthouse color-contrast audit passed and visual review found dark text on light surfaces and white footer text on #526176.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "DOM heading inventory, legal-page DOM, and Lighthouse corroboration",
      "evidence": "The homepage has no h1 and begins its only section heading at h3; policy pages jump from h1 to h3. Focus is visible, but the heading hierarchy does not represent document structure.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/privacy-dom.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop/mobile screenshot review",
      "evidence": "Desktop and 360px screenshots show readable 16px text, bounded line length, no clipping, and coherent wrapping on long legal content.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/agreement-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Viewport DOM probe, Lighthouse meta-viewport audit, and mobile layout",
      "evidence": "Every audited page uses user-scalable=no with maximum-scale=1.0; Lighthouse flags this as preventing user zoom. Mobile reflow itself has no overflow and there is no media requiring captions.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/lighthouse-home.json",
        "evidence/home-mobile-layout.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse console audit",
      "evidence": "Lighthouse recorded no browser console errors or uncaught exceptions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "DOM, Lighthouse unsized-image audit, and image primitive",
      "evidence": "The document has a valid HTML doctype and UTF-8, but the logo omits width and height attributes; the image audit also found a 961px source displayed at 200px with no srcset.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-images.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse best-practice diagnostics and DOM/script inspection",
      "evidence": "Lighthouse found no deprecated APIs or inspector issues; DOM inspection found no permission prompts, forms with paste prevention, or client application runtime.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-quality-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "DOM across each representative template and Lighthouse SEO audit",
      "evidence": "All four distinct pages use the same generic title “ROWOON SERVICE LTD” and none has a meta description; the homepage also lacks an h1.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/privacy-dom.json",
        "evidence/agreement-dom.json",
        "evidence/cookie-dom.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse SEO plus robots and viewport probes",
      "evidence": "Anchors use real hrefs and content is mobile-reflowed, but robots.txt contains a non-standard “empty OK” line flagged invalid by Lighthouse, and the viewport disables scaling.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/site-routes-probe.json",
        "evidence/home-quality-probe.json"
      ],
      "findingIds": [
        "F11",
        "F08"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "DOM canonical probe, sitemap/route fetches, and Lighthouse SEO",
      "evidence": "Public pages return 200 and are not noindex, but expose no canonical links; sitemap.xml returns the literal text “empty OK”, and unknown root URLs soft-404 with HTTP 200.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/site-routes-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "DOM metadata probe across representative templates",
      "evidence": "The organization/home page and policy documents expose no Open Graph tags and no JSON-LD, so shared links lack page-specific preview/entity metadata.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/privacy-dom.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Security headers, cookies, HAR, and secrets primitives",
      "evidence": "HTTPS and nosniff are present and no cookies/mixed content were observed, but CSP is absent and HSTS is only max-age=1 second.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-secrets.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "high",
      "method": "Cookies, trackers, HAR, and secrets primitives",
      "evidence": "The observed site set no cookies, loaded no third-party origins or known trackers, transferred no third-party bytes, and exposed no secrets.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-cookies.json",
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home-secrets.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "No authentication or permission-requesting feature exists on this public static document set.",
      "reason": "No authentication or permission-requesting feature exists on this public static document set."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Main-document security header inspection",
      "evidence": "CSP/frame-ancestors and X-Frame-Options are absent, as are Referrer-Policy and Permissions-Policy; the page therefore lacks basic clickjacking and browser capability restrictions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw-HTML versus rendered-DOM discoverability primitive and crawler screenshots",
      "evidence": "Discoverability comparison found 100% rendered-content coverage in raw HTML on both home and privacy pages; content is fully available without JavaScript.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/privacy-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "DOM/screenshots and Lighthouse console diagnostics",
      "evidence": "The static pages have no custom overlays or asynchronous app state; DOM, screenshots and zero console errors show a stable native-document runtime.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-desktop.png",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "This public informational/legal document set is not an app and has no offline-critical transactional flow; installability is not proportionate to its purpose.",
      "reason": "This public informational/legal document set is not an app and has no offline-critical transactional flow; installability is not proportionate to its purpose."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Direct failed-route and broken-link fetch probes",
      "evidence": "The linked Cookies Policy returns a generic nginx 404 without site navigation, while an unknown root URL returns HTTP 200 with an empty “empty OK” body, obscuring failure state.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/privacy-link-check.json",
        "evidence/site-routes-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "DOM across templates and Lighthouse html-has-lang audit",
      "evidence": "All representative documents render English text but the html element has no lang attribute; Lighthouse confirms the accessibility/language failure.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/privacy-dom.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The audited static policy and disclaimer pages display no dates, numbers, currencies, durations, or user-selectable locale data requiring Intl formatting.",
      "reason": "The audited static policy and disclaimer pages display no dates, numbers, currencies, durations, or user-selectable locale data requiring Intl formatting."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The audited pages contain no events, times, recurrence, time-zone conversion, or DST-sensitive state.",
      "reason": "The audited pages contain no events, times, recurrence, time-zone conversion, or DST-sensitive state."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Screenshots, DOM, cookies, and tracker inspection",
      "evidence": "No consent wall, ad, upsell, forced continuity, preselected option, or disguised control appeared on any audited page; contact and legal links are plainly labelled.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json",
        "evidence/home-cookies.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "No user-input form exists on the audited static pages, so there is no validation/error interaction to exercise.",
      "reason": "No user-input form exists on the audited static pages, so there is no validation/error interaction to exercise."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "No input fields or sign-in/address/payment form exists on the audited pages.",
      "reason": "No input fields or sign-in/address/payment form exists on the audited pages."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The audited domain explicitly conducts no purchase flow and exposes no subscription, authentication, consent-setting, or account-management interface.",
      "reason": "The audited domain explicitly conducts no purchase flow and exposes no subscription, authentication, consent-setting, or account-management interface."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "HAR, image primitive, and Lighthouse image diagnostics",
      "evidence": "The page is only 23.5KB, but its 18.7KB logo dominates transfer, is 961px wide for a 200px display, lacks srcset, and lacks intrinsic dimensions; Lighthouse estimates about 16KiB image-delivery savings.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-images.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "high",
      "method": "HAR and trace/layout observers",
      "evidence": "HAR shows six small requests and no background/third-party fetches; trace and layout observers recorded no long tasks.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "high",
      "method": "HAR, tracker, media, and animation probes",
      "evidence": "No third-party bytes, trackers, fonts, video, audio, autoplay, or animation were observed; total transfer was 23.5KB.",
      "pathIds": [
        "home",
        "privacy",
        "agreement",
        "cookie"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-quality-probe.json",
        "evidence/home-motion-probe.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "This static corporate disclaimer/legal site exposes no agent-actionable transaction or productivity capability; WebMCP tools would not add a safe user task here.",
      "reason": "This static corporate disclaimer/legal site exposes no agent-actionable transaction or productivity capability; WebMCP tools would not add a safe user task here."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The static disclaimer and policy content has no inference task that would justify a language model or summarizer integration.",
      "reason": "The static disclaimer and policy content has no inference task that would justify a language model or summarizer integration."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM/CSS inspection",
      "evidence": "The site is static, has no client-authored scripts or representative open/close/navigation state interaction to repeat ten times, so a repeated-interaction leak test would be synthetic.",
      "reason": "The site is static, has no client-authored scripts or representative open/close/navigation state interaction to repeat ten times, so a repeated-interaction leak test would be synthetic."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "V8 heap summary",
      "evidence": "The single heap summary is proportionate: 30,159 nodes and about 1.06MB total self size for the loaded static page, with no large application object population.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Heap constructor summary and rendered script inspection",
      "evidence": "The heap summary has no Detached* constructor among retained populations, and DOM inspection finds no client-authored scripts, timers, or interaction handlers that could accumulate across the static session.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap.json",
        "evidence/home-quality-probe.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F08",
        "F12"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "This static corporate disclaimer/legal site exposes no agent-actionable transaction or productivity capability; WebMCP tools would not add a safe user task here. The static disclaimer and policy content has no inference task that would justify a language model or summarizer integration."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Public domain disclaimer homepage and primary abuse-reporting/contact task.",
      "url": "https://nya2.com/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "privacy",
      "description": "Privacy-policy content template and legal navigation, including the authored Cookies Policy link.",
      "url": "https://nya2.com/assets/privacy-policy.html",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "agreement",
      "description": "Long-form User Agreement template representing dense legal content and mobile reflow.",
      "url": "https://nya2.com/assets/user_agreement.html",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "cookie",
      "description": "Cookie Policy template and its long-form mobile reading experience.",
      "url": "https://nya2.com/assets/cookie.html",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "css",
      "severity": "medium",
      "confidence": "high",
      "summary": "The site ignores the user’s dark color-scheme preference.",
      "evidence": "The emulated dark condition matched, but color-scheme stayed normal and the page remained white with #222 text; dark/default captures were identical.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark-probe.json"
      ],
      "suggestedFix": "Declare color-scheme: light dark and define paired surface/text tokens with light-dark() or a prefers-color-scheme query, preserving tested contrast in both schemes.",
      "effort": "small"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "low",
      "confidence": "high",
      "summary": "Smooth scrolling remains enabled when reduced motion is requested.",
      "evidence": "The reduced-motion probe reported reduce=true and computed scroll-behavior: smooth.",
      "artifacts": [
        "evidence/home-motion-probe.json"
      ],
      "suggestedFix": "Place scroll-behavior: smooth behind prefers-reduced-motion: no-preference, or reset it to auto inside prefers-reduced-motion: reduce.",
      "effort": "trivial"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Important inline links have undersized touch targets.",
      "evidence": "The DOM probe measured every email, telephone, and policy link at only 17px high, despite those being the primary actions.",
      "artifacts": [
        "evidence/home-quality-probe.json"
      ],
      "suggestedFix": "Give action and footer links enough block/inline padding to produce at least a 24px WCAG floor and preferably about 44px on touch layouts, without crowding adjacent targets.",
      "effort": "small"
    },
    {
      "id": "F04",
      "pathId": "privacy",
      "url": "https://nya2.com/assets/privacy-policy.html",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The Privacy Policy’s Cookies Policy link is broken.",
      "evidence": "A direct fetch of the authored ./cookies-policy.html link returned 404, while the actual ./cookie.html page returned 200.",
      "artifacts": [
        "evidence/privacy-link-check.json"
      ],
      "suggestedFix": "Change the privacy-policy href to ./cookie.html and add an automated internal-link check so legal routes cannot regress.",
      "effort": "trivial"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://nya2.com/nonexistent-audit-404",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Missing routes do not provide a clear, recoverable site error state.",
      "evidence": "An unknown root route returned 200 with “empty OK”; the broken asset route returned a generic nginx 404 with no home or support link.",
      "artifacts": [
        "evidence/site-routes-probe.json",
        "evidence/privacy-link-check.json"
      ],
      "suggestedFix": "Return a true 404 and render a branded, semantic error page with a concise explanation plus links to home and support.",
      "effort": "small"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "low",
      "confidence": "high",
      "summary": "Static assets leave small but measurable delivery savings.",
      "evidence": "Lighthouse estimated about 14KiB cache savings and flagged one render-blocking stylesheet; HAR shows the logo is 18.7KB of the 23.5KB load.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Set long immutable caching for fingerprinted static assets and keep critical above-the-fold CSS minimal; verify the tiny stylesheet strategy against repeat-view performance.",
      "effort": "small"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Heading hierarchy does not expose the page structure.",
      "evidence": "The homepage has no h1 and only an h3; policy templates jump directly from h1 to h3.",
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/privacy-dom.json"
      ],
      "suggestedFix": "Add one descriptive h1 to the homepage and use h2 for each top-level policy/disclaimer section, nesting h3 only beneath an h2.",
      "effort": "small"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The viewport configuration prevents user zoom.",
      "evidence": "All templates specify user-scalable=no and maximum-scale=1.0; Lighthouse failed the meta-viewport accessibility audit.",
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Use width=device-width, initial-scale=1 and remove user-scalable=no, maximum-scale=1, and minimum-scale=1 restrictions.",
      "effort": "trivial"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "low",
      "confidence": "high",
      "summary": "The logo lacks intrinsic dimensions and responsive source selection.",
      "evidence": "Image inspection found no width/height attributes or srcset and a 961px source rendered at 200px; Lighthouse failed unsized-images and estimated about 16KiB image savings.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Add accurate width and height attributes, export a smaller WebP/AVIF logo, and provide srcset/sizes if multiple rendered densities are needed.",
      "effort": "small"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Distinct public pages share a generic title and have no meta descriptions.",
      "evidence": "Homepage, privacy, user agreement, and cookie templates all title themselves “ROWOON SERVICE LTD”; no meta description was present, and Lighthouse failed meta-description.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/privacy-dom.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Give each route a unique intent-led title and concise page-specific meta description, such as “Privacy Policy | Rowoon Service”.",
      "effort": "small"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Crawler indexing signals are incomplete and internally inconsistent.",
      "evidence": "No canonical links exist, sitemap.xml contains only “empty OK”, robots.txt includes that invalid line, and unknown root paths soft-404 with HTTP 200.",
      "artifacts": [
        "evidence/site-routes-probe.json",
        "evidence/home-quality-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Serve a valid robots.txt, a real XML sitemap listing canonical public URLs, canonical link elements, and correct 404 status codes for unknown routes.",
      "effort": "small"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "low",
      "confidence": "high",
      "summary": "Public organization and legal pages lack share-preview and structured metadata.",
      "evidence": "The DOM probe found zero Open Graph tags and zero JSON-LD blocks.",
      "artifacts": [
        "evidence/home-quality-probe.json"
      ],
      "suggestedFix": "Add page-specific Open Graph title/description/url metadata and accurate Organization JSON-LD on the homepage; keep policy metadata aligned with visible content.",
      "effort": "small"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Basic browser-enforced security policies are missing or ineffective.",
      "evidence": "Headers show no CSP, frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy; HSTS is max-age=1 second.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Deploy a tested CSP (including frame-ancestors), meaningful HSTS duration after validating HTTPS coverage, Referrer-Policy, and a least-privilege Permissions-Policy; retain nosniff.",
      "effort": "medium"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://nya2.com/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "internationalization",
      "severity": "medium",
      "confidence": "high",
      "summary": "The document language is not declared.",
      "evidence": "The html element has no lang on any audited template; Lighthouse failed html-has-lang.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/privacy-dom.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Set <html lang=\"en\"> on every template (and dir only where content direction requires it), then preserve language metadata in generated survey landing pages.",
      "effort": "trivial"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Repair the broken Cookies Policy link and correct 404 handling",
      "priority": 1,
      "findingIds": [
        "F04",
        "F05"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Restore browser zoom and enlarge primary link targets",
      "priority": 2,
      "findingIds": [
        "F08",
        "F03"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Deploy CSP, framing protection, HSTS, referrer and permissions policies",
      "priority": 3,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Fix headings and declare the English document language",
      "priority": 4,
      "findingIds": [
        "F07",
        "F14"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Add unique search/share metadata and valid indexing signals",
      "priority": 5,
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Respect dark and reduced-motion preferences",
      "priority": 6,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Size and optimize the logo and static-asset caching",
      "priority": 7,
      "findingIds": [
        "F06",
        "F09"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T10-01-51-302Z"
}
