{
  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
  "version": "2.1.0",
  "runs": [
    {
      "tool": {
        "driver": {
          "name": "apk-scanner.com",
          "informationUri": "https://apk-scanner.com",
          "version": "1.0.0",
          "rules": [
            {
              "id": "APKSCAN-1-s3_bucket",
              "name": "S3Bucket",
              "shortDescription": {
                "text": "Amazon S3 bucket reference"
              },
              "fullDescription": {
                "text": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
              },
              "helpUri": "https://apk-scanner.com/finding/s3_bucket",
              "help": {
                "text": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
              },
              "defaultConfiguration": {
                "level": "error"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-200",
                  "CWE-284",
                  "MASVS-STORAGE-2"
                ],
                "security-severity": "9.5",
                "cwe": [
                  "CWE-200",
                  "CWE-284"
                ],
                "masvs": [
                  "MASVS-STORAGE-2"
                ]
              }
            },
            {
              "id": "APKSCAN-40-gcp_service_account",
              "name": "GcpServiceAccount",
              "shortDescription": {
                "text": "GCP service account credentials"
              },
              "fullDescription": {
                "text": "Remove the hard-coded credential from the app package, rotate/revoke it immediately, and move the secret to a backend the app calls with per-user authentication."
              },
              "helpUri": "https://apk-scanner.com/finding/gcp_service_account",
              "help": {
                "text": "Remove the hard-coded credential from the app package, rotate/revoke it immediately, and move the secret to a backend the app calls with per-user authentication."
              },
              "defaultConfiguration": {
                "level": "error"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-798",
                  "MASVS-STORAGE-1"
                ],
                "security-severity": "9.5",
                "cwe": [
                  "CWE-798"
                ],
                "masvs": [
                  "MASVS-STORAGE-1"
                ]
              }
            },
            {
              "id": "APKSCAN-6-private_key",
              "name": "PrivateKey",
              "shortDescription": {
                "text": "Private key material"
              },
              "fullDescription": {
                "text": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
              },
              "helpUri": "https://apk-scanner.com/finding/private_key",
              "help": {
                "text": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
              },
              "defaultConfiguration": {
                "level": "error"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-321",
                  "MASVS-CRYPTO-2"
                ],
                "security-severity": "8.0",
                "cwe": [
                  "CWE-321"
                ],
                "masvs": [
                  "MASVS-CRYPTO-2"
                ]
              }
            },
            {
              "id": "APKSCAN-30-sendgrid_key",
              "name": "SendgridKey",
              "shortDescription": {
                "text": "SendGrid API key"
              },
              "fullDescription": {
                "text": "Remove the hard-coded credential from the app package, rotate/revoke it immediately, and move the secret to a backend the app calls with per-user authentication."
              },
              "helpUri": "https://apk-scanner.com/finding/sendgrid_key",
              "help": {
                "text": "Remove the hard-coded credential from the app package, rotate/revoke it immediately, and move the secret to a backend the app calls with per-user authentication."
              },
              "defaultConfiguration": {
                "level": "error"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-798",
                  "MASVS-STORAGE-1"
                ],
                "security-severity": "8.0",
                "cwe": [
                  "CWE-798"
                ],
                "masvs": [
                  "MASVS-STORAGE-1"
                ]
              }
            },
            {
              "id": "APKSCAN-20-google_api_key",
              "name": "GoogleApiKey",
              "shortDescription": {
                "text": "Google API key (client-shipped; restriction unverified)"
              },
              "fullDescription": {
                "text": "Restrict the API key (application + API restrictions in Google Cloud Console); a client-shipped key is public, so restriction is the control."
              },
              "helpUri": "https://apk-scanner.com/finding/google_api_key",
              "help": {
                "text": "Restrict the API key (application + API restrictions in Google Cloud Console); a client-shipped key is public, so restriction is the control."
              },
              "defaultConfiguration": {
                "level": "note"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-798",
                  "MASVS-STORAGE-1"
                ],
                "security-severity": "2.0",
                "cwe": [
                  "CWE-798"
                ],
                "masvs": [
                  "MASVS-STORAGE-1"
                ]
              }
            },
            {
              "id": "APKSCAN-53-firebase_storage",
              "name": "FirebaseStorage",
              "shortDescription": {
                "text": "Firebase Storage bucket reference"
              },
              "fullDescription": {
                "text": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
              },
              "helpUri": "https://apk-scanner.com/finding/firebase_storage",
              "help": {
                "text": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
              },
              "defaultConfiguration": {
                "level": "note"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-200",
                  "CWE-284",
                  "MASVS-STORAGE-2"
                ],
                "security-severity": "2.0",
                "cwe": [
                  "CWE-200",
                  "CWE-284"
                ],
                "masvs": [
                  "MASVS-STORAGE-2"
                ]
              }
            },
            {
              "id": "APKSCAN-77-ds_underdeclare",
              "name": "DsUnderdeclare",
              "shortDescription": {
                "text": "Data Safety label omits an observed data category"
              },
              "fullDescription": {
                "text": "Update the Play Data Safety form to declare the observed data category, or remove the capability if the data is not actually collected."
              },
              "helpUri": "https://apk-scanner.com/finding/ds_underdeclare",
              "help": {
                "text": "Update the Play Data Safety form to declare the observed data category, or remove the capability if the data is not actually collected."
              },
              "defaultConfiguration": {
                "level": "note"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-359",
                  "MASVS-PRIVACY-3"
                ],
                "security-severity": "2.0",
                "cwe": [
                  "CWE-359"
                ],
                "masvs": [
                  "MASVS-PRIVACY-3"
                ]
              }
            },
            {
              "id": "APKSCAN-62-sbom_cve",
              "name": "SbomCve",
              "shortDescription": {
                "text": "Bundled component with a known CVE"
              },
              "fullDescription": {
                "text": "Confirm the bundled version, then upgrade the dependency to a patched release; track third-party components in an SBOM."
              },
              "helpUri": "https://apk-scanner.com/finding/sbom_cve",
              "help": {
                "text": "Confirm the bundled version, then upgrade the dependency to a patched release; track third-party components in an SBOM."
              },
              "defaultConfiguration": {
                "level": "warning"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-937",
                  "CWE-1104",
                  "MASVS-CODE-3"
                ],
                "security-severity": "5.0",
                "cwe": [
                  "CWE-937",
                  "CWE-1104"
                ],
                "masvs": [
                  "MASVS-CODE-3"
                ]
              }
            }
          ]
        }
      },
      "automationDetails": {
        "id": "apk-scanner/com.sharewithleaf.app/cbd2371e-7df7-4f49-9c9a-5cf15320892b"
      },
      "invocations": [
        {
          "executionSuccessful": true
        }
      ],
      "results": [
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "error",
          "message": {
            "text": "Amazon S3 bucket reference — confirmed publicly readable [live-verified]"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "_split_config.arm64_v8a/lib/arm64-v8a/libapp.so"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "5f99cc8db3f5ddd1e1c1a12f34cc4f705274f2b0904d0a4822f32d9b37aab6c6"
          },
          "properties": {
            "severity": "critical",
            "verified": true,
            "relationship": "verified-exposure"
          }
        },
        {
          "ruleId": "APKSCAN-40-gcp_service_account",
          "level": "error",
          "message": {
            "text": "GCP service account credentials"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "assets/flutter_assets/assets/service-account-google-play.json"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "221bf2e2436b46a36e68e9b1a53ed9a724f5dab000ed80bd40d18fb572921abf"
          },
          "properties": {
            "severity": "critical",
            "verified": false,
            "relationship": "gap-confirmed"
          }
        },
        {
          "ruleId": "APKSCAN-6-private_key",
          "level": "error",
          "message": {
            "text": "Private key material"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "assets/flutter_assets/assets/SubscriptionKey_7ZUCQT78UG.p8"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "de67c19adff0f64a4cca9aa0c688ea7b0024066460f007b7a327c011af770292"
          },
          "properties": {
            "severity": "high",
            "verified": false,
            "relationship": "gap-confirmed"
          }
        },
        {
          "ruleId": "APKSCAN-30-sendgrid_key",
          "level": "error",
          "message": {
            "text": "SendGrid API key"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "assets/flutter_assets/.env"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "53f4d05be0aeadd0928c7cedce456b8d74fb645b7dbbedcc38734a70080ed005"
          },
          "properties": {
            "severity": "high",
            "verified": false,
            "relationship": "gap-confirmed"
          }
        },
        {
          "ruleId": "APKSCAN-20-google_api_key",
          "level": "note",
          "message": {
            "text": "Google API key (client-shipped; restriction unverified)"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "resources.arsc"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "f2e9e11e620d7bdaba9301182f2b686ec2fdca848b01652835631d549e62df89"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-53-firebase_storage",
          "level": "note",
          "message": {
            "text": "Firebase Storage bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "resources.arsc"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "3e0e587601e7c7f1095cf40af7e9b71e6b5721d2ed9eb374e49a0500286b8ddc"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-53-firebase_storage",
          "level": "note",
          "message": {
            "text": "Firebase Storage bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "_split_config.arm64_v8a/lib/arm64-v8a/libapp.so"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "ef83126f1e08f09d40a72a184ad34939bdf9cb971dbf2baae43f6b4edaffbcd6"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-77-ds_underdeclare",
          "level": "note",
          "message": {
            "text": "Data Safety label omits Location"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "data-safety:Location"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "cacfd47daa7d0aafb7cbd1791f3964ef2850687203797b5e24429c41acdf7290"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-77-ds_underdeclare",
          "level": "note",
          "message": {
            "text": "Data Safety label omits Contacts"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "data-safety:Contacts"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "52d6df5eafe80ad7de0275ee425de0bf8d715439e92a9026117bea4d546827d0"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-77-ds_underdeclare",
          "level": "note",
          "message": {
            "text": "Data Safety label omits Calendar"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "data-safety:Calendar"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "2a94ef25c6a64a2fcc33bcb8d2ada6376b418ddfa745771aa213e568d5afb277"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-62-sbom_cve",
          "level": "warning",
          "message": {
            "text": "com.squareup.okhttp3:okhttp 3.12.13 — CVE-2021-0341"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "sbom:com.squareup.okhttp3:okhttp:CVE-2021-0341"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "b35496237e28b68c8e0d69cddebe93abcbdeb329cec963569542cc48edb144a4"
          },
          "properties": {
            "severity": "medium",
            "verified": false,
            "relationship": "gap-signal"
          }
        }
      ],
      "properties": {
        "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": 15999.015,
            "harvest": 5991.151000000004,
            "detectors": 9259.42500000002
          },
          "bytes_total": 140132322,
          "bytes_scanned": 140132322,
          "bytes_skipped": 0,
          "files_processed": 1033,
          "coverage_version": 2,
          "string_encodings": [
            "ascii",
            "utf16le"
          ],
          "signature_validation": "not_performed"
        },
        "provenance": {
          "mode": "static",
          "artifacts": [
            {
              "name": "base.apk",
              "sha256": "408f5023e4707dc5d0d726e1165f3122cd1db81b1e707a889f6950c9a60b155c"
            },
            {
              "name": "config.arm64_v8a.apk",
              "sha256": "aa17ae0035d370cf52b67d7b86136f46c78e73d3c70e46d45e6a75262c2933d3"
            },
            {
              "name": "config.en.apk",
              "sha256": "5893971cab54b3f24d8a35a342d21c3171a31b83dabe66c5d31160ea9bec1d57"
            },
            {
              "name": "config.xxhdpi.apk",
              "sha256": "e97a46431249cf806d693c4baf6faeb05f769d3ad5af062017d863a0c87aa783"
            }
          ],
          "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
        },
        "apk_sha256": "408f5023e4707dc5d0d726e1165f3122cd1db81b1e707a889f6950c9a60b155c",
        "app_id": "com.sharewithleaf.app",
        "app_title": "Leaf: Voice Recorder & Journal",
        "app_version": "1.9.0",
        "scan_id": "cbd2371e-7df7-4f49-9c9a-5cf15320892b",
        "scanned_at": "2026-10-03T19:28:30.429Z"
      }
    }
  ]
}