{
  "ok": true,
  "app_id": "com.to_do_list_studio.uptodo",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 0,
  "from": {
    "scan_id": "f59eb4ee-5e86-4188-b30f-99b9452a075f",
    "version": "1.15.0",
    "analysis": {
      "issues": [],
      "stages": {
        "pii": "complete",
        "sbom": "complete",
        "signing": "certificate_parsed",
        "strings": "complete",
        "manifest": "complete"
      },
      "status": "complete",
      "grading": {
        "policy": "static-coverage-v1",
        "blockers": [],
        "eligible": true
      },
      "timings_ms": {
        "total": 8119.245,
        "harvest": 2925.7009999999996,
        "detectors": 4481.156999999991
      },
      "bytes_total": 63544896,
      "bytes_scanned": 63544896,
      "bytes_skipped": 0,
      "files_processed": 1843,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "343874454535616fe54e67cd9c5a78258ebd9d77457264256bd032a0a126caff"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "d20f551bf494331f5b873631cafd0e0971793d55cb9eeea75522944edd2751c4"
        },
        {
          "name": "config.en.apk",
          "sha256": "7614414c244135bc473a3826caeb37edfe8323342c49a90e050ad1390b67ccfd"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "5e358c0e89b6d87c9fcb6215163a559ab8104e74b53b872323e8c35d6de7436e"
        }
      ],
      "ruleset_sha256": "6627311253eb54bc361d5dd9a0abc2a0fe556e390d6b2031bca75e1800928ccd"
    },
    "grade": "A",
    "score": 97,
    "scanned_at": "2026-09-21T04:01:02.452Z"
  },
  "to": {
    "scan_id": "c31c5572-3414-4450-ae5f-361c6698344e",
    "version": "1.15.2",
    "analysis": {
      "issues": [],
      "stages": {
        "pii": "complete",
        "sbom": "complete",
        "signing": "certificate_parsed",
        "strings": "complete",
        "manifest": "complete"
      },
      "status": "complete",
      "grading": {
        "policy": "static-coverage-v1",
        "blockers": [],
        "eligible": true
      },
      "timings_ms": {
        "total": 8003.701,
        "harvest": 2894.746999999997,
        "detectors": 4399.199000000001
      },
      "bytes_total": 63783085,
      "bytes_scanned": 63783085,
      "bytes_skipped": 0,
      "files_processed": 1845,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "a3d234dac108bb50c13ba5f6493b66c9b157f2a203862a1627dd88fcbf9eb6af"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "d711d4a3c4b255a68ae943bf374fa380da842aba90c0f705c2cf379e1829d1d1"
        },
        {
          "name": "config.en.apk",
          "sha256": "f7397bc8777dbe570a296cbadcc248653c2c12fe4d802426544230e1a77d2b72"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "8b7ceed335c1a3a8b9c45e611cf108ea4213232655f904af65201828e9d003cd"
        }
      ],
      "ruleset_sha256": "ab3c4fcdbb80449695ea8ed46a12abf272aebe072e8ca1ffa301019c3d559bee"
    },
    "grade": "A",
    "score": 97,
    "scanned_at": "2026-09-30T09:05:52.518Z"
  },
  "findings": {
    "added": [],
    "removed": [],
    "persisting_count": 3,
    "added_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0
    },
    "removed_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0
    }
  },
  "trackers": {
    "added": [
      "Google Analytics for Firebase"
    ],
    "removed": [
      "Google AdServices"
    ]
  },
  "known_vulns": {
    "from": 0,
    "to": 0,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}