{
  "url": "https://x.sex-studentki.team",
  "auditedAt": "2026-07-22T07:51:34.377Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "The requested host redirected to https://sex-studentki.live/. All 58 atomic checks were judged across four representative archetypes; one observed 429 response is recorded as a resilience issue, not an audit blocker.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered custom site",
    "notes": "Public Russian-language adult-video catalog. Requested URL redirects cross-host to sex-studentki.live."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "images",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "discoverability",
    "lighthouse",
    "heap-summary"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scrollytelling",
    "physics-based-easing",
    "shrinking-header-on-scroll",
    "anchor-positioning-tab-underline",
    "directional-navigation-transitions",
    "light-dismiss-a-dialog",
    "declarative-dialog-popover-control",
    "complex-shapes",
    "fluid-scaling",
    "size-aware-styling",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "move-dom-element-without-losing-state",
    "css",
    "html",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "search-hidden-content",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "manage-recurring-intervals",
    "calculate-with-intrinsic-sizes"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-mobile.png",
      "caption": "listing mobile",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F05",
        "F06",
        "F07",
        "F26"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "detail mobile",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/feedback-mobile.png",
      "caption": "feedback mobile",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F09",
        "F24",
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-light.png",
      "caption": "home light",
      "condition": "prefers-color-scheme: light",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "home forced colors",
      "condition": "forced-colors: active, prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/listing-dom.json",
      "caption": "listing dom",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "detail dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon",
      "findingIds": [
        "F18",
        "F19",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe",
      "findingIds": [
        "F02",
        "F03",
        "F04",
        "F06",
        "F08",
        "F15",
        "F17",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "detail probe",
      "findingIds": [
        "F14",
        "F16",
        "F20",
        "F23",
        "F28",
        "F30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/feedback-probe.json",
      "caption": "feedback probe",
      "findingIds": [
        "F27",
        "F28"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "layout mobile",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-detail.json",
      "caption": "layout detail",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F12",
        "F22",
        "F29",
        "F30"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F11",
        "F12",
        "F14",
        "F17",
        "F29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F21",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F21",
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F22",
        "F30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "condition": "prefers-color-scheme: light",
      "findingIds": [
        "F08",
        "F10",
        "F13",
        "F14",
        "F15",
        "F16",
        "F18",
        "F19",
        "F25"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.heapsnapshot",
      "caption": "heap post",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/interaction-metrics.json",
      "caption": "interaction metrics",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/crawl-files.json",
      "caption": "crawl files",
      "findingIds": []
    }
  ],
  "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 light and dark screenshots plus CSS signal inspection",
      "evidence": "Light and dark captures are byte-identical (339,279 bytes each); the CSS probe found no color-scheme declaration or prefers-color-scheme rule. The interface is hard-coded dark.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Emulated prefers-reduced-motion: reduce and inspected active animations/CSS",
      "evidence": "Six animations remained present under reduce, including running 3,000 ms and 6,000 ms animations; no prefers-reduced-motion rule was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Forced-colors and prefers-contrast screenshot inspection",
      "evidence": "Forced-colors capture retained visible text, icons, borders, and controls with strong yellow-on-black system colors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected CSS and route/state behaviour across MPA pages",
      "evidence": "Navigation is cross-document and swaps abruptly; CSS inspection found no view-transition-name or cross-document View Transition rule.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected CSS and page motion",
      "evidence": "The audited templates contain no scroll-linked parallax, scrollytelling, or reveal motion to implement.",
      "reason": "The audited templates contain no scroll-linked parallax, scrollytelling, or reveal motion to implement."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected mobile layouts and interaction code signals",
      "evidence": "Core browsing uses native links, scrolling and native range controls; no pointermove-driven custom gesture that fights the platform was observed.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-dom.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected long mobile page and CSS scroll-state signals",
      "evidence": "The 31,795 px homepage keeps static header/navigation chrome and exposes no scroll progress or scroll-state response; no scroll-state query or scroll timeline was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected DOM for tooltips/popovers and CSS anchor positioning",
      "evidence": "No tooltip or edge-attached menu requiring anchor positioning was present on the representative paths.",
      "reason": "No tooltip or edge-attached menu requiring anchor positioning was present on the representative paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Walked homepage section links and detail navigation",
      "evidence": "Descriptive section links and visible arrow affordances take users directly to latest, trending, category and detail surfaces; destination headings are visibly distinct.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Visual inspection on homepage/listing load",
      "evidence": "A fixed promotional card for “Лара, 19” overlays the lower portion of listing content before user interaction.",
      "pathIds": [
        "listing"
      ],
      "artifacts": [
        "evidence/listing-mobile.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "DOM and screenshot inspection of promotional overlay",
      "evidence": "The load-time promotion is custom ad markup/links; the page has zero dialog, popover or details elements, so dismissal and semantics are hand-rolled.",
      "pathIds": [
        "home",
        "listing"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/listing-mobile.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Compared content area with persistent chrome and promotion",
      "evidence": "Content cards dominate most of the page, but the fixed promotional card occupies roughly the lower quarter of the mobile listing viewport and competes with the core catalog.",
      "pathIds": [
        "listing"
      ],
      "artifacts": [
        "evidence/listing-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Measured 360x800 layout and inspected mobile screenshots",
      "evidence": "Layout reports scrollWidth 360, clientWidth 360 and 0 px horizontal overflow; viewport metadata is present and cards reflow to two columns.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared card/player presentation across desktop and mobile",
      "evidence": "Category cards, listing cards and the player visibly adapt from the desktop grid to narrow layouts without clipping, even though no container-query syntax was found.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/listing-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Programmatically focused controls and reviewed Lighthouse target-size audit",
      "evidence": "Focused links consistently computed outline-style none/0px, and Lighthouse failed target-size; several header controls measure about 42 px rather than the recommended 44 px minimum.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected first viewport and navigation labels",
      "evidence": "The logo, category grid, New/Popular links, listing cards and play affordance make browsing and watching videos immediately understandable.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/listing-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Walked homepage to listing to a representative video detail",
      "evidence": "A user can select a category/listing card, reach a descriptive video page, and access a prominent player with native-like playback controls without an account wall.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/listing-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Requested a secondary feedback route during the journey",
      "evidence": "One feedback-route capture returned a bare “429 Too Many Requests” page with no retry timing, back link, branded recovery, or preserved context.",
      "pathIds": [
        "feedback"
      ],
      "artifacts": [
        "evidence/feedback-mobile.png"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse and a DevTools trace",
      "evidence": "Lighthouse lab LCP was 8.1 s (performance 0.66), outside the 2.5 s good threshold; trace under a separate run measured LCP 1.11 s, so the slower throttled result remains the risk signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Observed layout shifts and audited image dimensions",
      "evidence": "Detail layout recorded CLS 0.0809 and the image audit found all 94 images lacked explicit width/height, leaving late-load shift risk.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/layout-detail.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Ran trace and long-task observers",
      "evidence": "Trace found one 67.4 ms long task and only 17.4 ms total blocking time; homepage layout observed one 75 ms task, proportionate for the page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Captured HAR and confirmed resource placement against DOM",
      "evidence": "HAR recorded 122 requests/1.80 MB, parser-inserted render-blocking CSS and a synchronous compressed.js; image audit found 88 below-fold images without lazy loading.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse unused-code diagnostics",
      "evidence": "Lighthouse estimated 105,137 bytes of unused JavaScript and 68,761 bytes of unused CSS, meaningful on a catalog homepage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse accessibility audits and DOM probes",
      "evidence": "Lighthouse failed button-name, link-name, frame-title and image-alt; image inspection found 13 images without alt, and the tracking iframe has no title.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Ran Lighthouse color-contrast audit and forced-colors capture",
      "evidence": "Lighthouse color-contrast scored 1.0 and forced-colors retained clearly visible text and controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected headings/landmarks and focused controls",
      "evidence": "Homepage has no H1 or landmark elements, starts at H3, and focused controls computed no visible outline; Lighthouse failed landmark-one-main.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "Visual inspection at desktop and 360 px mobile",
      "evidence": "Card labels, headings, metadata and body copy remain readable without clipping or cramped single-character wrapping on representative views.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected viewport, media tracks and Lighthouse target sizing",
      "evidence": "Viewport allows up to 2x scaling and reflows, but Lighthouse failed touch target size and the primary 33-minute video exposes no caption/subtitle track.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Ran Lighthouse errors-in-console audit",
      "evidence": "Lighthouse reported no browser errors logged to the console.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected document mode/charset and image audit",
      "evidence": "Rendered documents are standards mode UTF-8, but all 94 audited images lack explicit width/height and 93 lack srcset, weakening asset structure and sizing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse best-practices audits and inspected anchors",
      "evidence": "Lighthouse reported DevTools inspector issues; several controls use javascript: href values instead of clean buttons/declarative actions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected rendered and raw metadata across home/detail",
      "evidence": "Homepage and representative detail have descriptive, unique titles and meta descriptions, preserved in raw HTML.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/detail-probe.json",
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse SEO and inspected anchors/viewport",
      "evidence": "Viewport metadata is present and indexing is allowed, but Lighthouse failed crawlable-anchors; javascript:return false/javascript:false links are used for search controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected status, canonical, robots and sitemap signals",
      "evidence": "Public pages returned successful status in audited loads, canonical URLs are present, Lighthouse says robots.txt is valid and indexing is allowed.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-recon.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected video detail Open Graph and JSON-LD",
      "evidence": "Video detail supplies basic Open Graph tags but no JSON-LD/VideoObject structured data; og:video points to the page URL rather than a media asset.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Audited protocol, security headers and cookies",
      "evidence": "HTTPS is used, but CSP, HSTS and nosniff are absent; 3 first-party cookies are not Secure and every observed cookie uses SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Captured HAR and tracker/cookie inventory",
      "evidence": "The homepage contacted 10 third-party origins/21 requests (208,158 bytes), including Yandex analytics and multiple advertising/tracking origins, before visible consent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected representative public browsing paths",
      "evidence": "No permission prompt or authentication flow is part of the public video-browsing journey; passkey suitability could not apply to an absent auth flow.",
      "reason": "No permission prompt or authentication flow is part of the public video-browsing journey; passkey suitability could not apply to an absent auth flow."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Audited response policies and iframe exposure",
      "evidence": "No HSTS, clickjacking defense, Referrer-Policy, Permissions-Policy or CSP frame-ancestors was present, despite a third-party iframe on the video page.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared raw HTML and crawler/browser screenshots",
      "evidence": "The site is server-rendered rather than a JS shell; raw HTML contains the title/description and 61% word overlap, while crawler and rendered screenshots both retain catalog content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Repeated menu/search toggles and inspected mobile overlays",
      "evidence": "Twenty menu/search toggle cycles left DOM node and animation counts stable; the main player and menu remained usable at narrow width.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/interaction-metrics.json",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Checked manifest/service worker and site type",
      "evidence": "This is a media catalog whose core video delivery is intrinsically online; installability/offline video was judged out of scope.",
      "reason": "This is a media catalog whose core video delivery is intrinsically online; installability/offline video was judged out of scope."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Observed HTTP failure route",
      "evidence": "A rate-limited feedback request produced only a generic 429 page without a retry action, retry-after guidance, cached shell or branded navigation.",
      "pathIds": [
        "feedback"
      ],
      "artifacts": [
        "evidence/feedback-mobile.png"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected html attributes and CSS logical-property signals",
      "evidence": "Russian-language pages have an empty html lang attribute, no dir, and the loaded CSS exposed no logical-property signal; Lighthouse also failed html-has-lang.",
      "pathIds": [
        "home",
        "detail",
        "feedback"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected representative content and forms",
      "evidence": "The audited surfaces show no dates, currencies, localized numbers, calendars or durations requiring locale formatting beyond video timecodes.",
      "reason": "The audited surfaces show no dates, currencies, localized numbers, calendars or durations requiring locale formatting beyond video timecodes."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected representative content and forms",
      "evidence": "No scheduled events, user time zones or DST-sensitive date/time data are present.",
      "reason": "No scheduled events, user time zones or DST-sensitive date/time data are present."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected load-time promotion and outgoing destination",
      "evidence": "A profile-styled “Лара, 19” promotional card overlays catalog content and routes to a third-party click-tracking URL, blurring editorial UI and advertising.",
      "pathIds": [
        "home",
        "listing"
      ],
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected feedback/comment forms and failure page",
      "evidence": "The feedback form fields are not marked required and the observed 429 response supplies no actionable recovery or inline explanation.",
      "pathIds": [
        "feedback"
      ],
      "artifacts": [
        "evidence/feedback-probe.json",
        "evidence/feedback-mobile.png"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected form autocomplete metadata",
      "evidence": "The feedback email input has an associated label but no type=email or autocomplete=email token; comment name/message fields also omit autocomplete guidance.",
      "pathIds": [
        "feedback",
        "detail"
      ],
      "artifacts": [
        "evidence/feedback-probe.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected representative public paths",
      "evidence": "No checkout, subscription, consent purchase, authentication or account-management flow was exercised or required for the primary task.",
      "reason": "No checkout, subscription, consent purchase, authentication or account-management flow was exercised or required for the primary task."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "high",
      "method": "Audited image formats and rendered sizes",
      "evidence": "93 of 94 images use WebP and only 2 were more than 2x display width; most catalog thumbnails are close to their rendered size.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Captured network and image loading behaviour",
      "evidence": "The homepage eagerly loads 102 image requests; 88 below-fold images omit loading=lazy, spending bandwidth on content far outside the first viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Measured third-party bytes and autoplay",
      "evidence": "No video autoplays on the detail page, but homepage third parties cost 21 requests/208 KB and include analytics, ad and click-tracking origins.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected source signals and site purpose",
      "evidence": "This public media catalog exposes no transaction/productivity capability that requires a WebMCP tool; absence is an emerging opportunity, not a failure.",
      "reason": "This public media catalog exposes no transaction/productivity capability that requires a WebMCP tool; absence is an emerging opportunity, not a failure."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected source signals and site purpose",
      "evidence": "No summarisation or language-model task is needed for the primary browse/watch journey; on-device inference is not applicable.",
      "reason": "No summarisation or language-model task is needed for the primary browse/watch journey; on-device inference is not applicable."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared baseline/post heap summaries after repeated menu/search toggles",
      "evidence": "After 20 menu and search toggles, in-session JS heap was unchanged and DOM nodes fell by 3; independent heap summaries grew only 176,809 bytes (1.7%), with closures +18.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot",
        "evidence/interaction-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Read heap summary totals and DOM metrics",
      "evidence": "Baseline heap self-size was 10.44 MB with 191,549 snapshot nodes and about 2,134 live DOM elements, proportionate to a 94-image catalog page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/interaction-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared heap constructor populations and repeated-interaction metrics",
      "evidence": "Top constructor summaries show no Detached* population; after repeated toggles DOM nodes were -3, animations unchanged, and closures increased only 18 between independently loaded snapshots.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot",
        "evidence/interaction-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F26",
        "F27",
        "F28"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "This public media catalog exposes no transaction/productivity capability that requires a WebMCP tool; absence is an emerging opportunity, not a failure. No summarisation or language-model task is needed for the primary browse/watch journey; on-device inference is not applicable."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage: catalog entry, navigation, category grid, long content feed and global privacy/performance signals. Represents the global shell.",
      "url": "https://x.sex-studentki.team",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: light/dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "All-videos listing: representative card/feed template and load-time promotional overlay.",
      "url": "https://sex-studentki.live/videos",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail: primary watch journey, player, metadata, comments and related content.",
      "url": "https://sex-studentki.live/video/302191-brat-trahaetsya-s-sestroj-feministkoj-vtajne-ot-roditelej",
      "conditions": [
        "viewport: 360x800",
        "desktop layout"
      ],
      "result": "issues"
    },
    {
      "id": "feedback",
      "description": "Feedback form and HTTP failure/recovery archetype. One capture hit rate limiting; a later DOM probe reached the form.",
      "url": "https://sex-studentki.live/info/feedback",
      "conditions": [
        "viewport: 360x800",
        "429 response",
        "successful DOM probe"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F05",
      "pathId": "listing",
      "url": "https://sex-studentki.live/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Promotional overlay obscures catalog content",
      "evidence": "A fixed promotional card for “Лара, 19” overlays the lower portion of listing content before user interaction.",
      "artifacts": [
        "evidence/listing-mobile.png"
      ],
      "suggestedFix": "Do not display the promotion before interaction; place clearly labelled advertising in document flow or defer it until after an explicit action.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus and touch target support are weak",
      "evidence": "Focused links consistently computed outline-style none/0px, and Lighthouse failed target-size; several header controls measure about 42 px rather than the recommended 44 px minimum.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Restore a high-contrast :focus-visible ring and ensure interactive hit areas meet at least 44 by 44 CSS px or equivalent spacing.",
      "effort": "small"
    },
    {
      "id": "F09",
      "pathId": "feedback",
      "url": "https://sex-studentki.live/info/feedback",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Rate-limit failure is a dead end",
      "evidence": "One feedback-route capture returned a bare “429 Too Many Requests” page with no retry timing, back link, branded recovery, or preserved context.",
      "artifacts": [
        "evidence/feedback-mobile.png"
      ],
      "suggestedFix": "Return a branded 429 state with Retry-After guidance, a retry control, navigation back to content and preserved form input.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "identify-inp-causes",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Throttled LCP is slow",
      "evidence": "Lighthouse lab LCP was 8.1 s (performance 0.66), outside the 2.5 s good threshold; trace under a separate run measured LCP 1.11 s, so the slower throttled result remains the risk signal.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritise the LCP thumbnail/hero, reduce eager image competition, and verify LCP under Lighthouse throttling and field data.",
      "effort": "medium"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Homepage eagerly delivers too many resources",
      "evidence": "HAR recorded 122 requests/1.80 MB, parser-inserted render-blocking CSS and a synchronous compressed.js; image audit found 88 below-fold images without lazy loading.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/images.json"
      ],
      "suggestedFix": "Lazy-load below-fold thumbnails, defer noncritical scripts, and keep only truly critical CSS/scripts in the blocking path.",
      "effort": "medium"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Controls, links, images and iframe lack accessible names",
      "evidence": "Lighthouse failed button-name, link-name, frame-title and image-alt; image inspection found 13 images without alt, and the tracking iframe has no title.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Add discernible labels to icon controls, meaningful/empty alt as appropriate, and a descriptive title on the third-party iframe.",
      "effort": "small"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "move-dom-element-without-losing-state",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Missing landmarks, H1 and focus indicators",
      "evidence": "Homepage has no H1 or landmark elements, starts at H3, and focused controls computed no visible outline; Lighthouse failed landmark-one-main.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Add main/nav/header/footer landmarks, one descriptive H1 on the homepage, and visible :focus-visible treatment in logical tab order.",
      "effort": "small"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Primary videos have no captions and targets are small",
      "evidence": "Viewport allows up to 2x scaling and reflows, but Lighthouse failed touch target size and the primary 33-minute video exposes no caption/subtitle track.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Provide caption/subtitle tracks for videos and enlarge or space failing touch targets.",
      "effort": "large"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Security headers and cookie protections are missing",
      "evidence": "HTTPS is used, but CSP, HSTS and nosniff are absent; 3 first-party cookies are not Secure and every observed cookie uses SameSite=None.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Add a restrictive CSP, HSTS and nosniff; mark cookies Secure and choose Lax/Strict unless cross-site use is strictly required.",
      "effort": "medium"
    },
    {
      "id": "F22",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Tracking and ad requests run before visible consent",
      "evidence": "The homepage contacted 10 third-party origins/21 requests (208,158 bytes), including Yandex analytics and multiple advertising/tracking origins, before visible consent.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Remove unnecessary third parties and gate nonessential analytics/ads behind clear consent; batch/minimise retained analytics data.",
      "effort": "large"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defenses are absent",
      "evidence": "No HSTS, clickjacking defense, Referrer-Policy, Permissions-Policy or CSP frame-ancestors was present, despite a third-party iframe on the video page.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Set CSP frame-ancestors, HSTS, Referrer-Policy and Permissions-Policy; evaluate Trusted Types for script-sensitive surfaces.",
      "effort": "medium"
    },
    {
      "id": "F24",
      "pathId": "feedback",
      "url": "https://sex-studentki.live/info/feedback",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "HTTP 429 state has no recovery",
      "evidence": "A rate-limited feedback request produced only a generic 429 page without a retry action, retry-after guidance, cached shell or branded navigation.",
      "artifacts": [
        "evidence/feedback-mobile.png"
      ],
      "suggestedFix": "Serve an intentional error template with retry timing, navigation and state preservation instead of the bare server error.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Russian pages do not declare their language",
      "evidence": "Russian-language pages have an empty html lang attribute, no dir, and the loaded CSS exposed no logical-property signal; Lighthouse also failed html-has-lang.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Set html lang=\"ru\", establish direction, and migrate layout rules to logical properties so translation and bidi layouts can adapt.",
      "effort": "small"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "search-hidden-content",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Profile-styled ad obscures its commercial nature",
      "evidence": "A profile-styled “Лара, 19” promotional card overlays catalog content and routes to a third-party click-tracking URL, blurring editorial UI and advertising.",
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Label the promotion unambiguously as advertising, keep it out of the primary UI layer, and avoid click-tracking redirects that resemble profile navigation.",
      "effort": "medium"
    },
    {
      "id": "F29",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Below-fold catalog images load eagerly",
      "evidence": "The homepage eagerly loads 102 image requests; 88 below-fold images omit loading=lazy, spending bandwidth on content far outside the first viewport.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/images.json"
      ],
      "suggestedFix": "Add loading=\"lazy\" and decoding=\"async\" to below-fold thumbnails and cap initial catalog rendering/fetching.",
      "effort": "small"
    },
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Add preference-driven color themes",
      "evidence": "Light and dark captures are byte-identical (339,279 bytes each); the CSS probe found no color-scheme declaration or prefers-color-scheme rule. The interface is hard-coded dark.",
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme: light dark and use prefers-color-scheme/light-dark() so the current dark palette and a usable light palette follow the user.",
      "effort": "small"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Motion ignores reduced-motion preference",
      "evidence": "Six animations remained present under reduce, including running 3,000 ms and 6,000 ms animations; no prefers-reduced-motion rule was found.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Wrap nonessential animation in no-preference and disable or shorten it under prefers-reduced-motion: reduce.",
      "effort": "small"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Promotional overlay uses custom semantics",
      "evidence": "The load-time promotion is custom ad markup/links; the page has zero dialog, popover or details elements, so dismissal and semantics are hand-rolled.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/listing-mobile.png"
      ],
      "suggestedFix": "If a transient promotion is retained, use popover/dialog semantics, a real button, keyboard focus management and declarative light-dismiss.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "listing",
      "url": "https://sex-studentki.live/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "complex-shapes",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Promotion competes with core content",
      "evidence": "Content cards dominate most of the page, but the fixed promotional card occupies roughly the lower quarter of the mobile listing viewport and competes with the core catalog.",
      "artifacts": [
        "evidence/listing-mobile.png"
      ],
      "suggestedFix": "Remove the fixed promotion from the content viewport and preserve screen space for the catalog and player.",
      "effort": "small"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Images lack reserved dimensions",
      "evidence": "Detail layout recorded CLS 0.0809 and the image audit found all 94 images lacked explicit width/height, leaving late-load shift risk.",
      "artifacts": [
        "evidence/layout-detail.json",
        "evidence/images.json"
      ],
      "suggestedFix": "Emit width/height or aspect-ratio for every image and reserve player/ad space before resources load.",
      "effort": "small"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Substantial CSS and JavaScript is unused",
      "evidence": "Lighthouse estimated 105,137 bytes of unused JavaScript and 68,761 bytes of unused CSS, meaningful on a catalog homepage.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Split page-specific player/catalog assets and remove unused selectors/code identified by coverage.",
      "effort": "medium"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "css",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets lack intrinsic sizing and responsive candidates",
      "evidence": "Rendered documents are standards mode UTF-8, but all 94 audited images lack explicit width/height and 93 lack srcset, weakening asset structure and sizing.",
      "artifacts": [
        "evidence/images.json",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Add width/height and useful srcset/sizes to catalog images while preserving WebP delivery.",
      "effort": "medium"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Inspector issues and javascript: links remain",
      "evidence": "Lighthouse reported DevTools inspector issues; several controls use javascript: href values instead of clean buttons/declarative actions.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Replace javascript: anchors with buttons/declarative actions, resolve DevTools Issues, and preserve real href values only for navigation.",
      "effort": "small"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Interactive javascript: anchors fail crawlability",
      "evidence": "Viewport metadata is present and indexing is allowed, but Lighthouse failed crawlable-anchors; javascript:return false/javascript:false links are used for search controls.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Use buttons for actions and real href links for navigation so crawlers and keyboard users receive correct semantics.",
      "effort": "small"
    },
    {
      "id": "F20",
      "pathId": "detail",
      "url": "https://sex-studentki.live/video/302191-brat-trahaetsya-s-sestroj-feministkoj-vtajne-ot-roditelej",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Video pages lack VideoObject metadata",
      "evidence": "Video detail supplies basic Open Graph tags but no JSON-LD/VideoObject structured data; og:video points to the page URL rather than a media asset.",
      "artifacts": [
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Add accurate VideoObject JSON-LD and point Open Graph video fields to valid media/embed metadata consistent with the visible page.",
      "effort": "small"
    },
    {
      "id": "F27",
      "pathId": "feedback",
      "url": "https://sex-studentki.live/info/feedback",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Forms and failure states offer weak recovery",
      "evidence": "The feedback form fields are not marked required and the observed 429 response supplies no actionable recovery or inline explanation.",
      "artifacts": [
        "evidence/feedback-probe.json",
        "evidence/feedback-mobile.png"
      ],
      "suggestedFix": "Mark requirements semantically, validate after interaction, announce errors, preserve input and provide actionable server-error recovery.",
      "effort": "medium"
    },
    {
      "id": "F30",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party resource cost is disproportionate",
      "evidence": "No video autoplays on the detail page, but homepage third parties cost 21 requests/208 KB and include analytics, ad and click-tracking origins.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Self-host the font where practical, remove redundant tracking/ad origins and defer approved third parties until needed.",
      "effort": "medium"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "medium",
      "summary": "Route changes swap abruptly",
      "evidence": "Navigation is cross-document and swaps abruptly; CSS inspection found no view-transition-name or cross-document View Transition rule.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Add progressive cross-document View Transitions for navigation, retaining a normal navigation fallback.",
      "effort": "medium"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://sex-studentki.live/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "medium",
      "summary": "Long pages provide no position-aware navigation feedback",
      "evidence": "The 31,795 px homepage keeps static header/navigation chrome and exposes no scroll progress or scroll-state response; no scroll-state query or scroll timeline was found.",
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Use a lightweight scroll progress/scroll-state affordance so users can orient within long catalog pages.",
      "effort": "medium"
    },
    {
      "id": "F28",
      "pathId": "feedback",
      "url": "https://sex-studentki.live/info/feedback",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-address-form",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Form fields omit useful input metadata",
      "evidence": "The feedback email input has an associated label but no type=email or autocomplete=email token; comment name/message fields also omit autocomplete guidance.",
      "artifacts": [
        "evidence/feedback-probe.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Use type=\"email\" and autocomplete=\"email\" for contact email, plus appropriate autocomplete tokens for identity fields.",
      "effort": "trivial"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Promotional overlay obscures catalog content",
      "priority": 1,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Keyboard focus and touch target support are weak",
      "priority": 2,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Rate-limit failure is a dead end",
      "priority": 3,
      "findingIds": [
        "F09"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Throttled LCP is slow",
      "priority": 4,
      "findingIds": [
        "F10"
      ],
      "guidanceId": "identify-inp-causes",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Homepage eagerly delivers too many resources",
      "priority": 5,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Controls, links, images and iframe lack accessible names",
      "priority": 6,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Missing landmarks, H1 and focus indicators",
      "priority": 7,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "move-dom-element-without-losing-state",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Primary videos have no captions and targets are small",
      "priority": 8,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T9",
      "title": "Security headers and cookie protections are missing",
      "priority": 9,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Tracking and ad requests run before visible consent",
      "priority": 10,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Browser-enforced defenses are absent",
      "priority": 11,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "HTTP 429 state has no recovery",
      "priority": 12,
      "findingIds": [
        "F24"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T07-51-34-377Z"
}
