{
  "ok": true,
  "app_id": "com.cavagrill.cavagrill.android.app",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": -6,
  "from": {
    "scan_id": "8858e9ff-e138-44d2-947d-7e63d18a5752",
    "version": "3.10.5",
    "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": 29598.085,
        "harvest": 6179.763000000003,
        "detectors": 22360.122000000025
      },
      "bytes_total": 149484313,
      "bytes_scanned": 149484313,
      "bytes_skipped": 0,
      "files_processed": 1278,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "8fbfea6bf2d98468fa5ddb32d7f400b342872782f5733af568bff0f8f8cca690"
        }
      ],
      "ruleset_sha256": "fb649a88cc2e66d8cb5b3c389ee4628bf97383e131015c594e187dc06eabcef7"
    },
    "grade": "A",
    "score": 96,
    "scanned_at": "2026-09-18T16:00:04.472Z"
  },
  "to": {
    "scan_id": "ec370d40-c3f2-454c-ad79-ff6366246c4b",
    "version": "3.10.6",
    "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": 15410.451,
        "harvest": 4038.883000000003,
        "detectors": 10668.239000000049
      },
      "bytes_total": 96243731,
      "bytes_scanned": 96243731,
      "bytes_skipped": 0,
      "files_processed": 1269,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "c5927cf97c6b2786bbcb44be7bbccc50331dac8137f62acbdf1dffd849a104d5"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "32b3bd639d001e88299b2a0fe438784c60e468828ed601f05978b3eca1a8e0f6"
        },
        {
          "name": "config.en.apk",
          "sha256": "c6e647f5deccaf7478af051d76da9c69e5cea494f78b26b009a0a41f400d4c1e"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "543abec9cdc4ae0e2bed0a93849aedb31b7249033b9426edbd709d875905082b"
        }
      ],
      "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
    },
    "grade": "A",
    "score": 90,
    "scanned_at": "2026-10-07T00:52:58.551Z"
  },
  "findings": {
    "added": [
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "fingerprint": "880084acf921d7ff8b13fc49b099de2a0f84fd16bfeb4a6f43bc8340db772556",
        "verified": false
      },
      {
        "finding_type": 34,
        "severity": "medium",
        "title": "Cleartext (HTTP) traffic permitted",
        "fingerprint": "94025ca91177232efea2d52d976e37f967866402c6e01f481a8de610b8e478e7",
        "verified": false
      }
    ],
    "removed": [
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "efe0019869bde3d1ee3202a7dce2c08624a841d44e22b8df83d3d67b9a686b2b",
        "verified": false
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "eefb3e4b064d88c209d5084e5d54f29784924f9415b9b7480a0728a182625cb0",
        "verified": false
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "233ff326fd6d59e83652fdb940636b38eb785f331e1dec0a3f93016ea7d634f6",
        "verified": false
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "d2ef71170c612b64743895414c1f785bb8705ef321d69d3168324f5464037f27",
        "verified": false
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "36351125cfe59eafc7a6e22183f1bd9e63f7fe408110d9b557243886761a01ac",
        "verified": false
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "fingerprint": "1c7bcf81eac9e18af45b7d80f5db414c0750c2e02fd4f84c48ccd12fbb1bc249",
        "verified": false
      },
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "fingerprint": "1f97cc48d806a41bc59228d60f41d7999bda1884b74d6725e0e7468926265d5c",
        "verified": false
      }
    ],
    "persisting_count": 6,
    "added_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 1,
      "low": 1
    },
    "removed_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 7
    }
  },
  "trackers": {
    "added": [
      "Google Analytics for Firebase"
    ],
    "removed": [
      "Google AdServices",
      "Google Analytics"
    ]
  },
  "known_vulns": {
    "from": 0,
    "to": 0,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}