{
  "ok": true,
  "app_id": "com.google.android.apps.messaging",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "D ← D",
  "score_delta": 0,
  "from": {
    "scan_id": "919e8f90-431d-41a2-8f85-1862e7086e0a",
    "version": "messages.android_20260917_03_RC00.phone_dynamic",
    "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": 22125.53,
        "harvest": 6848.917000000012,
        "detectors": 13380.679999999993
      },
      "bytes_total": 159732210,
      "bytes_scanned": 159732210,
      "bytes_skipped": 0,
      "files_processed": 5312,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "377105afc54b8a23fa671ebaa4705b2825c92d5865db3ad4dc7d91b504d10e0d"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "ea249d863f5a163d222c34c47b6284934de619eaf37c9238e35e375c412c9fc8"
        },
        {
          "name": "config.en.apk",
          "sha256": "9d4eb4e724024c8dc819eb0cfb1c33061887b40a9916ff0d920e9fdd95145715"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "11ca7a428da127a9f8a232b52c1e715c5804b8b621efb8cd831c698177855713"
        }
      ],
      "ruleset_sha256": "a4c4120389ccc4b44afa23b5786f6b8d2bf3dc47ca546355bb3ef6da4a54b513"
    },
    "grade": "D",
    "score": 48,
    "scanned_at": "2026-10-02T06:08:56.355Z"
  },
  "to": {
    "scan_id": "bb267e48-f5f4-43ea-8616-84469573c31f",
    "version": "messages.android_20260928_02_RC00.phone_dynamic",
    "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": 26994.386,
        "harvest": 8320.309999999981,
        "detectors": 16248.760000000046
      },
      "bytes_total": 160100184,
      "bytes_scanned": 160100184,
      "bytes_skipped": 0,
      "files_processed": 5342,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "bddd50df2a5c6cef4b48bf4966a34bf5035e9347d2e2690102b8a3901d7959fd"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "e423f867bcf89b9c7367e7ed03f0a3a4fab4ab6d5b5c87267ba89ed4ffe37c0b"
        },
        {
          "name": "config.en.apk",
          "sha256": "ecd788b052d663cb290e56a9c89a4f1fc37aaf9aaf8440d92558af23084dd89b"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "8ce0b4921d545f004365764148355acd439486bff893792f7926b30e10197cb5"
        }
      ],
      "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
    },
    "grade": "D",
    "score": 48,
    "scanned_at": "2026-10-09T06:49:15.924Z"
  },
  "findings": {
    "added": [],
    "removed": [],
    "persisting_count": 29,
    "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
  }
}