{
  "ok": true,
  "app_id": "io.github.sds100.keymapper",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 0,
  "from": {
    "scan_id": "a0d4faf5-67f1-42d3-a532-f50e0003dab1",
    "version": "4.5.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": 5404.081,
        "harvest": 1130.4720000000007,
        "detectors": 3908.784000000003
      },
      "bytes_total": 24130642,
      "bytes_scanned": 24130642,
      "bytes_skipped": 0,
      "files_processed": 1002,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "0fd7e82aae95c13ca432824ae8acf2baa395effbbb080d56b0d560617eca9218"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "74aa6d43855684118b2c1abe2a1bec3cb82d71c7864b3c3c4fe45e7686184eb0"
        },
        {
          "name": "config.en.apk",
          "sha256": "3a642dad4bf4f905a56c0a21efbb2bf60487b7453fc65229c67d9f4876593589"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "23da950145342c9ad7d061ab9c63ebf951a5fe6f9e2ba53feccce1083b4d3a08"
        }
      ],
      "ruleset_sha256": "a4c4120389ccc4b44afa23b5786f6b8d2bf3dc47ca546355bb3ef6da4a54b513"
    },
    "grade": "A",
    "score": 94,
    "scanned_at": "2026-10-01T20:07:50.000Z"
  },
  "to": {
    "scan_id": "f50bce86-03a1-4056-aab7-e3c94563be54",
    "version": "4.5.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": 7186.982,
        "harvest": 1239.5900000000015,
        "detectors": 5408.768000000004
      },
      "bytes_total": 24130642,
      "bytes_scanned": 24130642,
      "bytes_skipped": 0,
      "files_processed": 1002,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "0fd7e82aae95c13ca432824ae8acf2baa395effbbb080d56b0d560617eca9218"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "74aa6d43855684118b2c1abe2a1bec3cb82d71c7864b3c3c4fe45e7686184eb0"
        },
        {
          "name": "config.en.apk",
          "sha256": "3a642dad4bf4f905a56c0a21efbb2bf60487b7453fc65229c67d9f4876593589"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "23da950145342c9ad7d061ab9c63ebf951a5fe6f9e2ba53feccce1083b4d3a08"
        }
      ],
      "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
    },
    "grade": "A",
    "score": 94,
    "scanned_at": "2026-10-08T20:26:08.857Z"
  },
  "findings": {
    "added": [],
    "removed": [],
    "persisting_count": 2,
    "added_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0
    },
    "removed_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0
    }
  },
  "trackers": {
    "added": [],
    "removed": []
  },
  "known_vulns": {
    "from": 0,
    "to": 0,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}