{
  "ok": true,
  "app_id": "de.wetteronline.wetterapp",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 0,
  "from": {
    "scan_id": "5f759a9d-cf96-42ff-9161-1ed00d2f72cb",
    "version": "2026.18.1",
    "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": 12656.072,
        "harvest": 3226.173000000004,
        "detectors": 8092.03300000011
      },
      "bytes_total": 64587468,
      "bytes_scanned": 64587468,
      "bytes_skipped": 0,
      "files_processed": 3610,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "aa39704dea7bd1c169a90734a2e2f7b8b1652af0fb7312837c71675faf0f1ed0"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "fc2078ce32d24f473a6a79f02609a79c9e79316d9793181ebe5571e42d213c9f"
        },
        {
          "name": "config.en.apk",
          "sha256": "8602c9dd611ba7eb28e0f990172015eec68b0bbb1b603febd92257f75d4e1967"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "b6b88d439ca62465eac34ad8e55b5d889f67cad07735061efdce35fd94220a26"
        }
      ],
      "ruleset_sha256": "6627311253eb54bc361d5dd9a0abc2a0fe556e390d6b2031bca75e1800928ccd"
    },
    "grade": "A",
    "score": 96,
    "scanned_at": "2026-09-20T23:07:47.031Z"
  },
  "to": {
    "scan_id": "90c46b38-c865-47e0-af86-aad2d833b75f",
    "version": "2026.19",
    "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": 11769.67,
        "harvest": 2969.6559999999995,
        "detectors": 7566.797999999934
      },
      "bytes_total": 64708490,
      "bytes_scanned": 64708490,
      "bytes_skipped": 0,
      "files_processed": 3608,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "e13a0166bc28e43d1086669096a815403ff0b7c2404a18f4418aef314430bb63"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "e6e41465dec566106e45c206516cf98e2d44aa6626122e076f95511633f05e96"
        },
        {
          "name": "config.en.apk",
          "sha256": "e2c5d0e36180b006426d47cc70ef2466422c767fafcce36b608657ee14091ddc"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "3320e03116e7752878c524a32c88f3028f1ba74e286778497ca2f2aeb31b29d6"
        }
      ],
      "ruleset_sha256": "69544396ce47de08b97fb3d04080662e1cbb38c704bd5aa3d4b7e5489cde22e8"
    },
    "grade": "A",
    "score": 96,
    "scanned_at": "2026-09-29T12:19:36.545Z"
  },
  "findings": {
    "added": [],
    "removed": [],
    "persisting_count": 6,
    "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": 1,
    "to": 0,
    "delta": -1,
    "from_recorded": true,
    "to_recorded": true
  }
}