{
  "ok": true,
  "app_id": "com.nagy.dxfviewer",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 0,
  "from": {
    "scan_id": "a7443825-096f-487c-b04c-d20486d9d250",
    "version": "4.0.16",
    "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": 12781.713,
        "harvest": 3747.0220000000018,
        "detectors": 8467.160999999995
      },
      "bytes_total": 73555915,
      "bytes_scanned": 73555915,
      "bytes_skipped": 0,
      "files_processed": 1095,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "378b4fd4fa4e934a8c2b01bf03ddae24592310185bd0eb1e453e535c916b7a7c"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "e96308e0454d90411b2c0daf7824828437482a9799ecc20daa48a217ccf234e6"
        },
        {
          "name": "config.en.apk",
          "sha256": "b7be504c341e5adee865afdf84da560499181310c6d7671f10c9cc38d5342664"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "5f0c99062d2927e9bb917903e1c73244ae1431d40245d77a1d361f237797137a"
        }
      ],
      "ruleset_sha256": "fb649a88cc2e66d8cb5b3c389ee4628bf97383e131015c594e187dc06eabcef7"
    },
    "grade": "A",
    "score": 98,
    "scanned_at": "2026-09-15T14:22:38.907Z"
  },
  "to": {
    "scan_id": "e4d2be01-3073-4898-acdb-28d594920256",
    "version": "4.0.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": 6894.14,
        "harvest": 2277.169000000002,
        "detectors": 4134.933999999998
      },
      "bytes_total": 54824667,
      "bytes_scanned": 54824667,
      "bytes_skipped": 0,
      "files_processed": 1114,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "481d16ca346ab438019a51b5078069810df00eb08aecb47646a4a5d5ac4bccc0"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "3360e2023d8339fa93077e57e847e29168dd1f7b402dbf84e235a1bb894d2c87"
        },
        {
          "name": "config.en.apk",
          "sha256": "d3ea98ee50f5c1bd60bb70fba3e2e2a4f29ea23d02e7baa9839e9dbfad80337e"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "b2783712d3d224cadf777f347d21f91f96c899afd96cc7a2cb3f875cb6466c1d"
        }
      ],
      "ruleset_sha256": "69544396ce47de08b97fb3d04080662e1cbb38c704bd5aa3d4b7e5489cde22e8"
    },
    "grade": "A",
    "score": 98,
    "scanned_at": "2026-09-30T06:54:13.006Z"
  },
  "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": [
      "Google Analytics for Firebase"
    ],
    "removed": [
      "Google AdServices",
      "Google UMP (consent)"
    ]
  },
  "known_vulns": {
    "from": 0,
    "to": 0,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}