{
  "ok": true,
  "app_id": "com.ainvest.papertrading",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": true,
  "grade_delta": "B ← A",
  "score_delta": -6,
  "from": {
    "scan_id": "4bb4433d-39b4-4266-aa21-684b7316153c",
    "version": "5.3.3.9",
    "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": 48890.255,
        "harvest": 13218.98999999964,
        "detectors": 32288.199000001583
      },
      "bytes_total": 295039025,
      "bytes_scanned": 295039025,
      "bytes_skipped": 0,
      "files_processed": 8827,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "e79b669fc0441c7e3d6cbb8f28c2b928b3f064c17d6f6a2eb2af70c0208fa86d"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "5df59f40e8abf64360ea8ad8596857f50c1a0d2b370f5b781b43f070ad03e462"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "12669a793df7532b154eda273283bdf4c52c6c088057556f3dcaea638e29f6fb"
        }
      ],
      "ruleset_sha256": "fb649a88cc2e66d8cb5b3c389ee4628bf97383e131015c594e187dc06eabcef7"
    },
    "grade": "A",
    "score": 95,
    "scanned_at": "2026-09-16T12:56:58.383Z"
  },
  "to": {
    "scan_id": "0f42991b-52f1-49b5-b171-612723eef4c4",
    "version": "5.3.6.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": 55479.863,
        "harvest": 14391.354999999769,
        "detectors": 37666.085000000196
      },
      "bytes_total": 304982189,
      "bytes_scanned": 304982189,
      "bytes_skipped": 0,
      "files_processed": 8983,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "6884b99944c78c84de3ea51e2b627010c777c1e0045cc4b7068ee77a6b55bf27"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "dc95388af60fa5479c141eb6668aa0b4919b494a36f8f1d20e6454234720fa6a"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "e57a6452ae0c6ba3366b4114c74619a87ceb007fdfc85cf01b1b113d13852398"
        }
      ],
      "ruleset_sha256": "ab3c4fcdbb80449695ea8ed46a12abf272aebe072e8ca1ffa301019c3d559bee"
    },
    "grade": "B",
    "score": 89,
    "scanned_at": "2026-09-30T13:39:52.321Z"
  },
  "findings": {
    "added": [
      {
        "finding_type": 62,
        "severity": "medium",
        "title": "com.squareup.okhttp3:okhttp 4.9.0 — CVE-2021-0341",
        "fingerprint": "b35496237e28b68c8e0d69cddebe93abcbdeb329cec963569542cc48edb144a4",
        "verified": false
      }
    ],
    "removed": [],
    "persisting_count": 16,
    "added_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 1,
      "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": 1,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}