{
  "$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-37-allow_backup",
              "name": "AllowBackup",
              "shortDescription": {
                "text": "android:allowBackup=\"true\""
              },
              "fullDescription": {
                "text": "Backup is on by default on Android; this manifest states it explicitly. If the app stores sensitive local data, define dataExtractionRules/fullBackupContent to exclude it, or set android:allowBackup=false."
              },
              "helpUri": "https://apk-scanner.com/finding/allow_backup",
              "help": {
                "text": "Backup is on by default on Android; this manifest states it explicitly. If the app stores sensitive local data, define dataExtractionRules/fullBackupContent to exclude it, or set android:allowBackup=false."
              },
              "defaultConfiguration": {
                "level": "note"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-530",
                  "CWE-312",
                  "MASVS-STORAGE-1",
                  "MASVS-STORAGE-2"
                ],
                "security-severity": "2.0",
                "cwe": [
                  "CWE-530",
                  "CWE-312"
                ],
                "masvs": [
                  "MASVS-STORAGE-1",
                  "MASVS-STORAGE-2"
                ]
              }
            },
            {
              "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-34-cleartext_traffic",
              "name": "CleartextTraffic",
              "shortDescription": {
                "text": "Cleartext (HTTP) traffic permitted"
              },
              "fullDescription": {
                "text": "Set android:usesCleartextTraffic=false and/or a networkSecurityConfig that forbids cleartext; serve all endpoints over HTTPS."
              },
              "helpUri": "https://apk-scanner.com/finding/cleartext_traffic",
              "help": {
                "text": "Set android:usesCleartextTraffic=false and/or a networkSecurityConfig that forbids cleartext; serve all endpoints over HTTPS."
              },
              "defaultConfiguration": {
                "level": "warning"
              },
              "properties": {
                "tags": [
                  "security",
                  "CWE-319",
                  "MASVS-NETWORK-1"
                ],
                "security-severity": "5.0",
                "cwe": [
                  "CWE-319"
                ],
                "masvs": [
                  "MASVS-NETWORK-1"
                ]
              }
            }
          ]
        }
      },
      "automationDetails": {
        "id": "apk-scanner/com.fluidtouch.noteshelf3/67b45a51-4522-4bb2-8308-dfdcfaf993ba"
      },
      "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": "classes2.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "df6df7272587e449bd293db70ce6dedee9a8cdda474477e200e8cf780cabf17e"
          },
          "properties": {
            "severity": "critical",
            "verified": true,
            "relationship": "verified-exposure"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "error",
          "message": {
            "text": "Amazon S3 bucket reference — confirmed publicly readable [live-verified]"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes3.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "15729408153e106874b11ca632f8def888fd49244f07c13588cab3a0aa0bcbba"
          },
          "properties": {
            "severity": "critical",
            "verified": true,
            "relationship": "verified-exposure"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "error",
          "message": {
            "text": "Amazon S3 bucket reference — confirmed publicly readable [live-verified]"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes3.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "55c898782df9b3bf331faad668c36d287d87e4abed4af045c89b93c4807e5b00"
          },
          "properties": {
            "severity": "critical",
            "verified": true,
            "relationship": "verified-exposure"
          }
        },
        {
          "ruleId": "APKSCAN-37-allow_backup",
          "level": "note",
          "message": {
            "text": "Application data is backup-enabled"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "AndroidManifest.xml"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "68d134f0bcd98a9559d6dd5275f80a3928e4a6490ac4a0f1bd16f87683bd49f8"
          },
          "properties": {
            "severity": "info",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "note",
          "message": {
            "text": "Amazon S3 bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes2.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "7796219199b2891195968745017386b88a5ab9216addade02f054f4ce4f9e7d5"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "note",
          "message": {
            "text": "Amazon S3 bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes2.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "9f9a172073da184dec85037f9d868f6495aad6f3fdd9a78792a4d2e1fa3c5941"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "note",
          "message": {
            "text": "Amazon S3 bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes2.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "c0ec6b9e3eec951d5252255a5b0b1893012cb08f180077ff36cee93d8e3e85bb"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "note",
          "message": {
            "text": "Amazon S3 bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes2.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "e77b16da02c10d41dca4ead5802516bc3d3862e6a2afc6d86cd4548271ccce32"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-1-s3_bucket",
          "level": "note",
          "message": {
            "text": "Amazon S3 bucket reference"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "classes3.dex"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "c2869a6935ec67bf923b3fdf52d6767665105fb3fa6aef2cc8059b05162a92b0"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "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": "77c82eca51e61100bb228fcf744c9b3745b4bc00d0ca276ec1fd07977e5144cd"
          },
          "properties": {
            "severity": "low",
            "verified": false,
            "relationship": "gap-signal"
          }
        },
        {
          "ruleId": "APKSCAN-34-cleartext_traffic",
          "level": "warning",
          "message": {
            "text": "Cleartext (HTTP) traffic permitted"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "AndroidManifest.xml"
                }
              }
            }
          ],
          "partialFingerprints": {
            "apkscanFingerprint": "94025ca91177232efea2d52d976e37f967866402c6e01f481a8de610b8e478e7"
          },
          "properties": {
            "severity": "medium",
            "verified": false,
            "relationship": "gap-confirmed"
          }
        }
      ],
      "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": 56673.987,
            "harvest": 13395.226999999955,
            "detectors": 39507.271
          },
          "bytes_total": 247923032,
          "bytes_scanned": 247923032,
          "bytes_skipped": 0,
          "files_processed": 4898,
          "coverage_version": 2,
          "string_encodings": [
            "ascii",
            "utf16le"
          ],
          "signature_validation": "not_performed"
        },
        "provenance": {
          "mode": "static",
          "artifacts": [
            {
              "name": "base.apk",
              "sha256": "a9b10c413db2965c4c3a4d6e57bc3b1d642490c628a682058eb8c9bf2941b862"
            },
            {
              "name": "config.arm64_v8a.apk",
              "sha256": "67a382ae10c92e2dd09df4ea6021a6e5a340748cc9ea08398201e28daffb7784"
            },
            {
              "name": "config.en.apk",
              "sha256": "be9fb702c04a9bf6a3b715c5b6cd55bf9a8d2b37aeb3a7b4eccfe53888d1f482"
            },
            {
              "name": "config.xxhdpi.apk",
              "sha256": "4c641f9371389d5e8f3b7983d6fe7bfad58c228de93fee9d2b4c18d104aa0e40"
            }
          ],
          "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
        },
        "apk_sha256": "a9b10c413db2965c4c3a4d6e57bc3b1d642490c628a682058eb8c9bf2941b862",
        "app_id": "com.fluidtouch.noteshelf3",
        "app_title": "Noteshelf 3: AI Notes & PDF",
        "app_version": "5.1.7",
        "scan_id": "67b45a51-4522-4bb2-8308-dfdcfaf993ba",
        "scanned_at": "2026-10-11T13:55:21.254Z"
      }
    }
  ]
}