{
  "ok": true,
  "app_id": "fr.ecp.ruler.app",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 1,
  "from": {
    "scan_id": "2a61e775-54a8-493f-aa7e-a0bc47b5da4d",
    "version": "3.7.4",
    "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": 889.603,
        "harvest": 194.28400000000008,
        "detectors": 431.98300000000035
      },
      "bytes_total": 2979813,
      "bytes_scanned": 2979813,
      "bytes_skipped": 0,
      "files_processed": 816,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "d42a669fb49b42a6c0d1bad5459b13f671b4a05550a19f7c3bd5d791ad188cfe"
        },
        {
          "name": "config.en.apk",
          "sha256": "bc491fd3cc2c39cef17d5618f5b966384aa2c1e24dead1ab72e5b228f1b20e94"
        },
        {
          "name": "config.es.apk",
          "sha256": "b53be0471832397acf71e97faf0c171a091443a0195f8af4af5dc5368b05717c"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "d38df88d7f11dedebe63864c45210b918f5c4e6389e9cd1eccf9b3f3ca70f5d2"
        }
      ],
      "ruleset_sha256": "fb649a88cc2e66d8cb5b3c389ee4628bf97383e131015c594e187dc06eabcef7"
    },
    "grade": "A",
    "score": 99,
    "scanned_at": "2026-09-14T18:39:37.227Z"
  },
  "to": {
    "scan_id": "6c16738b-303f-42a4-8e55-4ab7aa73b1ac",
    "version": "3.7.4",
    "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": 786.163,
        "harvest": 178.30900000000005,
        "detectors": 386.27000000000135
      },
      "bytes_total": 2979813,
      "bytes_scanned": 2979813,
      "bytes_skipped": 0,
      "files_processed": 816,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "d42a669fb49b42a6c0d1bad5459b13f671b4a05550a19f7c3bd5d791ad188cfe"
        },
        {
          "name": "config.en.apk",
          "sha256": "bc491fd3cc2c39cef17d5618f5b966384aa2c1e24dead1ab72e5b228f1b20e94"
        },
        {
          "name": "config.es.apk",
          "sha256": "b53be0471832397acf71e97faf0c171a091443a0195f8af4af5dc5368b05717c"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "d38df88d7f11dedebe63864c45210b918f5c4e6389e9cd1eccf9b3f3ca70f5d2"
        }
      ],
      "ruleset_sha256": "a4c4120389ccc4b44afa23b5786f6b8d2bf3dc47ca546355bb3ef6da4a54b513"
    },
    "grade": "A",
    "score": 100,
    "scanned_at": "2026-09-30T20:29:21.971Z"
  },
  "findings": {
    "added": [],
    "removed": [],
    "persisting_count": 1,
    "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
  }
}