{
  "ok": true,
  "app_id": "pdf.tap.scanner",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← A",
  "score_delta": 7,
  "from": {
    "scan_id": "843333ba-601b-4662-aa1c-a0acf54acd2b",
    "version": "3.1.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": 13320.84,
        "harvest": 3925.939000000009,
        "detectors": 7998.715000000029
      },
      "bytes_total": 71315451,
      "bytes_scanned": 71315451,
      "bytes_skipped": 0,
      "files_processed": 3345,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "4e19ecadb3dd26b89ef4e0fa79cbf96c94564b4a800e23e599295ac068e5dc30"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "58491db97f5a088f0c4e54c1cf3be7d5973bd51006473445b04d1ae952c11fbc"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "3c41b42895c03f850542368ef04e48f72eed29cc0fde65f5c762bf0288789a3b"
        }
      ],
      "ruleset_sha256": "6627311253eb54bc361d5dd9a0abc2a0fe556e390d6b2031bca75e1800928ccd"
    },
    "grade": "A",
    "score": 90,
    "scanned_at": "2026-09-21T16:04:04.191Z"
  },
  "to": {
    "scan_id": "3fb268ff-9df6-48ab-8f7c-15455ac3d7f4",
    "version": "3.1.21",
    "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": 12750.244,
        "harvest": 3679.3019999999933,
        "detectors": 7700.376999999964
      },
      "bytes_total": 71290421,
      "bytes_scanned": 71290421,
      "bytes_skipped": 0,
      "files_processed": 3357,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "2293b018f2de90482556a1bd2966c11f6b344c02121ecfaac5cc5ddae669d658"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "8c5baf2effc6d09cd0c2c7d1e0e83c57992efc3229fc0fb08285bfa4fd14959c"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "a3e0cdf11a296363569424c5ef42d4ac00d57683f0cb3c3db59c24a2847a4e5c"
        }
      ],
      "ruleset_sha256": "ab3c4fcdbb80449695ea8ed46a12abf272aebe072e8ca1ffa301019c3d559bee"
    },
    "grade": "A",
    "score": 97,
    "scanned_at": "2026-09-30T09:07:14.032Z"
  },
  "findings": {
    "added": [],
    "removed": [
      {
        "finding_type": 78,
        "severity": "medium",
        "title": "Ships third-party ad/analytics SDKs but Data Safety declares no data shared",
        "fingerprint": "2b54e044aaab4c3f757c82024e4d291eb1074bc851c642350ce6faee6f887e08",
        "verified": false
      }
    ],
    "persisting_count": 6,
    "added_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0
    },
    "removed_by_sev": {
      "critical": 0,
      "high": 0,
      "medium": 1,
      "low": 0
    }
  },
  "trackers": {
    "added": [
      "Google Analytics for Firebase"
    ],
    "removed": [
      "Google AdServices"
    ]
  },
  "known_vulns": {
    "from": 1,
    "to": 0,
    "delta": -1,
    "from_recorded": true,
    "to_recorded": true
  }
}