{
  "schema_version": 1,
  "case": "library",
  "sdk_version": "0.3.0",
  "runtime": "Android JSON/text/Canvas reader",
  "verification_environment": "Owned Android emulator and local development service; not a hosted or Play-policy verification.",
  "asset_source": {
    "rights": "Original demonstration lesson text and diagram coordinates; no third-party content library.",
    "library_sha256": "a2849175f83ffc3ed16273c276a9c59b963ad81226217e624a1d418eb9128a82"
  },
  "artifacts": {
    "baseline": {
      "apk_sha256": "1948ca26b083a1b1ec90fd1ad0909d2fbc6e369fe4b87867b1f3547e2ca062c1",
      "apk_bytes": 1422125,
      "plaintext_searches": {
        "library.json": {
          "probes": 256,
          "found": 256
        }
      },
      "scan_exit": 0,
      "sealed_assets": [],
      "sealed_sha256": null
    },
    "vault": {
      "apk_sha256": "083d3e43917bc418481c66af5940301a12ba6922efa3f73da95d7e5484aa9f61",
      "apk_bytes": 1456405,
      "plaintext_searches": {
        "library.json": {
          "probes": 256,
          "found": 0
        }
      },
      "scan_exit": 0,
      "sealed_assets": [
        "assets/library.ipva"
      ],
      "sealed_sha256": "dbd2371a94a4c1a00e41459e450b4123ec29e21bd6197fd1541e40f8eac16748"
    }
  },
  "checks": [
    {
      "check": "Minified release packaging",
      "observed": "The plaintext baseline is detected by the same byte searches that find no declared plaintext probes in the protected APK. Its sealed asset is present."
    },
    {
      "check": "Content parity",
      "observed": "Both builds decode the same library hash, containing all three original lessons and diagrams."
    },
    {
      "check": "Refusal controls",
      "observed": "An invalid activation code and a bit-flipped library are refused. The intact library opens again afterwards."
    },
    {
      "check": "Offline reading",
      "observed": "All three lessons decode with the API unreachable and renewal due; the still-valid cached licence remains usable."
    }
  ],
  "tools": {
    "scanner": "ipvault 0.3.0",
    "sdk": "0.3.0",
    "sealer": "0.2.2 (format-v1 sealing code is unchanged between v0.2.2 and v0.3.0)"
  },
  "limits": "Active data remains in the app process. No general model-accuracy, memory-wipe, exploit-resistance or capture-prevention claim."
}
