{
  "format": "audeep.report.v1",
  "exportedAt": "2026-08-06T02:28:19.561Z",
  "report": {
    "schemaVersion": 2,
    "contract": {
      "productUnderstanding": {
        "source": "surface-observation",
        "productName": null,
        "productCategory": "unknown",
        "summary": "This report used the audited public surface without paid discovery context.",
        "capabilities": [],
        "authSignals": [],
        "publicPaths": [],
        "apiOrigins": [],
        "discovery": null
      },
      "coverage": {
        "accessMode": "public",
        "status": "complete",
        "renderedPages": 1,
        "targetRequests": 13,
        "pageBudget": 1,
        "targetRequestBudget": 80,
        "discoveredPublicPathCount": 0,
        "allowedApiOriginCount": 0,
        "syntheticSignupCompleted": false,
        "postSignupTargetWrites": 0
      },
      "observedActions": [],
      "safeStops": [],
      "cleanupResidue": {
        "status": "not-required",
        "summary": "No synthetic account or target records were created by this audit.",
        "residue": []
      },
      "findingVerification": [
        {
          "findingId": "b5624e74-b821-4278-93fc-3a6f4d463a73-ux-viewport-overflow-2",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "dom-selector"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        },
        {
          "findingId": "b5624e74-b821-4278-93fc-3a6f4d463a73-ux-tap-target-3",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "dom-selector"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        },
        {
          "findingId": "b5624e74-b821-4278-93fc-3a6f4d463a73-seo-canonical-5",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "dom-selector",
            "request"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        }
      ]
    },
    "id": "b5624e74-b821-4278-93fc-3a6f4d463a73",
    "tier": "quick",
    "url": "https://pinlite.vercel.app/",
    "finalUrl": "https://pinlite.vercel.app/",
    "auditedAt": "2026-08-01T02:36:45.346Z",
    "score": 79,
    "grade": "C",
    "dimensions": [
      {
        "class": "functional",
        "findings": 1,
        "covered": true,
        "score": 99,
        "grade": "A"
      },
      {
        "class": "security",
        "findings": 1,
        "covered": true,
        "score": 99,
        "grade": "A"
      },
      {
        "class": "accessibility",
        "findings": 0,
        "covered": true,
        "score": 100,
        "grade": "A"
      },
      {
        "class": "ux",
        "findings": 2,
        "covered": true,
        "score": 92,
        "grade": "B"
      },
      {
        "class": "performance",
        "findings": 1,
        "covered": true,
        "score": 99,
        "grade": "A"
      },
      {
        "class": "seo",
        "findings": 1,
        "covered": true,
        "score": 96,
        "grade": "B"
      },
      {
        "class": "design",
        "findings": 3,
        "covered": true,
        "score": 94,
        "grade": "B"
      }
    ],
    "totalFindings": 9,
    "otherFindings": 8,
    "headline": {
      "id": "b5624e74-b821-4278-93fc-3a6f4d463a73-ux-viewport-overflow-2",
      "type": "ux-viewport-overflow",
      "class": "ux",
      "severity": "medium",
      "confidence": "confirmed",
      "title": "Content is clipped at the mobile viewport edge",
      "detail": "At 375px wide, content runs 74px past the viewport and is cut off by an ancestor's overflow:hidden.",
      "evidence": {
        "selector": "html > body:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3)",
        "request": null,
        "screenshot": "/audit-artifacts/b5624e74-b821-4278-93fc-3a6f4d463a73/page.png",
        "prominence": 0
      },
      "page": "https://pinlite.vercel.app/",
      "firstSeen": 2,
      "evidenceChip": "html > body:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3)"
    },
    "evidenceChip": "html > body:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3)",
    "findings": [
      {
        "id": "b5624e74-b821-4278-93fc-3a6f4d463a73-ux-viewport-overflow-2",
        "type": "ux-viewport-overflow",
        "class": "ux",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "Content is clipped at the mobile viewport edge",
        "detail": "At 375px wide, content runs 74px past the viewport and is cut off by an ancestor's overflow:hidden.",
        "evidence": {
          "selector": "html > body:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3)",
          "request": null,
          "screenshot": "/audit-artifacts/b5624e74-b821-4278-93fc-3a6f4d463a73/page.png",
          "prominence": 0
        },
        "page": "https://pinlite.vercel.app/",
        "firstSeen": 2,
        "evidenceChip": "html > body:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3)"
      },
      {
        "id": "b5624e74-b821-4278-93fc-3a6f4d463a73-ux-tap-target-3",
        "type": "ux-tap-target",
        "class": "ux",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "Tap target is too small on mobile",
        "detail": "\"Get embed code →\" renders at 132x20px in the first mobile viewport.",
        "evidence": {
          "selector": "a[href=\"#embed\"]",
          "request": null,
          "screenshot": "/audit-artifacts/b5624e74-b821-4278-93fc-3a6f4d463a73/page.png",
          "prominence": 0.010589705147426286
        },
        "page": "https://pinlite.vercel.app/",
        "firstSeen": 3,
        "evidenceChip": "a[href=\"#embed\"]"
      },
      {
        "id": "b5624e74-b821-4278-93fc-3a6f4d463a73-seo-canonical-5",
        "type": "seo-canonical",
        "class": "seo",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "No canonical URL is declared",
        "detail": "The page has no <link rel=\"canonical\">. If the same content is reachable at more than one URL (with and without a trailing slash, with tracking parameters), search engines have to guess which one is the real one and split the page's credit between them.",
        "evidence": {
          "selector": "head",
          "request": {
            "method": "GET",
            "url": "https://pinlite.vercel.app/",
            "status": 200
          },
          "screenshot": "/audit-artifacts/b5624e74-b821-4278-93fc-3a6f4d463a73/page.png",
          "prominence": 0
        },
        "page": "https://pinlite.vercel.app/",
        "firstSeen": 5,
        "evidenceChip": "GET / -> 200"
      }
    ],
    "severityCounts": {
      "critical": 0,
      "high": 0,
      "medium": 4,
      "low": 5
    },
    "interceptSummary": {
      "totalRequests": 40,
      "targetRequests": 13,
      "targetMethods": [
        "GET"
      ],
      "methodCounts": {
        "GET": 40
      },
      "nonGetToTargetAllowed": 0,
      "nonGetToTargetBlocked": 0,
      "audeepAuthoredThirdParty": 0,
      "observeOnlyPass": true,
      "renderedPages": 1,
      "followInternalLinks": false
    },
    "displayHost": "pinlite.vercel.app",
    "displayUrl": "pinlite.vercel.app",
    "metaTitle": "Grade C - pinlite.vercel.app",
    "metaDescription": "Content is clipped at the mobile viewport edge - +8 other issues found. Observe-only audit by Audeep.",
    "shareText": "My site scored C on Audeep: Content is clipped at the mobile viewport edge",
    "pageScreenshot": "/audit-artifacts/b5624e74-b821-4278-93fc-3a6f4d463a73/page.png"
  }
}