{
  "url": "https://www.aznude.com",
  "auditedAt": "2026-07-19T15:25:02.859Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Atomic coverage complete across five representative paths. Not covered: authenticated profile/upload/history, destructive account actions, actual signup submission, and media playback, because they require credentials, mutate external state, or expose substantially similar templates.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered MPA with jQuery/Firebase enhancements",
    "notes": "Public adult-media catalog. Representative home, listing, detail, signup, and 404 templates audited."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "performance",
    "privacy",
    "security",
    "forms",
    "optimize-image-priority",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "improve-text-layout-and-legibility",
    "fluid-scaling",
    "size-aware-styling",
    "html"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage at 1440x900",
      "condition": "desktop",
      "findingIds": [
        "F001",
        "F002",
        "F004",
        "F007",
        "F025"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark-reduced.png",
      "caption": "Homepage under dark and reduced-motion preferences",
      "condition": "prefers-color-scheme: dark; prefers-reduced-motion: reduce",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-desktop.png",
      "caption": "Recent videos listing",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-desktop.png",
      "caption": "Representative celebrity detail",
      "condition": "desktop",
      "findingIds": [
        "F007",
        "F025"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/signup-mobile.png",
      "caption": "Signup flow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F022",
        "F026"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "404 recovery state",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Home mobile layout metrics",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F004",
        "F008"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/detail-mobile-layout.json",
      "caption": "Detail mobile layout metrics",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F008",
        "F015"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace",
      "condition": "initial load",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Trace timing summary",
      "condition": "initial load",
      "findingIds": [
        "F011",
        "F012"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Initial-load network archive",
      "condition": "4 second load",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Network totals, third parties and offenders",
      "condition": "4 second load",
      "findingIds": [
        "F011",
        "F012",
        "F013",
        "F028",
        "F029"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Lighthouse report",
      "condition": "mobile default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Compact Lighthouse metrics",
      "condition": "mobile default",
      "findingIds": [
        "F002",
        "F010",
        "F011",
        "F012",
        "F013",
        "F015",
        "F016",
        "F017"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Raw HTML versus rendered content",
      "condition": "JavaScript/no-JavaScript",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Rendered browser view",
      "condition": "JavaScript enabled",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "Crawler view",
      "condition": "JavaScript disabled",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/home-heap.heapsnapshot",
      "caption": "Baseline heap summary",
      "condition": "after load",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/home-post-scroll-heap.heapsnapshot",
      "caption": "Post-scroll heap summary",
      "condition": "after ten scroll cycles",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered DOM and CSS",
      "condition": "homepage",
      "findingIds": [
        "F003",
        "F005",
        "F009",
        "F024"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Security headers audit",
      "condition": "homepage",
      "findingIds": [
        "F020",
        "F021",
        "F023"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Cookie audit",
      "condition": "homepage",
      "findingIds": [
        "F020",
        "F021"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Tracker origins",
      "condition": "homepage",
      "findingIds": [
        "F020",
        "F021",
        "F029"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Client credential-pattern scan",
      "condition": "homepage",
      "findingIds": [
        "F020",
        "F021"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Image audit",
      "condition": "homepage",
      "findingIds": [
        "F010",
        "F014",
        "F017",
        "F027"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-focus.json",
      "caption": "Preference, platform and focus probe",
      "condition": "reduced motion; keyboard focus",
      "findingIds": [
        "F003",
        "F009",
        "F010"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "Homepage metadata, links and semantics probe",
      "condition": "homepage",
      "findingIds": [
        "F006",
        "F014",
        "F018",
        "F019",
        "F024"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-recon.json",
      "caption": "Detail metadata and media probe",
      "condition": "detail",
      "findingIds": [
        "F019"
      ]
    },
    {
      "type": "other",
      "path": "evidence/signup-recon.json",
      "caption": "Signup controls and attributes",
      "condition": "signup",
      "findingIds": [
        "F014",
        "F022",
        "F026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/not-found-recon.json",
      "caption": "404 state DOM probe",
      "condition": "missing route",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "Robots and sitemap responses",
      "condition": "public indexing",
      "findingIds": [
        "F018"
      ]
    }
  ],
  "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",
      "findingIds": [
        "F001"
      ],
      "evidence": "Dark and default screenshots are pixel-equivalent in palette; the page is permanently dark and the DOM contains no preference-driven theme adaptation.",
      "method": "Compared default and prefers-color-scheme: dark screenshots and inspected CSS.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/home-dark-reduced.png"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "evidence": "Under prefers-reduced-motion: reduce, getAnimations() returned zero active animations; only brief hover transitions are present.",
      "method": "Emulated reduced motion and queried document animations.",
      "artifacts": [
        "evidence/preferences-focus.json",
        "evidence/home-dark-reduced.png"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "findingIds": [
        "F002"
      ],
      "evidence": "Lighthouse found one WCAG contrast failure; the dark-theme screenshot also shows muted grey metadata on near-black surfaces.",
      "method": "Lighthouse accessibility audit plus visual review.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-desktop.png"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "findingIds": [
        "F003"
      ],
      "evidence": "The platform supports startViewTransition, but route and state links use ordinary full-page navigation with no authored view-transition evidence.",
      "method": "Inspected navigation DOM/CSS and platform feature availability.",
      "artifacts": [
        "evidence/preferences-focus.json",
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home",
        "listing"
      ],
      "confidence": "high"
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "reason": "No parallax, scrollytelling, entry reveal, or other scroll-linked motion was present on the representative pages.",
      "evidence": "No parallax, scrollytelling, entry reveal, or other scroll-linked motion was present on the representative pages.",
      "method": "Recon and applicability judgement",
      "confidence": "high"
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "evidence": "The content carousels expose arrows and use ordinary scrolling; no pointermove-driven gesture system that fights native scrolling was observed.",
      "method": "Screenshot and DOM/CSS review.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "findingIds": [
        "F004"
      ],
      "evidence": "On the 26,985px home page, navigation chrome remains static and there is no progress or scroll-state affordance.",
      "method": "Long mobile layout metrics plus screenshot/CSS inspection.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-desktop.png"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "findingIds": [
        "F005"
      ],
      "evidence": "Dropdown/navigation overlays are custom menu markup, while DOM/CSS inspection found no anchor-name, position-anchor, or position-try fallback usage.",
      "method": "DOM and CSS inspection.",
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "findingIds": [
        "F003"
      ],
      "evidence": "Navigation changes are abrupt and do not preserve or animate attention between dense listing and detail surfaces.",
      "method": "Walked listing-to-detail navigation and reviewed screenshots.",
      "artifacts": [
        "evidence/listing-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "pathIds": [
        "listing",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "evidence": "The required adult-content notice is a narrow, dismissible banner and does not cover the primary content.",
      "method": "First-load desktop and mobile screenshot review.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/home-dark-reduced.png"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "findingIds": [
        "F006"
      ],
      "evidence": "The adult notice and custom menus are implemented without dialog, popover, or details; recon found 0 dialog, 0 popover, and 0 details elements.",
      "method": "DOM primitive and semantic-element query.",
      "artifacts": [
        "evidence/home-recon.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "findingIds": [
        "F007"
      ],
      "evidence": "Two navigation rows, a tag rail, age banner, affiliate CTAs, and ad units consume substantial space and compete with the media catalog.",
      "method": "Visual review of home and detail first viewports.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "pathIds": [
        "home",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "findingIds": [
        "F008"
      ],
      "evidence": "At a 360px visual viewport, home overflow was 28px and the detail template expanded to 780px, producing 420px horizontal overflow.",
      "method": "Layout primitive at 360x800 on home and detail.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ],
      "pathIds": [
        "home",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "findingIds": [
        "F009"
      ],
      "evidence": "CSS/DOM inspection found viewport media queries but no container-type or @container adaptation for reused media cards and ad widgets.",
      "method": "Computed feature probe and CSS inspection.",
      "artifacts": [
        "evidence/preferences-focus.json",
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "findingIds": [
        "F010"
      ],
      "evidence": "The focused first link computed to outline-style none, and Lighthouse identified 46 target-size failures.",
      "method": "Programmatic focus probe and Lighthouse target-size audit.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/preferences-focus.json",
        "evidence/home-images.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "evidence": "The homepage immediately presents dated and trending videos with clearly labelled browse/search navigation.",
      "method": "First-viewport screenshot and heading/link review.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-recon.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "evidence": "A representative browse journey reached the recent listing and a celebrity detail page without registration or a dead end.",
      "method": "Manual listing-to-detail walkthrough.",
      "artifacts": [
        "evidence/listing-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "pathIds": [
        "listing",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "evidence": "The synthetic missing URL showed a prominent PAGE CANNOT BE FOUND explanation and Contact Us recovery link while preserving navigation.",
      "method": "404 state screenshot and DOM inspection.",
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-recon.json"
      ],
      "pathIds": [
        "not-found"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "findingIds": [
        "F011"
      ],
      "evidence": "Lighthouse measured LCP 4.5s, outside the good <=2.5s range; FCP was 2.1s and CLS 0.001.",
      "method": "Lighthouse performance audit and trace.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "evidence": "Layout observers measured CLS 0.0048 on home and 0.00003 on detail, both comfortably good.",
      "method": "Layout-shift observers on two templates.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ],
      "pathIds": [
        "home",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "evidence": "Trace and layout evidence recorded zero long tasks and 0ms total blocking time during initial load.",
      "method": "CDP trace and long-task observer.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "findingIds": [
        "F012"
      ],
      "evidence": "Home loaded 98 requests/2.15MB; the HAR identifies multiple parser-inserted candidates and a 1.05MB third-party MP4, while LCP reached 4.5s.",
      "method": "HAR summary confirmed against page DOM plus Lighthouse/trace.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "findingIds": [
        "F013"
      ],
      "evidence": "The page ships 12 scripts/526KB including jQuery, jQuery UI, Firebase modules, two ad providers, analytics, and site JS for a server-rendered catalog.",
      "method": "HAR script inventory and Lighthouse payload review.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "findingIds": [
        "F014"
      ],
      "evidence": "The image primitive found 32 images without alt text and search inputs have no associated label or aria-label.",
      "method": "Image audit and rendered form-control inspection.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-recon.json",
        "evidence/signup-recon.json"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "findingIds": [
        "F002"
      ],
      "evidence": "Lighthouse found a colour-contrast failure on the rendered dark interface.",
      "method": "Lighthouse accessibility audit.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "findingIds": [
        "F010"
      ],
      "evidence": "The first keyboard-focused link had outline-style none; Lighthouse also found one heading-order failure.",
      "method": "Focus probe and Lighthouse structural audit.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/preferences-focus.json",
        "evidence/home-images.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "evidence": "Primary headings and card labels are readable in desktop/mobile screenshots, with consistent type and no observed text clipping in the first viewports.",
      "method": "Visual review at desktop and mobile sizes.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/signup-mobile.png"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "findingIds": [
        "F015"
      ],
      "evidence": "The detail page needs 780 CSS px at a 360px viewport, and Lighthouse found 46 undersized touch targets.",
      "method": "Narrow viewport layout plus Lighthouse target-size audit.",
      "artifacts": [
        "evidence/detail-mobile-layout.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathIds": [
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "findingIds": [
        "F016"
      ],
      "evidence": "Lighthouse captured a 401 network console error from /app/auth/check-session during load.",
      "method": "Lighthouse errors-in-console audit.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "findingIds": [
        "F017"
      ],
      "evidence": "Doctype and charset pass, but 74/100 images lack dimensions and Lighthouse flags 21 image aspect-ratio problems.",
      "method": "Image primitive and Lighthouse best-practices audit.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "evidence": "Lighthouse found no deprecated APIs; no permission prompt appeared on load and ordinary form paste behavior was not obstructed.",
      "method": "Lighthouse audit and first-load/form walkthrough.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/signup-mobile.png"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "evidence": "Home, listing, signup, and detail pages expose descriptive titles; home/listing/detail expose specific meta descriptions.",
      "method": "DOM metadata probes across templates.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/robots-sitemap.json",
        "evidence/home-recon.json",
        "evidence/detail-recon.json"
      ],
      "pathIds": [
        "home",
        "listing",
        "detail",
        "signup",
        "not-found"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "evidence": "Lighthouse SEO scored 1.0; viewport meta is present, links have real hrefs, and robots.txt allows crawling.",
      "method": "Lighthouse SEO, DOM link probe, and robots fetch.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-recon.json",
        "evidence/robots-sitemap.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "findingIds": [
        "F018"
      ],
      "evidence": "The public homepage declares canonical https://www.aznude.com/indexhiddenfrompublic.html instead of its visible URL; robots and sitemap otherwise return 200.",
      "method": "DOM canonical probe plus robots/sitemap fetch.",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/robots-sitemap.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "findingIds": [
        "F019"
      ],
      "evidence": "The celebrity detail page has no JSON-LD, while homepage recon found no Open Graph tags; rich entities lack complete share/structured metadata.",
      "method": "DOM queries on home and representative celebrity detail.",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/detail-recon.json"
      ],
      "pathIds": [
        "home",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "findingIds": [
        "F020"
      ],
      "evidence": "HTTPS is used, but CSP and HSTS are absent; all four cookies lack Secure and use SameSite=None.",
      "method": "Headers and cookies primitives.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-trackers.json",
        "evidence/home-secrets.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "findingIds": [
        "F021"
      ],
      "evidence": "The page contacted 16 third-party origins; 93/98 HAR requests and 2.05MB/2.15MB were classified third-party, including Google/DoubleClick and ad networks.",
      "method": "Tracker and HAR summaries.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-trackers.json",
        "evidence/home-secrets.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "findingIds": [
        "F022"
      ],
      "evidence": "Signup exposes password and social login only; no passkey/WebAuthn capability was found. No permission prompt appeared on load.",
      "method": "Signup DOM/source capability inspection.",
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/signup-mobile.png"
      ],
      "pathIds": [
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "findingIds": [
        "F023"
      ],
      "evidence": "CSP/frame-ancestors, HSTS, X-Frame-Options, nosniff, Referrer-Policy, and Permissions-Policy are all absent.",
      "method": "Security headers primitive.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "evidence": "Raw HTML contains 97% of rendered content words and preserves title, H1, and description without JavaScript.",
      "method": "Discoverability primitive with browser/crawler comparison.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/home-discoverability-rendered.png"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "evidence": "Representative listing, detail, signup and recovery pages rendered meaningful server content; no blank shell or cut-off modal was observed.",
      "method": "Cross-template screenshot/DOM walkthrough.",
      "artifacts": [
        "evidence/listing-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/signup-mobile.png"
      ],
      "pathIds": [
        "listing",
        "detail",
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "reason": "This is a public media catalog rather than an installed app; offline playback/search is not a reasonable core expectation.",
      "evidence": "This is a public media catalog rather than an installed app; offline playback/search is not a reasonable core expectation.",
      "method": "Recon and applicability judgement",
      "confidence": "high"
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "evidence": "A missing route presents an explicit error, explanation, contact recovery and normal navigation rather than a blank shell.",
      "method": "404-path screenshot and DOM inspection.",
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-recon.json"
      ],
      "pathIds": [
        "not-found"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "findingIds": [
        "F024"
      ],
      "evidence": "html lang=en is correct, but no dir is declared and the captured CSS relies extensively on physical left/right positioning and margins.",
      "method": "DOM and CSS inspection.",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/home-dom.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "evidence": "The visible long-form date is appropriate for the declared English locale and no currencies or locale-sensitive numeric input were present.",
      "method": "Rendered text review across representative pages.",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/detail-recon.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "reason": "Representative public pages do not display scheduled times, events, time zones, or DST-sensitive data.",
      "evidence": "Representative public pages do not display scheduled times, events, time zones, or DST-sensitive data.",
      "method": "Recon and applicability judgement",
      "confidence": "high"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "findingIds": [
        "F025"
      ],
      "evidence": "Affiliate/ad content is inserted among catalog content with sexually explicit headlines and weak or absent ad labelling, making destination type easy to mistake.",
      "method": "Visual and DOM review of home/detail advertising.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "pathIds": [
        "home",
        "detail"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "findingIds": [
        "F026"
      ],
      "evidence": "Signup email/password fields are not marked required in the DOM, so requirements and validation state are not conveyed before submission.",
      "method": "Signup form DOM inspection.",
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/signup-mobile.png"
      ],
      "pathIds": [
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "evidence": "Signup uses type=email, autocomplete=username, and autocomplete=new-password; newsletter is visibly optional.",
      "method": "Signup control attribute inspection.",
      "artifacts": [
        "evidence/signup-recon.json"
      ],
      "pathIds": [
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "evidence": "Signup clearly states newsletter choice, terms/privacy agreement, sign-in alternative and social options; no payment or continuity commitment is introduced.",
      "method": "Signup screenshot and DOM review.",
      "artifacts": [
        "evidence/signup-mobile.png",
        "evidence/signup-recon.json"
      ],
      "pathIds": [
        "signup"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "findingIds": [
        "F027"
      ],
      "evidence": "Of 100 images, 55 use legacy formats, 34 lack srcset, 74 lack intrinsic dimensions, and two are oversized.",
      "method": "Images primitive.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "findingIds": [
        "F028"
      ],
      "evidence": "Initial load makes 98 requests, including 22 XHR/fetch requests and a 1.05MB third-party MP4 before an explicit media choice.",
      "method": "HAR summary.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "findingIds": [
        "F029"
      ],
      "evidence": "Third parties account for 93 requests and 2.05MB, including ad/analytics scripts and an automatically fetched 1.05MB MP4.",
      "method": "HAR and tracker summaries.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "high"
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "reason": "No agent-facing transaction or productivity capability is expected for this public browse-only catalog; crawler-readable content is already server-rendered.",
      "evidence": "No agent-facing transaction or productivity capability is expected for this public browse-only catalog; crawler-readable content is already server-rendered.",
      "method": "Recon and applicability judgement",
      "confidence": "high"
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "reason": "No summarisation, generation, or other inference task is part of the representative catalog journey.",
      "evidence": "No summarisation, generation, or other inference task is part of the representative catalog journey.",
      "method": "Recon and applicability judgement",
      "confidence": "high"
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "evidence": "After ten full-page scroll cycles, heap grew from 17,532,655 to 17,914,914 bytes (2.2%) and node count from 255,121 to 258,072 (1.2%), with no unbounded pattern demonstrated.",
      "method": "Baseline and post-interaction heap-summary comparison.",
      "artifacts": [
        "evidence/home-heap.heapsnapshot",
        "evidence/home-post-scroll-heap.heapsnapshot"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "medium"
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "evidence": "The server-rendered media feed used a 17.5MB V8 heap; this is proportionate to a 100-image, ad-enabled catalog page despite a large native-node population.",
      "method": "Single heap-summary footprint judgement.",
      "artifacts": [
        "evidence/home-heap.heapsnapshot"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "medium"
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "evidence": "Neither heap summary reports Detached* among top constructors; constructor populations remain broadly stable after repeated scrolling.",
      "method": "Compared heap constructor summaries before/after interaction.",
      "artifacts": [
        "evidence/home-heap.heapsnapshot",
        "evidence/home-post-scroll-heap.heapsnapshot"
      ],
      "pathIds": [
        "home"
      ],
      "confidence": "medium"
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001",
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004",
        "F005",
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F006",
        "F007"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F009",
        "F010"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F011",
        "F012",
        "F013"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F014",
        "F002",
        "F010",
        "F015"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F016",
        "F017"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F018",
        "F019"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F020",
        "F021",
        "F022",
        "F023"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F024"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F025",
        "F026"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F027",
        "F028",
        "F029"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No agent-facing transaction or productivity capability is expected for this public browse-only catalog; crawler-readable content is already server-rendered. No summarisation, generation, or other inference task is part of the representative catalog journey."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and global shell; covers discovery, search entry, current/trending feed, preferences, performance, privacy and global metadata.",
      "url": "https://www.aznude.com/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "JavaScript disabled"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Recent videos listing; representative of browse/category result templates and the route into detail content.",
      "url": "https://www.aznude.com/browse/videos/recent/1.html",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Celebrity detail; representative media/entity template and highest-risk mobile reflow surface.",
      "url": "https://www.aznude.com/view/celeb/d/deltagoodrem.html",
      "conditions": [
        "desktop",
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "signup",
      "description": "Account creation form; representative primary form, authentication, autofill and validation surface.",
      "url": "https://www.aznude.com/signup.html",
      "conditions": [
        "viewport: 360x800",
        "keyboard review"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Synthetic missing route; representative HTTP/error recovery state.",
      "url": "https://www.aznude.com/definitely-not-a-real-page-404",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F008",
      "severity": "high",
      "summary": "Mobile templates overflow horizontally",
      "evidence": "At a 360px visual viewport, home overflow was 28px and the detail template expanded to 780px, producing 420px horizontal overflow.",
      "suggestedFix": "Remove fixed/min widths and use intrinsic fluid sizing so every template reflows at 360px.",
      "guidanceId": "fluid-scaling",
      "effort": "medium",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ]
    },
    {
      "id": "F010",
      "severity": "high",
      "summary": "Keyboard focus is suppressed and many touch targets are undersized",
      "evidence": "The focused first link computed to outline-style none, and Lighthouse identified 46 target-size failures.",
      "suggestedFix": "Restore a strong :focus-visible ring and size interactive targets to at least 24px, preferably 44px.",
      "guidanceId": "accessibility",
      "effort": "small",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/preferences-focus.json",
        "evidence/home-images.json"
      ]
    },
    {
      "id": "F011",
      "severity": "high",
      "summary": "Largest Contentful Paint is slow at 4.5 seconds",
      "evidence": "Lighthouse measured LCP 4.5s, outside the good <=2.5s range; FCP was 2.1s and CLS 0.001.",
      "suggestedFix": "Prioritise the LCP asset and defer non-critical ad/media work until after primary content.",
      "guidanceId": "optimize-image-priority",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F014",
      "severity": "high",
      "summary": "Search controls and many images lack accessible alternatives",
      "evidence": "The image primitive found 32 images without alt text and search inputs have no associated label or aria-label.",
      "suggestedFix": "Associate visible labels with search controls and provide appropriate alt or empty alt text.",
      "guidanceId": "accessibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-recon.json",
        "evidence/signup-recon.json"
      ]
    },
    {
      "id": "F015",
      "severity": "high",
      "summary": "Zoom/reflow and touch-target usability fail on core templates",
      "evidence": "The detail page needs 780 CSS px at a 360px viewport, and Lighthouse found 46 undersized touch targets.",
      "suggestedFix": "Make detail media intrinsically responsive and increase target spacing/sizing.",
      "guidanceId": "fluid-scaling",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "pathId": "detail",
      "url": "https://www.aznude.com/view/celeb/d/deltagoodrem.html",
      "artifacts": [
        "evidence/detail-mobile-layout.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "id": "F018",
      "severity": "high",
      "summary": "Homepage canonical points to indexhiddenfrompublic.html",
      "evidence": "The public homepage declares canonical https://www.aznude.com/indexhiddenfrompublic.html instead of its visible URL; robots and sitemap otherwise return 200.",
      "suggestedFix": "Set the homepage canonical to https://www.aznude.com/ and verify sitemap/indexing consistency.",
      "guidanceId": "html",
      "effort": "trivial",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/robots-sitemap.json"
      ]
    },
    {
      "id": "F020",
      "severity": "high",
      "summary": "Security headers are absent and cookies are not Secure",
      "evidence": "HTTPS is used, but CSP and HSTS are absent; all four cookies lack Secure and use SameSite=None.",
      "suggestedFix": "Deploy CSP and HSTS, and set Secure with an appropriate SameSite policy on every cookie.",
      "guidanceId": "security",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-trackers.json",
        "evidence/home-secrets.json"
      ]
    },
    {
      "id": "F021",
      "severity": "high",
      "summary": "Tracking and third-party collection dominate the page load",
      "evidence": "The page contacted 16 third-party origins; 93/98 HAR requests and 2.05MB/2.15MB were classified third-party, including Google/DoubleClick and ad networks.",
      "suggestedFix": "Minimise vendors, gate non-essential tracking behind informed consent, and batch analytics.",
      "guidanceId": "privacy",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/home-trackers.json",
        "evidence/home-secrets.json"
      ]
    },
    {
      "id": "F023",
      "severity": "high",
      "summary": "Browser-enforced defensive policies are missing",
      "evidence": "CSP/frame-ancestors, HSTS, X-Frame-Options, nosniff, Referrer-Policy, and Permissions-Policy are all absent.",
      "suggestedFix": "Add frame-ancestors, nosniff, Referrer-Policy and a restrictive Permissions-Policy.",
      "guidanceId": "security",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-headers.json"
      ]
    },
    {
      "id": "F025",
      "severity": "high",
      "summary": "Advertising can be mistaken for catalog content",
      "evidence": "Affiliate/ad content is inserted among catalog content with sexually explicit headlines and weak or absent ad labelling, making destination type easy to mistake.",
      "suggestedFix": "Label every ad/affiliate unit prominently and visually separate it from editorial results.",
      "guidanceId": "privacy",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ]
    },
    {
      "id": "F029",
      "severity": "high",
      "summary": "Third-party scripts and media exceed a proportionate budget",
      "evidence": "Third parties account for 93 requests and 2.05MB, including ad/analytics scripts and an automatically fetched 1.05MB MP4.",
      "suggestedFix": "Set and enforce per-template third-party/media budgets; lazy-load non-essential vendors.",
      "guidanceId": "privacy",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "id": "F001",
      "severity": "medium",
      "summary": "Fixed dark palette ignores the user colour-scheme preference",
      "evidence": "Dark and default screenshots are pixel-equivalent in palette; the page is permanently dark and the DOM contains no preference-driven theme adaptation.",
      "suggestedFix": "Implement preference-driven light/dark tokens with color-scheme and prefers-color-scheme.",
      "guidanceId": "dark-mode",
      "effort": "small",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/home-dark-reduced.png"
      ]
    },
    {
      "id": "F002",
      "severity": "medium",
      "summary": "Muted text does not consistently meet minimum contrast",
      "evidence": "Lighthouse found one WCAG contrast failure; the dark-theme screenshot also shows muted grey metadata on near-black surfaces.",
      "suggestedFix": "Raise muted text/UI contrast to WCAG AA in every theme.",
      "guidanceId": "accessibility",
      "effort": "small",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "id": "F006",
      "severity": "medium",
      "summary": "Dismissible UI is built without semantic top-layer primitives",
      "evidence": "The adult notice and custom menus are implemented without dialog, popover, or details; recon found 0 dialog, 0 popover, and 0 details elements.",
      "suggestedFix": "Replace custom notices/menus with dialog, popover or details as appropriate.",
      "guidanceId": "accessibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-recon.json"
      ]
    },
    {
      "id": "F007",
      "severity": "medium",
      "summary": "Navigation, tags, banners and promotions compete with core content",
      "evidence": "Two navigation rows, a tag rail, age banner, affiliate CTAs, and ad units consume substantial space and compete with the media catalog.",
      "suggestedFix": "Collapse secondary chrome and clearly separate optional promotions from catalog content.",
      "guidanceId": "improve-text-layout-and-legibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ]
    },
    {
      "id": "F012",
      "severity": "medium",
      "summary": "Resource delivery delays primary content",
      "evidence": "Home loaded 98 requests/2.15MB; the HAR identifies multiple parser-inserted candidates and a 1.05MB third-party MP4, while LCP reached 4.5s.",
      "suggestedFix": "Shorten critical chains, defer scripts, cache static assets, and avoid preloading third-party media.",
      "guidanceId": "performance",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F013",
      "severity": "medium",
      "summary": "The initial page ships a broad legacy and third-party script stack",
      "evidence": "The page ships 12 scripts/526KB including jQuery, jQuery UI, Firebase modules, two ad providers, analytics, and site JS for a server-rendered catalog.",
      "suggestedFix": "Audit coverage, remove unused jQuery/UI/Firebase code, and conditionally load ads/analytics.",
      "guidanceId": "identify-heavy-scripts",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "id": "F017",
      "severity": "medium",
      "summary": "Images lack dimensions and often render at incorrect aspect ratios",
      "evidence": "Doctype and charset pass, but 74/100 images lack dimensions and Lighthouse flags 21 image aspect-ratio problems.",
      "suggestedFix": "Emit width/height or aspect-ratio from media metadata and preserve intrinsic proportions.",
      "guidanceId": "optimize-image-priority",
      "effort": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "id": "F019",
      "severity": "medium",
      "summary": "Rich pages lack complete structured and social metadata",
      "evidence": "The celebrity detail page has no JSON-LD, while homepage recon found no Open Graph tags; rich entities lack complete share/structured metadata.",
      "suggestedFix": "Add accurate entity JSON-LD and Open Graph/Twitter metadata to detail templates.",
      "guidanceId": "html",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/detail-recon.json"
      ]
    },
    {
      "id": "F022",
      "severity": "medium",
      "summary": "Account creation offers no phishing-resistant passkey path",
      "evidence": "Signup exposes password and social login only; no passkey/WebAuthn capability was found. No permission prompt appeared on load.",
      "suggestedFix": "Add WebAuthn/passkey registration and sign-in alongside existing methods.",
      "guidanceId": "security",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "pathId": "signup",
      "url": "https://www.aznude.com/signup.html",
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/signup-mobile.png"
      ]
    },
    {
      "id": "F024",
      "severity": "medium",
      "summary": "Physical CSS properties make bidirectional layout brittle",
      "evidence": "html lang=en is correct, but no dir is declared and the captured CSS relies extensively on physical left/right positioning and margins.",
      "suggestedFix": "Declare direction and migrate layout spacing/positioning to logical properties.",
      "guidanceId": "accessibility",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F026",
      "severity": "medium",
      "summary": "Signup requirements are not encoded or announced",
      "evidence": "Signup email/password fields are not marked required in the DOM, so requirements and validation state are not conveyed before submission.",
      "suggestedFix": "Mark required fields, validate after interaction, and announce errors with aria-describedby/live regions.",
      "guidanceId": "forms",
      "effort": "small",
      "confidence": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "pathId": "signup",
      "url": "https://www.aznude.com/signup.html",
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/signup-mobile.png"
      ]
    },
    {
      "id": "F027",
      "severity": "medium",
      "summary": "Image delivery is not responsive or format-efficient",
      "evidence": "Of 100 images, 55 use legacy formats, 34 lack srcset, 74 lack intrinsic dimensions, and two are oversized.",
      "suggestedFix": "Generate AVIF/WebP srcsets with intrinsic dimensions and sizes matched to card breakpoints.",
      "guidanceId": "optimize-image-priority",
      "effort": "large",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-images.json"
      ]
    },
    {
      "id": "F028",
      "severity": "medium",
      "summary": "Initial load fetches media before user intent",
      "evidence": "Initial load makes 98 requests, including 22 XHR/fetch requests and a 1.05MB third-party MP4 before an explicit media choice.",
      "suggestedFix": "Defer third-party video and background fetches until visible or explicitly requested.",
      "guidanceId": "performance",
      "effort": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F003",
      "severity": "low",
      "summary": "Dense navigation changes provide no continuity or attention cue",
      "evidence": "The platform supports startViewTransition, but route and state links use ordinary full-page navigation with no authored view-transition evidence.",
      "suggestedFix": "Add reduced-motion-aware same/cross-document View Transitions for browse-to-detail changes.",
      "guidanceId": "accessibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/preferences-focus.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F004",
      "severity": "low",
      "summary": "Very long feeds provide no scroll-state orientation",
      "evidence": "On the 26,985px home page, navigation chrome remains static and there is no progress or scroll-state affordance.",
      "suggestedFix": "Use sticky scroll-state-aware chrome or a lightweight progress/position affordance.",
      "guidanceId": "accessibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "id": "F005",
      "severity": "low",
      "summary": "Custom menus do not use resilient anchored positioning",
      "evidence": "Dropdown/navigation overlays are custom menu markup, while DOM/CSS inspection found no anchor-name, position-anchor, or position-try fallback usage.",
      "suggestedFix": "Use popover plus CSS anchor positioning and position-try fallbacks.",
      "guidanceId": "accessibility",
      "effort": "medium",
      "confidence": "high",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F009",
      "severity": "low",
      "summary": "Reusable components only respond to the viewport",
      "evidence": "CSS/DOM inspection found viewport media queries but no container-type or @container adaptation for reused media cards and ad widgets.",
      "suggestedFix": "Add container-type and @container rules to cards/widgets reused at different widths.",
      "guidanceId": "size-aware-styling",
      "effort": "medium",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/preferences-focus.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "id": "F016",
      "severity": "low",
      "summary": "Initial load emits a 401 console/network error",
      "evidence": "Lighthouse captured a 401 network console error from /app/auth/check-session during load.",
      "suggestedFix": "Avoid the unauthenticated session request or handle its expected response without a console error.",
      "guidanceId": "performance",
      "effort": "small",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "pathId": "home",
      "url": "https://www.aznude.com/",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Remove fixed/min widths and use intrinsic fluid sizing so every template reflows at 360px.",
      "priority": 1,
      "findingIds": [
        "F008"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Restore a strong :focus-visible ring and size interactive targets to at least 24px, preferably 44px.",
      "priority": 2,
      "findingIds": [
        "F010"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Prioritise the LCP asset and defer non-critical ad/media work until after primary content.",
      "priority": 3,
      "findingIds": [
        "F011"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Associate visible labels with search controls and provide appropriate alt or empty alt text.",
      "priority": 4,
      "findingIds": [
        "F014"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Make detail media intrinsically responsive and increase target spacing/sizing.",
      "priority": 5,
      "findingIds": [
        "F015"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Set the homepage canonical to https://www.aznude.com/ and verify sitemap/indexing consistency.",
      "priority": 6,
      "findingIds": [
        "F018"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Deploy CSP and HSTS, and set Secure with an appropriate SameSite policy on every cookie.",
      "priority": 7,
      "findingIds": [
        "F020"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Minimise vendors, gate non-essential tracking behind informed consent, and batch analytics.",
      "priority": 8,
      "findingIds": [
        "F021"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Add frame-ancestors, nosniff, Referrer-Policy and a restrictive Permissions-Policy.",
      "priority": 9,
      "findingIds": [
        "F023"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T010",
      "title": "Label every ad/affiliate unit prominently and visually separate it from editorial results.",
      "priority": 10,
      "findingIds": [
        "F025"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T011",
      "title": "Set and enforce per-template third-party/media budgets; lazy-load non-essential vendors.",
      "priority": 11,
      "findingIds": [
        "F029"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T012",
      "title": "Implement preference-driven light/dark tokens with color-scheme and prefers-color-scheme.",
      "priority": 12,
      "findingIds": [
        "F001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T013",
      "title": "Raise muted text/UI contrast to WCAG AA in every theme.",
      "priority": 13,
      "findingIds": [
        "F002"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T014",
      "title": "Replace custom notices/menus with dialog, popover or details as appropriate.",
      "priority": 14,
      "findingIds": [
        "F006"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T015",
      "title": "Collapse secondary chrome and clearly separate optional promotions from catalog content.",
      "priority": 15,
      "findingIds": [
        "F007"
      ],
      "guidanceId": "improve-text-layout-and-legibility",
      "status": "open"
    },
    {
      "id": "T016",
      "title": "Shorten critical chains, defer scripts, cache static assets, and avoid preloading third-party media.",
      "priority": 16,
      "findingIds": [
        "F012"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T017",
      "title": "Audit coverage, remove unused jQuery/UI/Firebase code, and conditionally load ads/analytics.",
      "priority": 17,
      "findingIds": [
        "F013"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T018",
      "title": "Emit width/height or aspect-ratio from media metadata and preserve intrinsic proportions.",
      "priority": 18,
      "findingIds": [
        "F017"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T019",
      "title": "Add accurate entity JSON-LD and Open Graph/Twitter metadata to detail templates.",
      "priority": 19,
      "findingIds": [
        "F019"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T020",
      "title": "Add WebAuthn/passkey registration and sign-in alongside existing methods.",
      "priority": 20,
      "findingIds": [
        "F022"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T021",
      "title": "Declare direction and migrate layout spacing/positioning to logical properties.",
      "priority": 21,
      "findingIds": [
        "F024"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T022",
      "title": "Mark required fields, validate after interaction, and announce errors with aria-describedby/live regions.",
      "priority": 22,
      "findingIds": [
        "F026"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T023",
      "title": "Generate AVIF/WebP srcsets with intrinsic dimensions and sizes matched to card breakpoints.",
      "priority": 23,
      "findingIds": [
        "F027"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T024",
      "title": "Defer third-party video and background fetches until visible or explicitly requested.",
      "priority": 24,
      "findingIds": [
        "F028"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T025",
      "title": "Add reduced-motion-aware same/cross-document View Transitions for browse-to-detail changes.",
      "priority": 25,
      "findingIds": [
        "F003"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T026",
      "title": "Use sticky scroll-state-aware chrome or a lightweight progress/position affordance.",
      "priority": 26,
      "findingIds": [
        "F004"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T027",
      "title": "Use popover plus CSS anchor positioning and position-try fallbacks.",
      "priority": 27,
      "findingIds": [
        "F005"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T028",
      "title": "Add container-type and @container rules to cards/widgets reused at different widths.",
      "priority": 28,
      "findingIds": [
        "F009"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T029",
      "title": "Avoid the unauthenticated session request or handle its expected response without a console error.",
      "priority": 29,
      "findingIds": [
        "F016"
      ],
      "guidanceId": "performance",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 720,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-19T15-15-21-751Z"
}
