{
  "url": "https://ssstik.io",
  "auditedAt": "2026-07-24T09:51:57.511Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Atomic coverage complete across 58 checks and six representative paths.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered HTML with HTMX-style fragment actions",
    "notes": "Public multilingual TikTok downloader. English downloader templates, contact form, APK content, Arabic RTL locale, and 404 recovery sampled. Other translated copies and downloader variants were not repeated because they share these templates."
  },
  "evidenceUsed": [
    "Modern Web Guidance 0.0.172 list/retrieve/search",
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "heap-summary"
  ],
  "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": "other",
      "path": "evidence/404-state.json",
      "caption": "404 state",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/apk-dom.json",
      "caption": "apk dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/apk-mobile.png",
      "caption": "apk mobile",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/ar-dom.json",
      "caption": "ar dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/ar-i18n.json",
      "caption": "ar i18n",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/ar-mobile.png",
      "caption": "ar mobile",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/contacts-dom.json",
      "caption": "contacts dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/contacts-form-probe.json",
      "caption": "contacts form probe",
      "findingIds": [
        "F07",
        "F15",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/contacts-invalid.json",
      "caption": "contacts invalid",
      "findingIds": [
        "F06",
        "F22",
        "F25",
        "F26"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/contacts-mobile.png",
      "caption": "contacts mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/core-invalid-flow.json",
      "caption": "core invalid flow",
      "findingIds": [
        "F11",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/core-valid-flow.json",
      "caption": "core valid flow",
      "findingIds": [
        "F05",
        "F10",
        "F11",
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability",
      "findingIds": [
        "F31"
      ]
    },
    {
      "type": "other",
      "path": "evidence/focus-probe.json",
      "caption": "focus probe",
      "findingIds": [
        "F09",
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F21",
        "F23"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "heap post menu",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-consent-mobile.png",
      "caption": "home consent mobile",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F20"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F13",
        "F14",
        "F22",
        "F29",
        "F30"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F18",
        "F28"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "layout mobile",
      "findingIds": [
        "F04",
        "F17"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home",
      "findingIds": [
        "F12",
        "F13",
        "F14",
        "F15",
        "F19",
        "F28",
        "F29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe",
      "findingIds": [
        "F01",
        "F03",
        "F04",
        "F05",
        "F07",
        "F08",
        "F09",
        "F15",
        "F17",
        "F20",
        "F27",
        "F31"
      ]
    },
    {
      "type": "other",
      "path": "evidence/pwa.json",
      "caption": "pwa",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/stories-dom.json",
      "caption": "stories dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/stories-mobile.png",
      "caption": "stories mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F22",
        "F30"
      ]
    }
  ],
  "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": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The dark-mode screenshot is visually identical to the light screenshot, and the CSS probe found no color-scheme or prefers-color-scheme rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "With prefers-reduced-motion: reduce active, getAnimations() still reported a running 10-second infinite gradient animation; CSS has no reduced-motion rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Lighthouse contrast-related accessibility audits passed and screenshots show high-contrast white text and outlined controls on the gradient.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Rendered CSS contains no view-transition rules; the MPA navigation and form replacement rely on abrupt state swaps.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "The representative pages use no scroll-linked parallax, reveal, carousel, or scrollytelling effect to implement.",
      "reason": "The representative pages use no scroll-linked parallax, reveal, carousel, or scrollytelling effect to implement.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "No gesture-driven carousel, swipe, pull-to-reveal, or custom pointer interaction is present.",
      "reason": "No gesture-driven carousel, swipe, pull-to-reveal, or custom pointer interaction is present.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The mobile layout is 7,987px tall, but the CSS probe found no scroll timeline/state behavior or progress affordance.",
      "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": "Recon and DOM inspection across representative paths.",
      "evidence": "No owned tooltip, popover, or anchored menu was present on the representative pages.",
      "reason": "No owned tooltip, popover, or anchored menu was present on the representative pages.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The state probe found no view-transition/highlight/scroll-marker treatment; the valid submission replaced the main content without a visible result or focused status.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/core-valid-flow.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "A fresh contact-page session placed focus in a full consent dialog before the form, covering the core content and presenting Consent and Manage options only.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/contacts-invalid.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "DOM inspection found zero dialog/popover elements while the page ships custom .modal markup and a third-party consent dialog.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Desktop and mobile screenshots devote the first viewport to the named task and one primary form with limited chrome.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "At 360x800, layout measured scrollWidth 360 and horizontalOverflowPx 0; viewport meta allows scaling to 5x.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The CSS probe found no container queries despite reusable header, form, and content components across templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Programmatic focus on the primary URL field produced outline: none; the platform probe also found four interactive targets below 24px in one dimension.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Desktop and mobile first viewports show a specific H1, one URL field, and a prominent Download action.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "After submitting a representative public TikTok URL and waiting 8 seconds, the result contained no download links and no explanatory error, while the page body collapsed to header/footer content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/core-valid-flow.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Invalid input produced clear text, but a representative valid-looking URL produced an empty error node and no recovery message or status announcement.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/core-invalid-flow.json",
        "evidence/core-valid-flow.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Lighthouse measured LCP at 8.6s, Speed Index 5.8s, TBT 120ms, and performance 0.69; the unthrottled trace’s LCP was 1.17s, confirming network/device conditions drive the regression.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "The mobile layout observer measured CLS 0 with no shift entries over the sampled load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "The raw trace recorded no tasks over 50ms and 0ms TBT; throttled Lighthouse TBT was still 120ms.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Lighthouse reported the ad image was not discoverable in initial HTML and lacked fetchpriority; the longest request chain was 1.33s with unused preconnect warnings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "HAR measured 605KB of script across seven requests; Lighthouse estimated 268KiB unused JS, led by AdSense and two Google tag bundles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Lighthouse failed the label audit for the hidden hamburger checkbox; DOM probes found no label for the required URL input and no labels for contact email/message fields.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Lighthouse accessibility scored 0.94 with no color-contrast failure; sampled text and controls remain legible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The primary URL field has no outline when focused, and the valid submission did not move focus to a named result/status region.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/core-valid-flow.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Representative screenshots show readable text sizing, line length, and spacing on mobile and desktop.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The platform probe found four interactive targets below 24px in one dimension, although the page reflowed without horizontal overflow and permits 5x scaling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/layout-mobile.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Lighthouse errors-in-console audit passed with no recorded errors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The image audit found three of 12 images missing width or height, seven without responsive sources, and four SVGs rendered far below intrinsic width.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Lighthouse best-practices scored 0.77 and reported a Cookie inspector issue plus a third-party cookie from DoubleClick.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "DOM shows a descriptive unique title and populated meta description on sampled templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Real href links, viewport meta, and permissive robots.txt were observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Homepage returned 200, has canonical and complete hreflang set; robots points to a populated sitemap.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The homepage JSON-LD declares a 4.9 aggregateRating with 297,531 reviews while no rating or review evidence appears in the rendered page; og:type is article for an app utility.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Headers show HTTPS, HSTS and nosniff, but no CSP; all four observed first-party cookies lacked Secure and used 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": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Tracker evidence found 10 third-party origins and five known tracker domains; the consent copy states data may be shared with 210 partners.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/contacts-invalid.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "No authentication surface or browser permission request exists in the audited public flows.",
      "reason": "No authentication surface or browser permission request exists in the audited public flows.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The header audit found no Referrer-Policy or Permissions-Policy in addition to the missing CSP; clickjacking protection and HSTS were present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Discoverability measured 100% raw/rendered content coverage, with title, H1, and description in server HTML.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Mobile samples did not clip menus/content; invalid state preserved the form and the 404 page retained navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The manifest has empty name and short_name and no start_url; navigator.serviceWorker.ready did not resolve during the test.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/pwa.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Invalid URL input gets a clear corrective message, and unknown routes get a descriptive 404 with return link.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Arabic sample sets lang=ar and dir=rtl, publishes hreflang alternates, and rendered correctly at 360px.",
      "pathIds": [
        "arabic"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "The sampled pages render no user-facing dates, numbers, currencies, durations, or calendars.",
      "reason": "The sampled pages render no user-facing dates, numbers, currencies, durations, or calendars.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "The sampled pages expose no time-zone-sensitive events or date/time data.",
      "reason": "The sampled pages expose no time-zone-sensitive events or date/time data.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The consent dialog says data may be shared with 210 partners and exposes Consent plus Manage options, but no equally prominent reject action on the first layer.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/contacts-invalid.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Invalid URL text is clear, but #errorContainer has no alert/live semantics; the contact form fields are not required and empty submission was intercepted by consent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/core-invalid-flow.json",
        "evidence/contacts-invalid.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The URL, contact email, and message controls have empty autocomplete values; contact email is type=text and fields have no associated labels.",
      "pathIds": [
        "contacts"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "No checkout, subscription, sign-in, or account-management flow exists on the sampled site.",
      "reason": "No checkout, subscription, sign-in, or account-management flow exists on the sampled site.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Lighthouse identified a 360x300 ad image inserted after parse as LCP without initial discovery; the image audit also found missing dimensions and responsive sources.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "HAR recorded 29 requests and 646KB transferred, including 605KB script; Lighthouse found 268KiB unused JS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "Ten third-party origins and five known tracker domains support a simple URL form; scripts account for nearly all transferred bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "Cross-checked active browser evidence against the pinned Modern Web Guidance mapping.",
      "evidence": "The site is fully visible to non-JS crawlers, but the DOM probe found only a conventional form and no WebMCP or agentic-tool registration.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and DOM inspection across representative paths.",
      "evidence": "Summarisation or language-model inference is not material to the simple URL-download task.",
      "reason": "Summarisation or language-model inference is not material to the simple URL-download task.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "After 10 mobile-menu open/close cycles, retained heap differed by only 263KB (2.4%) across snapshots; no Detached constructor appeared.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-menu.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Baseline heap was 10.8MB self size and 225,175 nodes, proportionate to the page plus advertising stack.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-menu.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct browser, visual, DOM, Lighthouse, network, or heap evidence on representative paths.",
      "evidence": "Neither baseline nor post-interaction heap summary listed Detached constructors; repeated interaction showed modest bounded growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-menu.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",
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "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": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F25",
        "F26",
        "F27"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F28",
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and primary TikTok URL download form; represents the main downloader template and long-form explanatory content.",
      "url": "https://ssstik.io/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "keyboard focus",
        "invalid and representative valid URL submissions"
      ],
      "result": "issues"
    },
    {
      "id": "stories",
      "description": "TikTok Stories downloader; sampled as a second downloader archetype.",
      "url": "https://ssstik.io/download-tiktok-stories",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "contacts",
      "description": "Contact and bug-report form; represents a secondary form and recovery route.",
      "url": "https://ssstik.io/contacts",
      "conditions": [
        "viewport: 360x800",
        "empty submission"
      ],
      "result": "issues"
    },
    {
      "id": "apk",
      "description": "APK landing page; represents the content/product-promotion archetype.",
      "url": "https://ssstik.io/apk",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "arabic",
      "description": "Arabic localized homepage; tests RTL, language, localized metadata, and mobile layout.",
      "url": "https://ssstik.io/ar",
      "conditions": [
        "viewport: 360x800",
        "RTL"
      ],
      "result": "pass"
    },
    {
      "id": "not-found",
      "description": "Unknown route; tests the HTTP/error recovery experience.",
      "url": "https://ssstik.io/does-not-exist-audit",
      "conditions": [
        "404"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "summary": "The site ignores the user’s dark color preference",
      "evidence": "The dark-mode screenshot is visually identical to the light screenshot, and the CSS probe found no color-scheme or prefers-color-scheme rule.",
      "suggestedFix": "Declare color-scheme and provide preference-driven light/dark surface and text tokens.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F02",
      "severity": "medium",
      "summary": "A perpetual header animation continues under reduced-motion",
      "evidence": "With prefers-reduced-motion: reduce active, getAnimations() still reported a running 10-second infinite gradient animation; CSS has no reduced-motion rule.",
      "suggestedFix": "Disable the non-essential animated gradient in a prefers-reduced-motion: reduce query.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F03",
      "severity": "low",
      "summary": "Route and state changes do not provide directional continuity",
      "evidence": "Rendered CSS contains no view-transition rules; the MPA navigation and form replacement rely on abrupt state swaps.",
      "suggestedFix": "Add progressive cross-document View Transitions and a reduced-motion fallback.",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F04",
      "severity": "low",
      "summary": "The long page offers no scroll-state guidance",
      "evidence": "The mobile layout is 7,987px tall, but the CSS probe found no scroll timeline/state behavior or progress affordance.",
      "suggestedFix": "Add a lightweight progress or scroll-state cue for the long instructional page.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F05",
      "severity": "low",
      "summary": "Navigation and replaced form state do not guide attention",
      "evidence": "The state probe found no view-transition/highlight/scroll-marker treatment; the valid submission replaced the main content without a visible result or focused status.",
      "suggestedFix": "Move focus to an announced result region and use restrained directional state transitions.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/core-valid-flow.json",
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F06",
      "severity": "high",
      "summary": "Consent can obscure the requested content on entry",
      "evidence": "A fresh contact-page session placed focus in a full consent dialog before the form, covering the core content and presenting Consent and Manage options only.",
      "suggestedFix": "Use a compact, non-blocking consent surface with equally direct accept/reject controls.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "avoid intrusive interstitial popup content first",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/contacts-invalid.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F07",
      "severity": "medium",
      "summary": "Overlays use custom modal markup instead of native dialog primitives",
      "evidence": "DOM inspection found zero dialog/popover elements while the page ships custom .modal markup and a third-party consent dialog.",
      "suggestedFix": "Use <dialog> or popover for owned overlays, with native focus and light-dismiss behavior.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F08",
      "severity": "low",
      "summary": "Responsive behavior is only viewport-level",
      "evidence": "The CSS probe found no container queries despite reusable header, form, and content components across templates.",
      "suggestedFix": "Add container query boundaries where shared components need local size adaptation.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F09",
      "severity": "medium",
      "summary": "Keyboard focus and control sizing are inconsistent",
      "evidence": "Programmatic focus on the primary URL field produced outline: none; the platform probe also found four interactive targets below 24px in one dimension.",
      "suggestedFix": "Add strong :focus-visible styling and enlarge small interactive targets.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F10",
      "severity": "high",
      "summary": "A representative valid TikTok URL dead-ends without a result",
      "evidence": "After submitting a representative public TikTok URL and waiting 8 seconds, the result contained no download links and no explanatory error, while the page body collapsed to header/footer content.",
      "suggestedFix": "Return an explicit success result or a visible actionable failure with retry guidance; never leave the main task blank.",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "primary user journey task completion",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/core-valid-flow.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F11",
      "severity": "high",
      "summary": "The primary flow has an unannounced blank failure state",
      "evidence": "Invalid input produced clear text, but a representative valid-looking URL produced an empty error node and no recovery message or status announcement.",
      "suggestedFix": "Use an aria-live status region for loading, success, and errors, preserve the form, and expose retry/cancel controls.",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/core-invalid-flow.json",
        "evidence/core-valid-flow.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F12",
      "severity": "high",
      "summary": "Mobile LCP is well outside the good range",
      "evidence": "Lighthouse measured LCP at 8.6s, Speed Index 5.8s, TBT 120ms, and performance 0.69; the unthrottled trace’s LCP was 1.17s, confirming network/device conditions drive the regression.",
      "suggestedFix": "Prioritize the real LCP resource, reserve ad space, and defer non-critical third-party work.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F13",
      "severity": "medium",
      "summary": "The LCP resource is discovered late and critical hints are ineffective",
      "evidence": "Lighthouse reported the ad image was not discoverable in initial HTML and lacked fetchpriority; the longest request chain was 1.33s with unused preconnect warnings.",
      "suggestedFix": "Make the intended LCP element discoverable in initial HTML, prioritize it, and remove or correct unused preconnects.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-summary.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F14",
      "severity": "high",
      "summary": "Third-party scripts dominate transferred and unused JavaScript",
      "evidence": "HAR measured 605KB of script across seven requests; Lighthouse estimated 268KiB unused JS, led by AdSense and two Google tag bundles.",
      "suggestedFix": "Load advertising/analytics only after consent and when slots are near use; consolidate tags and remove unused vendors.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F15",
      "severity": "high",
      "summary": "Primary and contact form controls lack programmatic labels",
      "evidence": "Lighthouse failed the label audit for the hidden hamburger checkbox; DOM probes found no label for the required URL input and no labels for contact email/message fields.",
      "suggestedFix": "Associate visible labels with every input and give the menu toggle an accessible name without hiding its label.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F16",
      "severity": "medium",
      "summary": "Focus feedback and post-action focus management are weak",
      "evidence": "The primary URL field has no outline when focused, and the valid submission did not move focus to a named result/status region.",
      "suggestedFix": "Apply visible :focus-visible styles and move focus predictably to announced results/errors.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/core-valid-flow.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F17",
      "severity": "medium",
      "summary": "Several controls fall below robust target sizing",
      "evidence": "The platform probe found four interactive targets below 24px in one dimension, although the page reflowed without horizontal overflow and permits 5x scaling.",
      "suggestedFix": "Increase compact controls to at least 24x24 CSS px, preferably 44x44 for primary touch actions.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/layout-mobile.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F18",
      "severity": "medium",
      "summary": "Several images omit intrinsic dimensions",
      "evidence": "The image audit found three of 12 images missing width or height, seven without responsive sources, and four SVGs rendered far below intrinsic width.",
      "suggestedFix": "Provide width and height for every image and appropriate responsive source strategy for raster content.",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/images.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F19",
      "severity": "medium",
      "summary": "Browser inspector issues are generated by advertising cookies",
      "evidence": "Lighthouse best-practices scored 0.77 and reported a Cookie inspector issue plus a third-party cookie from DoubleClick.",
      "suggestedFix": "Remove obsolete third-party cookie dependencies and verify a clean DevTools Issues panel.",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "security",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F20",
      "severity": "medium",
      "summary": "Structured metadata makes unsupported rating claims",
      "evidence": "The homepage JSON-LD declares a 4.9 aggregateRating with 297,531 reviews while no rating or review evidence appears in the rendered page; og:type is article for an app utility.",
      "suggestedFix": "Only publish structured claims visible and verifiable on-page; use a fitting WebApplication/website social type.",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "structured data schema.org json-ld open graph social preview metadata",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F21",
      "severity": "high",
      "summary": "Cookies and CSP do not meet the secure baseline",
      "evidence": "Headers show HTTPS, HSTS and nosniff, but no CSP; all four observed first-party cookies lacked Secure and used SameSite=None.",
      "suggestedFix": "Deploy an enforcing CSP and mark HTTPS cookies Secure with the narrowest practical SameSite value.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F22",
      "severity": "high",
      "summary": "The page sends data to a broad advertising and analytics surface",
      "evidence": "Tracker evidence found 10 third-party origins and five known tracker domains; the consent copy states data may be shared with 210 partners.",
      "suggestedFix": "Reduce vendors, gate all non-essential requests on consent, and document a minimal data purpose and retention policy.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "confidence": "high",
      "effort": "large",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/contacts-invalid.json",
        "evidence/home-summary.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F23",
      "severity": "medium",
      "summary": "Key browser-enforced policy headers are absent",
      "evidence": "The header audit found no Referrer-Policy or Permissions-Policy in addition to the missing CSP; clickjacking protection and HSTS were present.",
      "suggestedFix": "Add strict Referrer-Policy and Permissions-Policy and express frame protection in CSP frame-ancestors.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/headers.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F24",
      "severity": "medium",
      "summary": "The app-like site advertises a manifest but is not installable or offline-capable",
      "evidence": "The manifest has empty name and short_name and no start_url; navigator.serviceWorker.ready did not resolve during the test.",
      "suggestedFix": "Complete the manifest and add a service worker with a useful offline fallback, or stop presenting the surface as installable.",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "offline fallback service worker web app manifest installable pwa",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/pwa.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F25",
      "severity": "high",
      "summary": "Consent prioritizes acceptance over refusal",
      "evidence": "The consent dialog says data may be shared with 210 partners and exposes Consent plus Manage options, but no equally prominent reject action on the first layer.",
      "suggestedFix": "Provide reject-all beside accept-all, keep choices neutral, and make withdrawal easy.",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/contacts-invalid.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F26",
      "severity": "medium",
      "summary": "Errors are visible but not exposed as accessible status",
      "evidence": "Invalid URL text is clear, but #errorContainer has no alert/live semantics; the contact form fields are not required and empty submission was intercepted by consent.",
      "suggestedFix": "Validate after interaction and announce errors in a persistent aria-live/role=alert region linked to the field.",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/core-invalid-flow.json",
        "evidence/contacts-invalid.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F27",
      "severity": "medium",
      "summary": "Forms omit labels and autofill assistance",
      "evidence": "The URL, contact email, and message controls have empty autocomplete values; contact email is type=text and fields have no associated labels.",
      "suggestedFix": "Use type=email, visible labels, and appropriate autocomplete tokens such as email.",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-address-form",
      "confidence": "high",
      "effort": "small",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/contacts-form-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "contacts"
    },
    {
      "id": "F28",
      "severity": "medium",
      "summary": "The dynamically selected LCP ad image is not responsively delivered",
      "evidence": "Lighthouse identified a 360x300 ad image inserted after parse as LCP without initial discovery; the image audit also found missing dimensions and responsive sources.",
      "suggestedFix": "Serve correctly sized modern image variants with intrinsic dimensions and avoid making a late ad the LCP.",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/images.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F29",
      "severity": "high",
      "summary": "Advertising and analytics ship substantial work before user value",
      "evidence": "HAR recorded 29 requests and 646KB transferred, including 605KB script; Lighthouse found 268KiB unused JS.",
      "suggestedFix": "Defer non-essential analytics and ads until consent and proximity to use; remove redundant tags.",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F30",
      "severity": "high",
      "summary": "Third-party tracking consumes a disproportionate page budget",
      "evidence": "Ten third-party origins and five known tracker domains support a simple URL form; scripts account for nearly all transferred bytes.",
      "suggestedFix": "Set a third-party byte/request budget and retain only vendors with measured user value.",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "confidence": "high",
      "effort": "large",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    },
    {
      "id": "F31",
      "severity": "low",
      "summary": "The downloader capability is not exposed as a structured agent action",
      "evidence": "The site is fully visible to non-JS crawlers, but the DOM probe found only a conventional form and no WebMCP or agentic-tool registration.",
      "suggestedFix": "Expose the URL download action with clear field semantics and an optional safe agentic form/tool contract.",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "agentic-forms",
      "confidence": "high",
      "effort": "medium",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/platform-probe.json"
      ],
      "url": "https://ssstik.io/",
      "pathId": "home"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Make the primary download flow always return an announced success or actionable failure state",
      "priority": 1,
      "findingIds": [
        "F10",
        "F11",
        "F16"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Gate and sharply reduce advertising/analytics vendors and unused script",
      "priority": 2,
      "findingIds": [
        "F14",
        "F22",
        "F29",
        "F30"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Secure cookies and deploy CSP, Referrer-Policy, and Permissions-Policy",
      "priority": 3,
      "findingIds": [
        "F21",
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Fix labels, focus visibility, touch targets, and form autocomplete",
      "priority": 4,
      "findingIds": [
        "F09",
        "F15",
        "F17",
        "F27"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Remove the blocking consent pattern and provide equal reject/accept choices",
      "priority": 5,
      "findingIds": [
        "F06",
        "F25"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Improve mobile LCP and responsive image delivery",
      "priority": 6,
      "findingIds": [
        "F12",
        "F13",
        "F28"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Respect dark mode and reduced motion preferences",
      "priority": 7,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-24T09-42-28-919Z"
}
