{
  "capsule": {
    "schema": "apk-scanner.proof/v2",
    "issuer": "apk-scanner.com",
    "issued_at": "2026-10-13T15:10:27.540Z",
    "app": {
      "app_id": "com.truckmap.truckmap",
      "title": "TruckMap - Truck GPS Routes",
      "version": "8.0.18"
    },
    "analysis": {
      "issues": [
        "string_output_limit"
      ],
      "stages": {
        "pii": "complete",
        "sbom": "complete",
        "signing": "certificate_parsed",
        "strings": "partial",
        "manifest": "complete"
      },
      "status": "partial",
      "grading": {
        "policy": "static-coverage-v1",
        "blockers": [
          "analysis_incomplete",
          "string_output_limit",
          "strings_coverage_unavailable"
        ],
        "eligible": false
      },
      "timings_ms": {
        "total": 30972.119,
        "harvest": 5114.194000000008,
        "detectors": 23985.758999999758
      },
      "bytes_total": 103363868,
      "bytes_scanned": 96176743,
      "bytes_skipped": 7187125,
      "files_processed": 2865,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "5b3bd220ee8e34da13d4ebded0c0f8c3fffa2d988c4f9c3d882e10bc08980d9b"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "4a2d136e2a7b2853969d0823f9c4cbe1e349ac0f95935d94fe9fa98f880c8ab8"
        },
        {
          "name": "config.en.apk",
          "sha256": "6c0a0a9b7fe8a78299ce76c39b15fd4039910fac3f9d55a68216900f991711c4"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "06d1fc414f980c9e76b713c569241605dfa92a61242f560bd3b17cbd3b7029ff"
        }
      ],
      "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
    },
    "apk_sha256": "5b3bd220ee8e34da13d4ebded0c0f8c3fffa2d988c4f9c3d882e10bc08980d9b",
    "scan": {
      "scan_id": "9c9a9c80-5498-49f3-b746-2c4c8f089b0d",
      "scanned_at": "2026-10-09T13:12:32.310Z",
      "grade": "?",
      "score": null
    },
    "apk_signer": {
      "scheme": "v3",
      "subject_o": "Google Inc.",
      "subject_cn": "Android",
      "sha256": "a974bb4244920f1a366eecf5fab9dd660475c0f6e7cc95810ea331ac533ac246",
      "not_after": "2048-12-19T23:01:02+00:00"
    },
    "counts": {
      "critical": 0,
      "high": 4,
      "medium": 0,
      "low": 9,
      "info": 1
    },
    "findings": [
      {
        "finding_type": 27,
        "severity": "high",
        "title": "GitHub personal access token",
        "redacted_display": "ghp_•••••••• (21–40 chars, redacted)",
        "fingerprint": "3c45ae00275532aaaac1374c487167563cc8a09d1834518a05798e9078c99604",
        "verified": false,
        "cwe": [
          "CWE-798"
        ],
        "masvs": [
          "MASVS-STORAGE-1"
        ],
        "remediation": "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."
      },
      {
        "finding_type": 44,
        "severity": "high",
        "title": "Mapbox secret token",
        "redacted_display": "•••••••• (40+ chars, redacted)",
        "fingerprint": "17edb9f80afca19772b55a39abf5797b5ce4036085277ca770c898f29e109f4c",
        "verified": false,
        "cwe": [
          "CWE-798"
        ],
        "masvs": [
          "MASVS-STORAGE-1"
        ],
        "remediation": "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."
      },
      {
        "finding_type": 44,
        "severity": "high",
        "title": "Mapbox secret token",
        "redacted_display": "•••••••• (40+ chars, redacted)",
        "fingerprint": "b6fc4130b7285b00a4d650762b6d3f3ca21c0be510afd1b75618acbea59bfea6",
        "verified": false,
        "cwe": [
          "CWE-798"
        ],
        "masvs": [
          "MASVS-STORAGE-1"
        ],
        "remediation": "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."
      },
      {
        "finding_type": 87,
        "severity": "high",
        "title": "Hardcoded HTTP Basic-auth credentials",
        "redacted_display": "Basic ••••••:•••••••• (redacted)",
        "fingerprint": "d7c656c11957f5aa8b4d01d996228bba8393c6c3bbf5a447efb4376d2c0bbe81",
        "verified": false,
        "cwe": [
          "CWE-798"
        ],
        "masvs": [
          "MASVS-STORAGE-1"
        ],
        "remediation": "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."
      },
      {
        "finding_type": 37,
        "severity": "info",
        "title": "Application data is backup-enabled",
        "redacted_display": "android:allowBackup=\"true\"",
        "fingerprint": "68d134f0bcd98a9559d6dd5275f80a3928e4a6490ac4a0f1bd16f87683bd49f8",
        "verified": false,
        "cwe": [
          "CWE-530",
          "CWE-312"
        ],
        "masvs": [
          "MASVS-STORAGE-1",
          "MASVS-STORAGE-2"
        ],
        "remediation": "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."
      },
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "redacted_display": "https://████████.s3.amazonaws.com/███",
        "fingerprint": "fb4f34c0aab924d9f50e66f8258ee01175c8ae73fca5bc9157b97803184f5154",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "redacted_display": "https://████.amazonaws.com/███",
        "fingerprint": "03418875db7620bc7cdb428aba8886ee5cdfb7df8efaf69237da74b4fed1d646",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "redacted_display": "https://████.amazonaws.com/███",
        "fingerprint": "dc85474518bfc199039e04174c2a798403a075e9a8bb5036aecf8097d70087f0",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 1,
        "severity": "low",
        "title": "Amazon S3 bucket reference",
        "redacted_display": "https://████████.s3.amazonaws.com/███",
        "fingerprint": "9099d2475fe68a7eef27372c8b64bdadd387a777e0bb5c4739d72fe8291e068d",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 2,
        "severity": "low",
        "title": "Firebase Realtime Database reference",
        "redacted_display": "https://████████████████.firebaseio.com/███",
        "fingerprint": "bbde4c50deba389fe7d6c088182453e6b8a00d72f7bac6c5bb39d60eb526e6c7",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "redacted_display": "AIza•••••••• (21–40 chars, redacted)",
        "fingerprint": "30a0a496b5aa4c03c002ca8c8522e44826e1f7ed5c90a74e1d17dad54be4ced9",
        "verified": false,
        "cwe": [
          "CWE-798"
        ],
        "masvs": [
          "MASVS-STORAGE-1"
        ],
        "remediation": "Restrict the API key (application + API restrictions in Google Cloud Console); a client-shipped key is public, so restriction is the control."
      },
      {
        "finding_type": 53,
        "severity": "low",
        "title": "Firebase Storage bucket reference",
        "redacted_display": "████████████",
        "fingerprint": "90aad5eb4f9c3a5d5582b92de21fae5344126ec256100ad9cb08eacb108abf04",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 60,
        "severity": "low",
        "title": "Background location access with advertising SDKs present",
        "redacted_display": "background location + ad SDKs",
        "fingerprint": "0c010d775be9542eee48043eb496c06888f9b8e8fcdf3af66a6b84e99192f6ce",
        "verified": false,
        "cwe": [
          "CWE-359"
        ],
        "masvs": [
          "MASVS-PRIVACY-1"
        ],
        "remediation": "Justify background location; request foreground-only where possible and disclose the use in the Play Data Safety form."
      },
      {
        "finding_type": 72,
        "severity": "low",
        "title": "Sentry DSN",
        "redacted_display": "https://███████.ingest.sentry.io/███",
        "fingerprint": "5dc6a756cb7dd7e45b0b278d22b8956c2196953293ab23e7d551afae231e0528",
        "verified": false,
        "cwe": [
          "CWE-200"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "A client DSN is low-risk but confirm it is a client (not internal) DSN and cannot be abused to spoof events."
      }
    ],
    "live_verification": {
      "verified_count": 0,
      "items": []
    },
    "trackers_count": 9,
    "pii": {
      "sources": 5,
      "identifiers": [
        "Advertising ID (AAID)",
        "Android ID",
        "Device ID / IMEI",
        "Hardware MAC address"
      ],
      "destinations": 6
    },
    "sbom": {
      "component_count": 72,
      "vuln_count": 0,
      "components": [
        {
          "name": "androidx.activity:activity",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "androidx.activity:activity-ktx",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "androidx.annotation:annotation-experimental",
          "version": "1.5.0",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat",
          "version": "1.7.0",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat-resources",
          "version": "1.7.0",
          "cves": []
        },
        {
          "name": "androidx.autofill:autofill",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.biometric:biometric",
          "version": "1.4.0-alpha02",
          "cves": []
        },
        {
          "name": "androidx.biometric:biometric-ktx",
          "version": "1.4.0-alpha02",
          "cves": []
        },
        {
          "name": "androidx.browser:browser",
          "version": "1.10.0",
          "cves": []
        },
        {
          "name": "androidx.cardview:cardview",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.constraintlayout:constraintlayout",
          "version": "2.2.1",
          "cves": []
        },
        {
          "name": "androidx.coordinatorlayout:coordinatorlayout",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.core:core",
          "version": "1.18.0",
          "cves": []
        },
        {
          "name": "androidx.core:core-ktx",
          "version": "1.18.0",
          "cves": []
        },
        {
          "name": "androidx.core:core-viewtree",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.cursoradapter:cursoradapter",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.customview:customview",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.datastore:datastore",
          "version": "1.1.3",
          "cves": []
        },
        {
          "name": "androidx.datastore:datastore-core",
          "version": "1.1.3",
          "cves": []
        },
        {
          "name": "androidx.datastore:datastore-preferences",
          "version": "1.1.3",
          "cves": []
        },
        {
          "name": "androidx.documentfile:documentfile",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.drawerlayout:drawerlayout",
          "version": "1.1.1",
          "cves": []
        },
        {
          "name": "androidx.dynamicanimation:dynamicanimation",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2-views-helper",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.enterprise:enterprise-feedback",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.fragment:fragment",
          "version": "1.5.4",
          "cves": []
        },
        {
          "name": "androidx.interpolator:interpolator",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-core-utils",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata-core",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata-core-ktx",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-process",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-runtime",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-runtime-ktx",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-service",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel-ktx",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel-savedstate",
          "version": "2.8.7",
          "cves": []
        },
        {
          "name": "androidx.loader:loader",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.localbroadcastmanager:localbroadcastmanager",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.print:print",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.privacysandbox.ads:ads-adservices",
          "version": "1.1.0-beta11",
          "cves": []
        },
        {
          "name": "androidx.privacysandbox.ads:ads-adservices-java",
          "version": "1.1.0-beta11",
          "cves": []
        },
        {
          "name": "androidx.profileinstaller:profileinstaller",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.recyclerview:recyclerview",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.room:room-ktx",
          "version": "2.8.4",
          "cves": []
        },
        {
          "name": "androidx.room:room-runtime",
          "version": "2.8.4",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate",
          "version": "1.2.1",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate-ktx",
          "version": "1.2.1",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite",
          "version": "2.6.2",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite-bundled",
          "version": "2.6.2",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite-framework",
          "version": "2.6.2",
          "cves": []
        },
        {
          "name": "androidx.startup:startup-runtime",
          "version": "1.1.1",
          "cves": []
        },
        {
          "name": "androidx.swiperefreshlayout:swiperefreshlayout",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.tracing:tracing",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.transition:transition",
          "version": "1.6.0",
          "cves": []
        },
        {
          "name": "androidx.vectordrawable:vectordrawable",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.vectordrawable:vectordrawable-animated",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.versionedparcelable:versionedparcelable",
          "version": "1.1.1",
          "cves": []
        },
        {
          "name": "androidx.viewpager2:viewpager2",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.viewpager:viewpager",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.webkit:webkit",
          "version": "1.11.0",
          "cves": []
        },
        {
          "name": "androidx.window:window",
          "version": "1.5.1",
          "cves": []
        },
        {
          "name": "androidx.window:window-core",
          "version": "1.5.1",
          "cves": []
        },
        {
          "name": "androidx.work:work-runtime",
          "version": "2.8.1",
          "cves": []
        },
        {
          "name": "androidx.work:work-runtime-ktx",
          "version": "2.8.1",
          "cves": []
        },
        {
          "name": "com.google.android.material:material",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "com.squareup.okhttp3:okhttp",
          "version": "4.12.0",
          "cves": []
        },
        {
          "name": "kotlinx:coroutines_android",
          "version": "1.10.2",
          "cves": []
        },
        {
          "name": "kotlinx:coroutines_core",
          "version": "1.10.2",
          "cves": []
        },
        {
          "name": "kotlinx:coroutines_play_services",
          "version": "1.10.2",
          "cves": []
        }
      ]
    },
    "control_coverage": {
      "schema": "apk-scanner.coverage/v1",
      "framework": "OWASP MASVS v2",
      "disclaimer": "Static, metadata-only analysis. Each control is scored evidence-for / gap-signal / requires-manual-testing. This is evidence toward a MASVS assessment, NOT a certification — apk-scanner.com is not an authorized assessment lab. Absence of a static finding does not prove a control passes.",
      "rows": [
        {
          "control": "MASVS-STORAGE-1",
          "category": "STORAGE",
          "title": "The app securely stores sensitive data.",
          "static": "partial",
          "status": "gap-detected",
          "count": 6,
          "findings": [
            {
              "finding_type": 27,
              "key": "github_pat",
              "title": "GitHub personal access token",
              "severity": "high",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 44,
              "key": "mapbox_secret",
              "title": "Mapbox secret token",
              "severity": "high",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 44,
              "key": "mapbox_secret",
              "title": "Mapbox secret token",
              "severity": "high",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 87,
              "key": "basic_auth_header",
              "title": "Hardcoded HTTP Basic-auth credentials",
              "severity": "high",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 37,
              "key": "allow_backup",
              "title": "Application data is backup-enabled",
              "severity": "info",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                530,
                312
              ]
            },
            {
              "finding_type": 20,
              "key": "google_api_key",
              "title": "Google API key (client-shipped; restriction unverified)",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                798
              ]
            }
          ]
        },
        {
          "control": "MASVS-STORAGE-2",
          "category": "STORAGE",
          "title": "The app prevents leakage of sensitive data.",
          "static": "partial",
          "status": "gap-detected",
          "count": 8,
          "findings": [
            {
              "finding_type": 37,
              "key": "allow_backup",
              "title": "Application data is backup-enabled",
              "severity": "info",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                530,
                312
              ]
            },
            {
              "finding_type": 1,
              "key": "s3_bucket",
              "title": "Amazon S3 bucket reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 1,
              "key": "s3_bucket",
              "title": "Amazon S3 bucket reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 1,
              "key": "s3_bucket",
              "title": "Amazon S3 bucket reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 1,
              "key": "s3_bucket",
              "title": "Amazon S3 bucket reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 2,
              "key": "firebase_rtdb",
              "title": "Firebase Realtime Database reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 53,
              "key": "firebase_storage",
              "title": "Firebase Storage bucket reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 72,
              "key": "sentry_dsn",
              "title": "Sentry DSN",
              "severity": "low",
              "verified": false,
              "relationship": "informational",
              "cwe": [
                200
              ]
            }
          ]
        },
        {
          "control": "MASVS-CRYPTO-1",
          "category": "CRYPTO",
          "title": "The app employs current strong cryptography and uses it according to best practices.",
          "static": "partial",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-CRYPTO-2",
          "category": "CRYPTO",
          "title": "The app performs key management according to best practices.",
          "static": "partial",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-AUTH-1",
          "category": "AUTH",
          "title": "The app uses secure authentication and authorization protocols.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-AUTH-2",
          "category": "AUTH",
          "title": "The app performs local authentication securely.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-AUTH-3",
          "category": "AUTH",
          "title": "The app secures sensitive operations with additional authentication.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-NETWORK-1",
          "category": "NETWORK",
          "title": "The app secures all network traffic according to current best practices.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-NETWORK-2",
          "category": "NETWORK",
          "title": "The app verifies the identity of the remote endpoint (e.g. certificate pinning).",
          "static": "partial",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PLATFORM-1",
          "category": "PLATFORM",
          "title": "The app uses IPC mechanisms securely.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PLATFORM-2",
          "category": "PLATFORM",
          "title": "The app uses WebViews securely.",
          "static": "partial",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PLATFORM-3",
          "category": "PLATFORM",
          "title": "The app uses the user interface securely.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-CODE-1",
          "category": "CODE",
          "title": "The app requires an up-to-date platform version.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-CODE-2",
          "category": "CODE",
          "title": "The app has a mechanism for enforcing updates.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-CODE-3",
          "category": "CODE",
          "title": "The app only uses software components without known vulnerabilities.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-CODE-4",
          "category": "CODE",
          "title": "The app validates and sanitizes all untrusted inputs and follows secure-coding practice.",
          "static": "partial",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-RESILIENCE-1",
          "category": "RESILIENCE",
          "title": "The app validates the integrity of the platform.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-RESILIENCE-2",
          "category": "RESILIENCE",
          "title": "The app implements anti-tampering mechanisms.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-RESILIENCE-3",
          "category": "RESILIENCE",
          "title": "The app implements anti-static-analysis mechanisms.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-RESILIENCE-4",
          "category": "RESILIENCE",
          "title": "The app implements anti-dynamic-analysis techniques.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PRIVACY-1",
          "category": "PRIVACY",
          "title": "The app minimizes access to sensitive data and resources.",
          "static": "yes",
          "status": "gap-detected",
          "count": 1,
          "findings": [
            {
              "finding_type": 60,
              "key": "bg_location",
              "title": "Background location access with advertising SDKs present",
              "severity": "low",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                359
              ]
            }
          ]
        },
        {
          "control": "MASVS-PRIVACY-2",
          "category": "PRIVACY",
          "title": "The app prevents identification of the user.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PRIVACY-3",
          "category": "PRIVACY",
          "title": "The app is transparent about data collection and usage.",
          "static": "yes",
          "status": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-PRIVACY-4",
          "category": "PRIVACY",
          "title": "The app offers user control over their data.",
          "static": "manual",
          "status": "requires-manual-testing",
          "count": 0,
          "findings": []
        }
      ],
      "categories": [
        {
          "category": "STORAGE",
          "controls": 2,
          "gaps": 2,
          "verified": 0,
          "manual": 0
        },
        {
          "category": "CRYPTO",
          "controls": 2,
          "gaps": 0,
          "verified": 0,
          "manual": 0
        },
        {
          "category": "AUTH",
          "controls": 3,
          "gaps": 0,
          "verified": 0,
          "manual": 3
        },
        {
          "category": "NETWORK",
          "controls": 2,
          "gaps": 0,
          "verified": 0,
          "manual": 0
        },
        {
          "category": "PLATFORM",
          "controls": 3,
          "gaps": 0,
          "verified": 0,
          "manual": 1
        },
        {
          "category": "CODE",
          "controls": 4,
          "gaps": 0,
          "verified": 0,
          "manual": 1
        },
        {
          "category": "RESILIENCE",
          "controls": 4,
          "gaps": 0,
          "verified": 0,
          "manual": 4
        },
        {
          "category": "PRIVACY",
          "controls": 4,
          "gaps": 1,
          "verified": 0,
          "manual": 1
        }
      ]
    }
  },
  "proof": {
    "alg": "ed25519",
    "key_id": "IE6LeZNX4dAAPLGr",
    "digest_sha256": "e2397485ad55e852b3453b1ae94de177349e4ec1a26d21d9d12d7e2eeeb4ee33",
    "signature": "XYTc9zQT+S4cGrh6y/I1I99KhSae3HbaawllY+LIv61O9Pt+e2kiG/ILLsU286Fq3L5nnS3vYVhny6b7XtatBA==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwH2fYdYB5nD0CQslDtG3FgafcJBoOX2OGoT80Woksrk=\n-----END PUBLIC KEY-----\n",
    "verify_url": "https://apk-scanner.com/verify"
  }
}