{
  "format": "audeep.report.v1",
  "exportedAt": "2026-08-10T19:25:14.123Z",
  "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": 85,
        "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": "a0d9de92-96ff-489f-82bc-f8036ff164df-ux-tap-target-2",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "dom-selector"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        },
        {
          "findingId": "a0d9de92-96ff-489f-82bc-f8036ff164df-cwv-tbt-3",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "request"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        },
        {
          "findingId": "a0d9de92-96ff-489f-82bc-f8036ff164df-design-control-drift-7",
          "status": "evidence-backed",
          "evidenceKinds": [
            "screenshot",
            "dom-selector"
          ],
          "summary": "The finding is tied to evidence captured during this audit."
        }
      ]
    },
    "id": "a0d9de92-96ff-489f-82bc-f8036ff164df",
    "tier": "quick",
    "url": "https://taskloco.com/",
    "finalUrl": "https://www.taskloco.com/",
    "auditedAt": "2026-08-09T15:17:46.561Z",
    "score": 77,
    "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": 1,
        "covered": true,
        "score": 96,
        "grade": "B"
      },
      {
        "class": "performance",
        "findings": 1,
        "covered": true,
        "score": 96,
        "grade": "B"
      },
      {
        "class": "seo",
        "findings": 1,
        "covered": true,
        "score": 99,
        "grade": "A"
      },
      {
        "class": "design",
        "findings": 3,
        "covered": true,
        "score": 88,
        "grade": "B"
      }
    ],
    "totalFindings": 8,
    "otherFindings": 7,
    "headline": {
      "id": "a0d9de92-96ff-489f-82bc-f8036ff164df-ux-tap-target-2",
      "type": "ux-tap-target",
      "class": "ux",
      "severity": "medium",
      "confidence": "confirmed",
      "title": "Tap target is too small on mobile",
      "detail": "\"Privacy Policy\" renders at 86x16px in the first mobile viewport.",
      "evidence": {
        "selector": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(1) > a:nth-of-type(1)",
        "request": null,
        "screenshot": "/audit-artifacts/a0d9de92-96ff-489f-82bc-f8036ff164df/page.png",
        "prominence": 0.0055072463768115944
      },
      "page": "https://www.taskloco.com/",
      "firstSeen": 2,
      "evidenceChip": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(1) > a:nth-of-type(1)"
    },
    "evidenceChip": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(1) > a:nth-of-type(1)",
    "findings": [
      {
        "id": "a0d9de92-96ff-489f-82bc-f8036ff164df-ux-tap-target-2",
        "type": "ux-tap-target",
        "class": "ux",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "Tap target is too small on mobile",
        "detail": "\"Privacy Policy\" renders at 86x16px in the first mobile viewport.",
        "evidence": {
          "selector": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(1) > a:nth-of-type(1)",
          "request": null,
          "screenshot": "/audit-artifacts/a0d9de92-96ff-489f-82bc-f8036ff164df/page.png",
          "prominence": 0.0055072463768115944
        },
        "page": "https://www.taskloco.com/",
        "firstSeen": 2,
        "evidenceChip": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(1) > a:nth-of-type(1)"
      },
      {
        "id": "a0d9de92-96ff-489f-82bc-f8036ff164df-cwv-tbt-3",
        "type": "cwv-tbt",
        "class": "performance",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "Total Blocking Time is high",
        "detail": "Lab TBT measured 2616ms (poor).",
        "evidence": {
          "selector": null,
          "request": {
            "method": "GET",
            "url": "https://www.taskloco.com/",
            "status": 200
          },
          "screenshot": "/audit-artifacts/a0d9de92-96ff-489f-82bc-f8036ff164df/page.png",
          "prominence": 0
        },
        "page": "https://www.taskloco.com/",
        "firstSeen": 3,
        "evidenceChip": "GET / -> 200"
      },
      {
        "id": "a0d9de92-96ff-489f-82bc-f8036ff164df-design-control-drift-7",
        "type": "design-control-drift",
        "class": "design",
        "severity": "medium",
        "confidence": "confirmed",
        "title": "Buttons on this page are styled inconsistently",
        "detail": "12 visually distinct button treatments render on one page, counting background, text colour, border, corner radius and weight (including \"PREMIUMPricing\", \"Add the Extension\", \"ADD TOChrome\", \"Download on theApp Store\", \"TikTok\"). When every button looks different, none of them reads as the primary action, and people hesitate over which one to press.",
        "evidence": {
          "selector": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(1) > header:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(2)",
          "request": null,
          "screenshot": "/audit-artifacts/a0d9de92-96ff-489f-82bc-f8036ff164df/page.png",
          "prominence": 0
        },
        "page": "https://www.taskloco.com/",
        "firstSeen": 7,
        "evidenceChip": "html > body:nth-of-type(1) > app-root:nth-of-type(1) > app-landing:nth-of-type(1) > div:nth-of-type(1) > section:nth-of-type(1) > header:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(2)"
      }
    ],
    "severityCounts": {
      "critical": 0,
      "high": 0,
      "medium": 5,
      "low": 3
    },
    "interceptSummary": {
      "totalRequests": 95,
      "targetRequests": 85,
      "targetMethods": [
        "GET"
      ],
      "methodCounts": {
        "GET": 95
      },
      "nonGetToTargetAllowed": 0,
      "nonGetToTargetBlocked": 0,
      "audeepAuthoredThirdParty": 0,
      "observeOnlyPass": true,
      "renderedPages": 1,
      "followInternalLinks": false
    },
    "displayHost": "taskloco.com",
    "displayUrl": "taskloco.com",
    "metaTitle": "Grade C - taskloco.com",
    "metaDescription": "Tap target is too small on mobile - +7 other issues found. Observe-only audit by Audeep.",
    "shareText": "My site scored C on Audeep: Tap target is too small on mobile",
    "pageScreenshot": "/audit-artifacts/a0d9de92-96ff-489f-82bc-f8036ff164df/page.png"
  }
}