{
  "ok": true,
  "app_id": "com.ske6bento.kotodama",
  "comparable": true,
  "comparison_status": "comparable",
  "regressed": false,
  "grade_delta": "A ← B",
  "score_delta": 6,
  "from": {
    "scan_id": "3f0d13bc-8b11-451b-8a57-284600fc20c8",
    "version": "4.03.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": 53682.656,
        "harvest": 31656.511000000013,
        "detectors": 19721.791999999998
      },
      "bytes_total": 682599011,
      "bytes_scanned": 682599011,
      "bytes_skipped": 0,
      "files_processed": 1296,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "8d093cdd8cf52750bb1f45aed5f7e3b93a1971b4d8bbcea9e114818400a58ddd"
        },
        {
          "name": "UnityDataAssetPack.apk",
          "sha256": "334184f555fe409669f7db483b8a3722df557d95bab83108cf5b6f0226119b19"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "5479556996cd3ff9f1bb7f4f37a28761f63f54a746c3c5e18bc22f1bafa6c834"
        }
      ],
      "ruleset_sha256": "fb649a88cc2e66d8cb5b3c389ee4628bf97383e131015c594e187dc06eabcef7"
    },
    "grade": "B",
    "score": 84,
    "scanned_at": "2026-09-17T01:42:48.628Z"
  },
  "to": {
    "scan_id": "07ddd2c2-0fb6-4d6e-8392-8ea404007e72",
    "version": "4.04.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": 53148.392,
        "harvest": 31604.855999999996,
        "detectors": 19277.42900000001
      },
      "bytes_total": 682694181,
      "bytes_scanned": 682694181,
      "bytes_skipped": 0,
      "files_processed": 1296,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "546fc9778c9a0d965e60c34ddcf8024c5cef99a0e5ba1d963bd873ad48ecf3e0"
        },
        {
          "name": "UnityDataAssetPack.apk",
          "sha256": "1a1a174510448b0ba443d732a8b5f270e80ce14630ccb0070ce801b54a5a00c2"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "37518d9999d19934b018d81568fa2f13aeb02ef7bab6067792f81f91b20abf7e"
        }
      ],
      "ruleset_sha256": "69544396ce47de08b97fb3d04080662e1cbb38c704bd5aa3d4b7e5489cde22e8"
    },
    "grade": "A",
    "score": 90,
    "scanned_at": "2026-09-29T17:07:10.160Z"
  },
  "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": 1,
    "delta": 0,
    "from_recorded": true,
    "to_recorded": true
  }
}