{
  "capsule": {
    "schema": "apk-scanner.proof/v2",
    "issuer": "apk-scanner.com",
    "issued_at": "2026-10-13T19:20:43.326Z",
    "app": {
      "app_id": "com.appsheet.purpleshift",
      "title": "PurpleShift",
      "version": "100.0.245"
    },
    "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": 76256.577,
        "harvest": 31164.102999999974,
        "detectors": 42531.81499999992
      },
      "bytes_total": 598796985,
      "bytes_scanned": 598796985,
      "bytes_skipped": 0,
      "files_processed": 1689,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "ce12af4033f915600a5b6efa69ac4e52262b022855e84117e3a3839f3f08432a"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "a386d1cd0a4711ad15ca0916c2edf2732162efc686069ae50bda8a198ec82c87"
        },
        {
          "name": "config.en.apk",
          "sha256": "4994340f6efbadf93994de2d23cfc559fe296685a919a611c34bc16359e68e9d"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "13fe06f6784acb7f5fb178a3530f459bf76e05b45002cb9a83d2f6771c104e97"
        },
        {
          "name": "ml_models.apk",
          "sha256": "7c7504ed974c5a48e1846eada376c77545f816db6b79ed04b22067a1237ae54d"
        }
      ],
      "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
    },
    "apk_sha256": "ce12af4033f915600a5b6efa69ac4e52262b022855e84117e3a3839f3f08432a",
    "scan": {
      "scan_id": "eded32d5-cc6d-4ffe-810f-b89c074b9b47",
      "scanned_at": "2026-10-11T16:47:51.564Z",
      "grade": "D",
      "score": 39
    },
    "apk_signer": {
      "scheme": "v3",
      "subject_o": "Google Inc.",
      "subject_cn": "Android",
      "sha256": "d181702ae9e2c1860cc1043202198de80fb08317b01e23caa82445d76c1a4ffe",
      "not_after": "2051-01-16T14:48:46+00:00"
    },
    "counts": {
      "critical": 1,
      "high": 0,
      "medium": 0,
      "low": 34
    },
    "findings": [
      {
        "finding_type": 83,
        "severity": "critical",
        "title": "Wasabi bucket reference — confirmed publicly readable",
        "redacted_display": "https://████.us-east-2.wasabisys.com/███",
        "fingerprint": "739a228464102f440ddda419ec0d69424e714da02915ba61256d4c3f67bf2998",
        "verified": true,
        "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": "1eb5eb56a6b233cc1ae54198bfe79a7a2a17d7bfb47a1816cdd97e6e17600c72",
        "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": 3,
        "severity": "low",
        "title": "Google Cloud Storage reference",
        "redacted_display": "https://███████.googleapis.com/███",
        "fingerprint": "5601a783b3ec4a36d44281b47af3ee921b7678f866484911c9bd3720eec6c4a9",
        "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": 3,
        "severity": "low",
        "title": "Google Cloud Storage reference",
        "redacted_display": "https://███████.googleapis.com/███",
        "fingerprint": "9d22d64918ce51a5cf311f8ec66027aec647261af84103e2e4e8eca5f245de88",
        "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": 3,
        "severity": "low",
        "title": "Google Cloud Storage reference",
        "redacted_display": "https://███████.googleapis.com/███",
        "fingerprint": "45781484b0f46b3d9c9d175f30f0ea96da2ee6229bc19d7bc4df33677ab85edf",
        "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": 3,
        "severity": "low",
        "title": "Google Cloud Storage reference",
        "redacted_display": "https://███████.googleapis.com/███",
        "fingerprint": "f69fe57464dd02d5dee9f5141220d6060b435cc7083ff6c475ffc245774f820f",
        "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": 3,
        "severity": "low",
        "title": "Google Cloud Storage reference",
        "redacted_display": "https://███████.googleapis.com/███",
        "fingerprint": "bb922e066e8826a482caa0e088b1fd5502306593195f35693669bfb4c9e3fe45",
        "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": "b950c368c3034d67aa78c2265ef0b85e13786217b00be9dbcedeeb824538c1dc",
        "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": 20,
        "severity": "low",
        "title": "Google API key (client-shipped; restriction unverified)",
        "redacted_display": "AIza•••••••• (21–40 chars, redacted)",
        "fingerprint": "1456f5f0f12a1f354bd520d0ec014d12ffba90e4cdd89ba8bcafaa92d2ba0c66",
        "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": "cca2623f3fed12005aab9155ad0954b4a234fe20e0b1dc3915c3611b8b866d25",
        "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": 53,
        "severity": "low",
        "title": "Firebase Storage bucket reference",
        "redacted_display": "████████████",
        "fingerprint": "b6e2cb8eb4bf3d0a7bcb1c02e7aaa6b80181f3fefcd2655ab608c7c76f9d6977",
        "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": 53,
        "severity": "low",
        "title": "Firebase Storage bucket reference",
        "redacted_display": "████████████",
        "fingerprint": "6da605c01a32d6178ae1e6876876e3de02277efaeb0bf30b781056b6efdcc7a8",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "eed7314ad316c096d8e0b28d4586845f6ad13df86f58483ca8e75ff840c0a2a5",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "20183f13f5ad292ca4c47260120134f1c0f98ce05b2704782ba9e7e811a6617d",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "6dd0a993f74b8e956380bd270a98018781284a207897a3871a4091d0c5ea560e",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "124b6350baac57879d38621fc2b69cb9df3ed8c0ccd935c923803aa556cd047a",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "17de3180db3898620537d44fee2d45af30a24dad0c74f66e46db261ab933d7bc",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "ac89d9f8df58518e4dab6b233fa32541f198a3d561d94b2a625ebdc03c50ab4a",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "144f284b16e16cc0cfcc152308f4a58a88267a81eced8c2f2b1b5aa534bf1580",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "f520bd7f65e115bc0bb9fe0cbfa4bf04ee018506bef3ec8867bab2455ded7e1a",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "f1c83f0f1ed77185ddf766155ae61db57f76fe19cf3e7fd16cb22a5ed9b97db0",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "cab6df75fc4e1437e837703e41c72aff13ad88b10c65754dc48491670dde4699",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "81df65c03e8e8273b459a2393e3969bc200707f3351a32272497a10948afe5bf",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "09c2af40e5b8559fbd7f0c0aff749a2f8c341371d1dac033031f717d473d2245",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "0382fd92e85bafe9f437fc8494733afc02823f1307cdd31e129e8cf5ebb973ab",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "6df856f6e0159765e94d01d75588aba8007b9ae5fa81248e625580f706483167",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "2ade3a9ad2fbfaba5a5fc9d9290bdd0bceef4a6d888986e0a0cd6e92aef896fe",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "2e8119405c4f26e939385f094539ba423a9c392fa3074218a4244befd16bd3af",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "31cfaf13a4ce82bb24fcee3b6c75e112e73ee6f549c626c437b46d5968aae8c2",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "e8275fe5e5b9eee6a0e78a12f9775b7130afc9f0d71246ced5a307e467f464d7",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "979ac5854441f7c0c4a5f0f877e78e65e717c00b40175bfabf44f89a8672528a",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "9e4d588ce180e674a99f7a86815eddc2f5234749d1fc3827edad9c07b6230e70",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "de75fdaaa8c67c94cf340cd93be285457c6c0f84ee99ef3ddcaa8bbf71e0c183",
        "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": 80,
        "severity": "low",
        "title": "Supabase project reference",
        "redacted_display": "https://████████████████████.supabase.co/███",
        "fingerprint": "cc234829c0bd4bdf71f8e8f8b48bc6e8cac7871b8263fb09657db072ef45b665",
        "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": 85,
        "severity": "low",
        "title": "Supabase anon key (public client key)",
        "redacted_display": "anon key for jgoimxvxuwzkfxomovcb",
        "fingerprint": "6408dbf87e9680c042dfb9464b805e234fbf94e483125c4723001bc0abadc0e2",
        "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."
      }
    ],
    "live_verification": {
      "verified_count": 1,
      "items": [
        {
          "finding_type": 83,
          "title": "Wasabi bucket reference — confirmed publicly readable",
          "fingerprint": "739a228464102f440ddda419ec0d69424e714da02915ba61256d4c3f67bf2998"
        }
      ]
    },
    "trackers_count": 17,
    "pii": {
      "sources": 8,
      "identifiers": [
        "Advertising ID (AAID)",
        "Android ID",
        "Device ID / IMEI"
      ],
      "destinations": 16
    },
    "sbom": {
      "component_count": 120,
      "vuln_count": 0,
      "components": [
        {
          "name": "androidx.activity:activity",
          "version": "1.12.4",
          "cves": []
        },
        {
          "name": "androidx.activity:activity-compose",
          "version": "1.12.4",
          "cves": []
        },
        {
          "name": "androidx.activity:activity-ktx",
          "version": "1.12.4",
          "cves": []
        },
        {
          "name": "androidx.annotation:annotation-experimental",
          "version": "1.4.1",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat",
          "version": "1.7.1",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat-resources",
          "version": "1.7.1",
          "cves": []
        },
        {
          "name": "androidx.asynclayoutinflater:asynclayoutinflater",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.autofill:autofill",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.biometric:biometric",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.browser:browser",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "androidx.camera.featurecombinationquery:featurecombinationquery",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.camera:camera-camera2",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.camera:camera-core",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.camera:camera-lifecycle",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.camera:camera-video",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.camera:camera-view",
          "version": "1.5.3",
          "cves": []
        },
        {
          "name": "androidx.cardview:cardview",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.compose.animation:animation",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.animation:animation-core",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.foundation:foundation",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.foundation:foundation-layout",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.material:material",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.material:material-ripple",
          "version": "1.8.2",
          "cves": []
        },
        {
          "name": "androidx.compose.runtime:runtime",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.runtime:runtime-annotation",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.runtime:runtime-retain",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.runtime:runtime-saveable",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-geometry",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-graphics",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-text",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-tooling-preview",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-unit",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-util",
          "version": "1.10.4",
          "cves": []
        },
        {
          "name": "androidx.compose.ui:ui-viewbinding",
          "version": "1.10.4",
          "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.17.0",
          "cves": []
        },
        {
          "name": "androidx.core:core-ktx",
          "version": "1.17.0",
          "cves": []
        },
        {
          "name": "androidx.core:core-viewtree",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.credentials:credentials",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.credentials:credentials-play-services-auth",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.cursoradapter:cursoradapter",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.customview:customview",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.customview:customview-poolingcontainer",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.databinding:viewbinding",
          "version": "8.13.2",
          "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.1.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2-views-helper",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.exifinterface:exifinterface",
          "version": "1.4.2",
          "cves": []
        },
        {
          "name": "androidx.fragment:fragment",
          "version": "1.8.9",
          "cves": []
        },
        {
          "name": "androidx.fragment:fragment-ktx",
          "version": "1.8.9",
          "cves": []
        },
        {
          "name": "androidx.graphics:graphics-path",
          "version": "1.0.1",
          "cves": []
        },
        {
          "name": "androidx.graphics:graphics-shapes",
          "version": "1.0.1",
          "cves": []
        },
        {
          "name": "androidx.interpolator:interpolator",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-core-ui",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-core-utils",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-v4",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata-core",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata-core-ktx",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-livedata-ktx",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-process",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-runtime",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-runtime-compose",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-runtime-ktx",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-service",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel-compose",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel-ktx",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.lifecycle:lifecycle-viewmodel-savedstate",
          "version": "2.10.0",
          "cves": []
        },
        {
          "name": "androidx.loader:loader",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.localbroadcastmanager:localbroadcastmanager",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.media:media",
          "version": "1.7.0",
          "cves": []
        },
        {
          "name": "androidx.navigation:navigation-common",
          "version": "2.9.7",
          "cves": []
        },
        {
          "name": "androidx.navigation:navigation-compose",
          "version": "2.9.7",
          "cves": []
        },
        {
          "name": "androidx.navigation:navigation-runtime",
          "version": "2.9.7",
          "cves": []
        },
        {
          "name": "androidx.navigationevent:navigationevent",
          "version": "1.0.2",
          "cves": []
        },
        {
          "name": "androidx.navigationevent:navigationevent-compose",
          "version": "1.0.2",
          "cves": []
        },
        {
          "name": "androidx.preference:preference",
          "version": "1.2.1",
          "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.4.0",
          "cves": []
        },
        {
          "name": "androidx.room:room-runtime",
          "version": "2.5.0",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate-compose",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate-ktx",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.slidingpanelayout:slidingpanelayout",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite",
          "version": "2.3.0",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite-framework",
          "version": "2.3.0",
          "cves": []
        },
        {
          "name": "androidx.startup:startup-runtime",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.swiperefreshlayout:swiperefreshlayout",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.tracing:tracing",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.tracing:tracing-ktx",
          "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.1.0-beta02",
          "cves": []
        },
        {
          "name": "androidx.viewpager:viewpager",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.webkit:webkit",
          "version": "1.15.0",
          "cves": []
        },
        {
          "name": "androidx.window:window",
          "version": "1.5.0",
          "cves": []
        },
        {
          "name": "androidx.window:window-core",
          "version": "1.5.0",
          "cves": []
        },
        {
          "name": "androidx.window:window-java",
          "version": "1.5.0",
          "cves": []
        },
        {
          "name": "androidx.work:work-multiprocess",
          "version": "2.8.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.13.0",
          "cves": []
        },
        {
          "name": "com.google.dagger:dagger",
          "version": "2.58",
          "cves": []
        },
        {
          "name": "com.squareup.okhttp3:okhttp",
          "version": "5.3.2",
          "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": 3,
          "findings": [
            {
              "finding_type": 20,
              "key": "google_api_key",
              "title": "Google API key (client-shipped; restriction unverified)",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 20,
              "key": "google_api_key",
              "title": "Google API key (client-shipped; restriction unverified)",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                798
              ]
            },
            {
              "finding_type": 85,
              "key": "supabase_anon_key",
              "title": "Supabase anon key (public client key)",
              "severity": "low",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                798
              ]
            }
          ]
        },
        {
          "control": "MASVS-STORAGE-2",
          "category": "STORAGE",
          "title": "The app prevents leakage of sensitive data.",
          "static": "partial",
          "status": "verified-exposure",
          "count": 32,
          "findings": [
            {
              "finding_type": 83,
              "key": "wasabi",
              "title": "Wasabi bucket reference — confirmed publicly readable",
              "severity": "critical",
              "verified": true,
              "relationship": "verified-exposure",
              "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": 3,
              "key": "gcs_bucket",
              "title": "Google Cloud Storage reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 3,
              "key": "gcs_bucket",
              "title": "Google Cloud Storage reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 3,
              "key": "gcs_bucket",
              "title": "Google Cloud Storage reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 3,
              "key": "gcs_bucket",
              "title": "Google Cloud Storage reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 3,
              "key": "gcs_bucket",
              "title": "Google Cloud Storage 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": 53,
              "key": "firebase_storage",
              "title": "Firebase Storage bucket 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": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            },
            {
              "finding_type": 80,
              "key": "supabase_url",
              "title": "Supabase project reference",
              "severity": "low",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                200,
                284
              ]
            }
          ]
        },
        {
          "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": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "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": 1,
          "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": 0,
          "verified": 0,
          "manual": 1
        }
      ]
    }
  },
  "proof": {
    "alg": "ed25519",
    "key_id": "IE6LeZNX4dAAPLGr",
    "digest_sha256": "c37bd9bb2916c3710f235ee9dcd6ca08675fb012abdc7b049d45fa2d784fb452",
    "signature": "CRj5NEVEIe1ZRFsVF4glU5rIIUu1VymJyzF9HmfNNrQHBYI3cF+AKnZuwX99WWTm2pv06h0WkaxE3ztsGB+ADw==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwH2fYdYB5nD0CQslDtG3FgafcJBoOX2OGoT80Woksrk=\n-----END PUBLIC KEY-----\n",
    "verify_url": "https://apk-scanner.com/verify"
  }
}