{
  "url": "https://m.vk.com",
  "auditedAt": "2026-07-27T22:00:56.146Z",
  "mode": "report",
  "status": "blocked",
  "statusDetail": "The public sign-in surface was inspected, but the site’s core content and flows are behind authentication. The report is coverage-partial and carries no score.",
  "page": {
    "appType": "hybrid",
    "framework": "VK mobile web application (framework not reliably identified)",
    "notes": "Public entry is a client-enhanced authentication gateway. Authenticated feed, profiles, search, messaging, groups, media, settings, signup, and business-page creation were not covered because they require account state or user data."
  },
  "evidenceUsed": [
    "raw-CDP custom screenshot",
    "raw-CDP DOM/computed-style/evaluate probe",
    "raw-CDP network and response-header events",
    "HTTP raw HTML/headers/robots/sitemap fetch",
    "Lighthouse attempted (NO_FCP)",
    "Modern Web Guidance 0.0.172 list/search/retrieve"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Public sign-in surface at 390x844 with prefers-color-scheme: dark.",
      "condition": "viewport 390x844; prefers-color-scheme: dark",
      "findingIds": [
        "F-REDUCED-MOTION",
        "F-A11Y-STRUCTURE"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dark.json",
      "caption": "Raw-CDP rendered DOM, computed styles, controls, links, network events, response headers, and navigation timing.",
      "condition": "viewport 390x844; prefers-color-scheme: dark",
      "findingIds": [
        "F-PERF-LOAD",
        "F-PRIVACY-THIRD-PARTY",
        "F-CSP",
        "F-DEFENSIVE-POLICIES",
        "F-A11Y-STRUCTURE",
        "F-TOUCH-TARGETS",
        "F-ZOOM"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-reduced.png",
      "caption": "Sign-in surface under prefers-reduced-motion: reduce.",
      "condition": "viewport 390x844; prefers-reduced-motion: reduce",
      "findingIds": [
        "F-REDUCED-MOTION"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-reduced.json",
      "caption": "Raw-CDP probe under reduced motion; a 1500ms running animation remained and no reduced-motion rule was found.",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": [
        "F-REDUCED-MOTION"
      ]
    },
    {
      "type": "other",
      "path": "evidence/raw-headers.txt",
      "caption": "HTTP response headers and Set-Cookie values from a mobile-UA request.",
      "findingIds": [
        "F-CSP",
        "F-DEFENSIVE-POLICIES",
        "F-PRIVACY-THIRD-PARTY"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/raw-analysis.json",
      "caption": "Analysis of raw server HTML without JavaScript; content was an outdated-browser warning rather than the rendered sign-in page.",
      "condition": "raw HTTP; JavaScript not executed",
      "findingIds": [
        "F-CRAWLER-MISMATCH",
        "F-RESILIENCE-NOJS"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/raw-mobile.html",
      "caption": "Raw server HTML fetched with a mobile user agent.",
      "condition": "raw HTTP; JavaScript not executed",
      "findingIds": [
        "F-CRAWLER-MISMATCH",
        "F-RESILIENCE-NOJS"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots.txt fetched from m.vk.com.",
      "findingIds": [
        "F-INDEXING-SIGNALS"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "The /sitemap.xml request returned an HTML document rather than an XML sitemap.",
      "findingIds": [
        "F-INDEXING-SIGNALS"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Attempted Lighthouse run; collection failed with NO_FCP, so no scores are reported.",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 33,
    "blocked": 25,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": false
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "confidence": "high",
      "status": "pass",
      "evidence": "Under prefers-color-scheme: dark, the sign-in surface rendered dark backgrounds and light text with visible controls.",
      "method": "Raw-CDP media emulation plus screenshot and computed styles.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "confidence": "high",
      "status": "issues",
      "evidence": "A 1500ms animation remained running under prefers-reduced-motion: reduce and no reduced-motion rule was detected.",
      "method": "Raw-CDP media emulation and document.getAnimations().",
      "artifacts": [
        "evidence/home-reduced.json",
        "evidence/home-reduced.png"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-REDUCED-MOTION"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "confidence": "high",
      "status": "pass",
      "evidence": "Initial viewport shows the primary sign-in content without an interstitial, popup, or obscuring banner.",
      "method": "First-viewport screenshot and rendered DOM inspection.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "confidence": "high",
      "status": "pass",
      "evidence": "No overlays, dialogs, popovers, or custom transient controls were present on initial load.",
      "method": "Rendered DOM inspection for overlay primitives and visible controls.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "confidence": "high",
      "status": "pass",
      "evidence": "The full mobile viewport is a sparse, content-first sign-in form with minimal decorative chrome.",
      "method": "Mobile screenshot review.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "confidence": "high",
      "status": "pass",
      "evidence": "At 390px, document scrollWidth equalled innerWidth (390px) and the form fit without horizontal clipping.",
      "method": "Raw-CDP layout dimensions plus screenshot.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/home-dark.png"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "confidence": "high",
      "status": "issues",
      "evidence": "The country/code button measured 24x48 CSS pixels, below a 44x44 target in one dimension.",
      "method": "Rendered control bounding-rectangle probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-TOUCH-TARGETS"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "confidence": "high",
      "status": "pass",
      "evidence": "The first viewport clearly says “Sign in to VK” and presents a dominant Sign in action plus sign-up alternatives.",
      "method": "First-viewport screenshot and visible text inspection.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "confidence": "high",
      "status": "issues",
      "evidence": "Observed loadEventEnd was about 3.83s with 193 resources; exact Lighthouse vitals were blocked by NO_FCP.",
      "method": "Navigation Timing and Resource Timing probe; attempted Lighthouse corroboration.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/lighthouse.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-PERF-LOAD"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "confidence": "high",
      "status": "issues",
      "evidence": "The login view generated roughly 200 responses, dominated by st.vk.ru and multiple analytics origins.",
      "method": "Raw-CDP request/response event capture.",
      "artifacts": [
        "evidence/home-reduced.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-RESOURCE-DELIVERY"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "confidence": "high",
      "status": "issues",
      "evidence": "No headings or landmark elements/roles were found in the rendered sign-in view.",
      "method": "Rendered DOM semantic-structure probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-A11Y-STRUCTURE"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "confidence": "high",
      "status": "pass",
      "evidence": "Primary text is visually legible, controls are clearly separated, and the 390px view shows no clipping or cramped wrapping.",
      "method": "Mobile screenshot and computed typography review.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "confidence": "high",
      "status": "issues",
      "evidence": "Viewport meta declares maximum-scale=1.0 and user-scalable=no, preventing user zoom.",
      "method": "Rendered DOM meta-viewport probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-ZOOM"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "confidence": "high",
      "status": "pass",
      "evidence": "The successful raw-CDP load recorded no uncaught exceptions.",
      "method": "Runtime.exceptionThrown event capture.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "confidence": "high",
      "status": "pass",
      "evidence": "Rendered document has an HTML doctype, UTF-8 response/document encoding, and its single img is explicitly 1x1 with matching natural dimensions.",
      "method": "Rendered DOM and network-header inspection.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/raw-headers.txt"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "confidence": "high",
      "status": "pass",
      "evidence": "Rendered page title is “VK | Welcome!” and meta description describes VK and its purpose.",
      "method": "Rendered head metadata probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "confidence": "high",
      "status": "issues",
      "evidence": "The browser view has real href links, but user zoom is disabled and raw HTML does not expose the sign-in content.",
      "method": "Rendered link/meta inspection plus raw HTML comparison.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/raw-analysis.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-CRAWLER-MISMATCH"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "confidence": "high",
      "status": "issues",
      "evidence": "Canonical points to https://vk.com/ and robots.txt is available, but /sitemap.xml returned HTML rather than XML.",
      "method": "HTTP fetch of canonical, robots, and sitemap signals.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-INDEXING-SIGNALS"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "confidence": "high",
      "status": "issues",
      "evidence": "No Open Graph metadata or JSON-LD was found for the service entry page.",
      "method": "Rendered head/JSON-LD probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-SHARE-METADATA"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "confidence": "high",
      "status": "issues",
      "evidence": "HTTPS and HSTS are present, but CSP script-src permits unsafe-inline and unsafe-eval across a broad allowlist.",
      "method": "Main-response header capture.",
      "artifacts": [
        "evidence/raw-headers.txt",
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-CSP"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "confidence": "high",
      "status": "issues",
      "evidence": "The unauthenticated page contacted 14 third-party origins, including multiple analytics/tracking services, before action.",
      "method": "Raw-CDP resource-origin and request inspection.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-PRIVACY-THIRD-PARTY"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "confidence": "high",
      "status": "issues",
      "evidence": "HSTS and X-Frame-Options are present, but Referrer-Policy, Permissions-Policy, and nosniff were absent in the captured response.",
      "method": "Main-response header inspection.",
      "artifacts": [
        "evidence/raw-headers.txt"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-DEFENSIVE-POLICIES"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "confidence": "high",
      "status": "issues",
      "evidence": "Raw server HTML showed only an outdated-browser warning and omitted the rendered sign-in form.",
      "method": "Raw HTTP HTML vs browser-rendered DOM comparison.",
      "artifacts": [
        "evidence/raw-analysis.json",
        "evidence/raw-mobile.html",
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-RESILIENCE-NOJS"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "confidence": "high",
      "status": "pass",
      "evidence": "The rendered document declares lang=en and exposes an English language selector; no bidi content was present on this entry view.",
      "method": "Rendered DOM lang and navigation inspection.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "confidence": "medium",
      "status": "not-applicable",
      "evidence": "No dates, currencies, localized numbers, durations, or calendar data appear on the public sign-in surface.",
      "method": "Rendered-content applicability review.",
      "reason": "The reachable sign-in surface contains no locale-sensitive data to format."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "confidence": "medium",
      "status": "not-applicable",
      "evidence": "No time or event data appears on the public sign-in surface.",
      "method": "Rendered-content applicability review.",
      "reason": "The reachable sign-in surface has no time-zone-sensitive concepts."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "confidence": "high",
      "status": "issues",
      "evidence": "The “Save user” persistence choice is checked by default.",
      "method": "Initial-state screenshot and checkbox-state review.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-DEFAULT-SAVE"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "confidence": "high",
      "status": "issues",
      "evidence": "The phone login field explicitly uses autocomplete=off.",
      "method": "Rendered form-control attribute probe.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-AUTOCOMPLETE"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "confidence": "high",
      "status": "pass",
      "evidence": "The visible UI does not load content imagery; the only img in the DOM is an explicitly sized 1x1 analytics pixel.",
      "method": "Rendered image inventory.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "confidence": "high",
      "status": "issues",
      "evidence": "The sparse login page recorded 193 resource entries and extensive analytics traffic before interaction.",
      "method": "Raw-CDP Resource Timing and origin inventory.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-WASTEFUL-WORK"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "confidence": "high",
      "status": "issues",
      "evidence": "Fourteen third-party origins are disproportionate to the simple login UI.",
      "method": "Raw-CDP third-party origin inventory plus screenshot context.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/home-dark.png"
      ],
      "pathIds": [
        "login-entry"
      ],
      "findingIds": [
        "F-MEDIA-BUDGET"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "confidence": "medium",
      "status": "not-applicable",
      "evidence": "The reachable page is an authentication gateway and exposes no safe public capability for an agent to execute.",
      "method": "Contextual applicability review.",
      "reason": "No public agent-facing task is available before authentication; absence of WebMCP is not penalized."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "confidence": "medium",
      "status": "not-applicable",
      "evidence": "No summarization, generation, or other inference task exists on the reachable sign-in page.",
      "method": "Contextual applicability review.",
      "reason": "On-device inference would not improve the public sign-in task."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "blocked",
      "confidence": "low",
      "method": "Attempted public recon and mapped an evidence method, but authenticated coverage was unavailable.",
      "evidence": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP.",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-REDUCED-MOTION"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "incomplete",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "incomplete",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-TOUCH-TARGETS"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "incomplete",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-PERF-LOAD",
        "F-RESOURCE-DELIVERY"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-A11Y-STRUCTURE",
        "F-ZOOM"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "incomplete",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-CRAWLER-MISMATCH",
        "F-INDEXING-SIGNALS",
        "F-SHARE-METADATA"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-CSP",
        "F-PRIVACY-THIRD-PARTY",
        "F-DEFENSIVE-POLICIES"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-RESILIENCE-NOJS"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-DEFAULT-SAVE",
        "F-AUTOCOMPLETE"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-WASTEFUL-WORK",
        "F-MEDIA-BUDGET"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "Contextual checks were judged not applicable on the reachable surface."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "incomplete",
      "reason": "The public URL is an authentication wall. The authenticated social-network templates and journeys require a real account and could not be inspected; repeated official evidence-primitive navigations also timed out, and Lighthouse failed with NO_FCP."
    }
  ],
  "paths": [
    {
      "id": "login-entry",
      "description": "Public mobile sign-in entry: inspect first viewport, rendered semantics, form attributes, user preferences, responsive layout, headers/network, and raw no-JS response. Represents only the unauthenticated gateway.",
      "url": "https://m.vk.com/",
      "conditions": [
        "viewport 390x844",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "raw HTML without JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "authenticated-core",
      "description": "Authenticated feed, profiles, search, messaging, groups, media, settings, and account flows. Not covered because a real account is required.",
      "url": "https://m.vk.com/",
      "conditions": [
        "authenticated session required"
      ],
      "result": "skipped"
    },
    {
      "id": "signup-business-flows",
      "description": "Signup and business-page creation flows. Not covered to avoid creating accounts or submitting personal/business data.",
      "url": "https://m.vk.com/",
      "conditions": [
        "user data and possible account creation required"
      ],
      "result": "skipped"
    }
  ],
  "findings": [
    {
      "id": "F-REDUCED-MOTION",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "The sign-in page continues a non-essential animation when reduced motion is requested.",
      "evidence": "The reduced-motion raw-CDP probe found one running animation with a 1500ms duration and no prefers-reduced-motion CSS rule; the reduced-motion screenshot is evidence/home-reduced.png.",
      "artifacts": [
        "evidence/home-reduced.json",
        "evidence/home-reduced.png"
      ],
      "suggestedFix": "Add a prefers-reduced-motion: reduce override that removes or shortens non-essential animations and transitions.",
      "effort": "small"
    },
    {
      "id": "F-TOUCH-TARGETS",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "At least one important control has a touch target below the recommended size.",
      "evidence": "The rendered-control probe measured the country/code button at 24x48 CSS pixels, while the adjacent controls are 44-48px tall.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Increase the country selector hit area to at least 44x44 CSS pixels without reducing its visible focus treatment.",
      "effort": "small"
    },
    {
      "id": "F-PERF-LOAD",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "medium",
      "summary": "The small sign-in surface has a slow and request-heavy observed load.",
      "evidence": "Navigation timing reported loadEventEnd at about 3826ms and 193 resource entries. Lighthouse was attempted but failed with NO_FCP, so field-equivalent LCP/INP/CLS values remain blocked.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/lighthouse.json"
      ],
      "suggestedFix": "Profile the critical path, prioritize the sign-in UI, and defer analytics and nonessential application bundles until after the form is usable.",
      "effort": "large"
    },
    {
      "id": "F-RESOURCE-DELIVERY",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "A minimal login screen initiates an excessive dependency surface.",
      "evidence": "The raw-CDP network capture recorded 204 requests and 201 responses, including about 149 responses from st.vk.ru and multiple analytics origins.",
      "artifacts": [
        "evidence/home-reduced.json"
      ],
      "suggestedFix": "Ship a minimal authentication bootstrap, defer noncritical scripts, and remove or lazy-load dependencies not required to render and submit sign-in.",
      "effort": "large"
    },
    {
      "id": "F-PRIVACY-THIRD-PARTY",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "The unauthenticated sign-in page contacts a broad tracking and analytics surface before user action.",
      "evidence": "The rendered probe observed 14 third-party origins, including scorecardresearch.com, mail.ru analytics, tns-counter.ru, apptracer.ru, mradx.net, ads.vk.com, and stats.vk-portal.net. Raw headers also set long-lived SameSite=None identifiers.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/raw-headers.txt"
      ],
      "suggestedFix": "Audit every pre-consent third party, remove nonessential trackers, and delay optional analytics until a lawful user choice or a necessary in-context event.",
      "effort": "large"
    },
    {
      "id": "F-A11Y-STRUCTURE",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The sign-in document lacks semantic heading and landmark structure.",
      "evidence": "The rendered DOM probe found no h1/h2/h3 elements and no main, nav, header, footer, or explicit landmark roles on the primary sign-in view.",
      "artifacts": [
        "evidence/home-dark.json",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Mark the sign-in region as main, expose “Sign in to VK” as the h1, and preserve a logical keyboard order with visible :focus-visible styles.",
      "effort": "small"
    },
    {
      "id": "F-ZOOM",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The viewport declaration prevents user zoom.",
      "evidence": "The live DOM reports minimum-scale=1.0, maximum-scale=1.0 and user-scalable=no in the viewport meta tag.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Remove maximum-scale, minimum-scale, and user-scalable=no so users can zoom; retain width=device-width and initial-scale=1.",
      "effort": "trivial"
    },
    {
      "id": "F-CRAWLER-MISMATCH",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "The raw server response does not expose the rendered sign-in content to non-JavaScript clients.",
      "evidence": "Raw HTML contained only an “Your browser is out of date” warning, while the browser-rendered view contained the VK sign-in form and legal/help links.",
      "artifacts": [
        "evidence/raw-analysis.json",
        "evidence/raw-mobile.html",
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Serve a progressively enhanced sign-in document with the same meaningful heading, form purpose, and links in server HTML, then enhance it with JavaScript.",
      "effort": "large"
    },
    {
      "id": "F-INDEXING-SIGNALS",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "medium",
      "summary": "The mobile host does not provide a valid sitemap response at its conventional endpoint.",
      "evidence": "GET https://m.vk.com/sitemap.xml returned a 430KB HTML page rather than XML; robots.txt was available and the page canonical points to https://vk.com/.",
      "artifacts": [
        "evidence/sitemap.xml",
        "evidence/robots.txt",
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Return a valid XML sitemap or explicitly reference the canonical host sitemap from robots.txt, and keep mobile/canonical indexing signals consistent.",
      "effort": "small"
    },
    {
      "id": "F-SHARE-METADATA",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "low",
      "confidence": "medium",
      "summary": "The entry page exposes no Open Graph or structured entity metadata.",
      "evidence": "The rendered DOM probe found no Open Graph properties and no JSON-LD blocks, despite the page representing the VK organization/service.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Add accurate Open Graph tags and Organization/WebSite JSON-LD that match the visible page and canonical URL.",
      "effort": "small"
    },
    {
      "id": "F-CSP",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "The CSP is extremely broad and permits unsafe script execution patterns.",
      "evidence": "The main response is HTTPS with HSTS, but script-src includes both unsafe-inline and unsafe-eval plus a long allowlist of third-party script origins.",
      "artifacts": [
        "evidence/raw-headers.txt",
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Move to nonce/hash-based scripts, remove unsafe-eval and unsafe-inline, and reduce connect/script allowlists to origins needed by the sign-in surface.",
      "effort": "large"
    },
    {
      "id": "F-DEFENSIVE-POLICIES",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Several modern defensive response policies are absent.",
      "evidence": "The captured main response includes HSTS and X-Frame-Options but no Referrer-Policy, Permissions-Policy, or X-Content-Type-Options header; CSP also permits unsafe script patterns.",
      "artifacts": [
        "evidence/raw-headers.txt",
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Add strict Referrer-Policy, Permissions-Policy, and nosniff headers, then harden CSP and prefer frame-ancestors as the clickjacking policy.",
      "effort": "small"
    },
    {
      "id": "F-RESILIENCE-NOJS",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "stabilize-reactive-state",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "The core sign-in purpose is not resilient in the raw non-JavaScript response.",
      "evidence": "The raw response presents an outdated-browser warning and no sign-in form, whereas JavaScript/browser execution produces the full login UI.",
      "artifacts": [
        "evidence/raw-analysis.json",
        "evidence/raw-mobile.html",
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Server-render the essential sign-in form and recovery links with native form behavior, then layer client-side state and validation on top.",
      "effort": "large"
    },
    {
      "id": "F-DEFAULT-SAVE",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "forms",
      "guidanceCategory": "forms",
      "severity": "medium",
      "confidence": "high",
      "summary": "“Save user” is selected by default on a sign-in form.",
      "evidence": "The initial screenshot shows the Save user checkbox checked before interaction, while the page also sets long-lived identifiers.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/raw-headers.txt"
      ],
      "suggestedFix": "Default the persistence choice off, explain what will be saved and for how long, and let the user opt in deliberately.",
      "effort": "small"
    },
    {
      "id": "F-AUTOCOMPLETE",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "forms",
      "severity": "medium",
      "confidence": "high",
      "summary": "The phone sign-in identifier disables autocomplete.",
      "evidence": "The live form probe reports input type=tel, name=login, autocomplete=off.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Use the appropriate sign-in autocomplete token, typically username or tel, and use one-time-code on the verification field rather than disabling autocomplete.",
      "effort": "trivial"
    },
    {
      "id": "F-WASTEFUL-WORK",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The login page performs disproportionate background network work.",
      "evidence": "A first-load capture recorded 193 resource entries and requests to numerous analytics endpoints before any user action.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Remove unnecessary background requests and defer low-priority analytics until after the critical sign-in interaction or an explicit user choice.",
      "effort": "large"
    },
    {
      "id": "F-MEDIA-BUDGET",
      "pathId": "login-entry",
      "url": "https://m.vk.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party script and tracking cost is disproportionate to the sparse login view.",
      "evidence": "The page visually contains a single compact form but contacts 14 third-party origins and records about 200 network responses.",
      "artifacts": [
        "evidence/home-dark.json"
      ],
      "suggestedFix": "Set a strict third-party budget for authentication pages, retain only necessary fraud/security services, and defer the rest.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Minimize pre-action tracking and third-party traffic on the authentication page",
      "priority": 1,
      "findingIds": [
        "F-PRIVACY-THIRD-PARTY",
        "F-RESOURCE-DELIVERY",
        "F-WASTEFUL-WORK",
        "F-MEDIA-BUDGET"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Harden CSP and complete defensive response policies",
      "priority": 2,
      "findingIds": [
        "F-CSP",
        "F-DEFENSIVE-POLICIES"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Server-render a progressively enhanced, crawlable sign-in experience",
      "priority": 3,
      "findingIds": [
        "F-CRAWLER-MISMATCH",
        "F-RESILIENCE-NOJS",
        "F-INDEXING-SIGNALS"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Restore zoom and semantic page structure",
      "priority": 4,
      "findingIds": [
        "F-A11Y-STRUCTURE",
        "F-ZOOM",
        "F-TOUCH-TARGETS"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Respect reduced motion and remove the remaining login animation under reduce",
      "priority": 5,
      "findingIds": [
        "F-REDUCED-MOTION"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Make persistence opt-in and enable sign-in autofill",
      "priority": 6,
      "findingIds": [
        "F-DEFAULT-SAVE",
        "F-AUTOCOMPLETE"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Add accurate share metadata for the public entry page",
      "priority": 7,
      "findingIds": [
        "F-SHARE-METADATA"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 1,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-27T22-00-56-146Z"
}
