Browse appsScan report

Bank of America Mobile Banking

Bank of America · Build 26.09.0

com.infonow.bofa
Limited coverageScanned 2026-10-09 00:37 UTC

Review the recorded findings below. An overall grade is withheld where required checks lack coverage; a new scan may provide additional evidence.

Analysis limitations (1)
  • The amount of extracted text exceeded the analysis limit.

Overview

Limited assessment

4 finding categories to review

Bank of America Mobile Banking (com.infonow.bofa) was scanned at version 26.09.0 on 2026-10-09 but is not graded, because the analysis did not complete enough of its checks for a score to mean anything. The checks that did run recorded 4 finding categories across 7 occurrences; because the analysis did not complete, the absence of anything more severe is not a result. 3 tracking SDKs are present in the package, which describes what ships, not what runs or what it sends. This is static analysis of a single build: it does not observe the app running and does not establish that any data is exposed.

Finding categories47 occurrences
High / critical0Category count
Tracking SDKs3Presence, not observed traffic
Assessment scoreNot gradedNot graded

Start with these findings

mediumShort signing key (RSA 1024-bit)1 occurrence

Interpretation & review guidance

The signing key is shorter than the modern 2048-bit RSA minimum. Short keys are cryptographically weaker; a release should re-key to at least RSA-2048 (or an EC key).

Evidence
1 recorded occurrence in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.
lowData Safety label omits Location3 occurrences

Interpretation & review guidance

The app's Google Play Data Safety label omits a data category it can actually access — a permission it requests, or an advertising/device identifier it references. Under-declaring collection is a Play policy issue and a COPPA/privacy concern. This is a static signal: a requested permission is capability, not proof of collection — confirm against runtime behavior.

Evidence
3 recorded occurrences in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.
lowFirebase Storage bucket reference1 occurrence

Interpretation & review guidance

A Firebase Cloud Storage bucket reference (the default <project>.appspot.com). Storing user files here is normal — it's only an exposure if the Storage security rules allow public read/list, which live verification tests.

Evidence
1 recorded occurrence in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.
View all 4 categories

Privacy

33 requested permissions · 8 flagged high-risk classes.

Review privacy signals →

Build & components

123 components recorded. Certificate parsing does not validate APK signature integrity.

Inspect build evidence →

Findings

4 categories · 7 occurrences. Severity totals describe categories. Expand a finding for interpretation and review guidance.

mediumShort signing key (RSA 1024-bit)1 occurrence

Interpretation & review guidance

The signing key is shorter than the modern 2048-bit RSA minimum. Short keys are cryptographically weaker; a release should re-key to at least RSA-2048 (or an EC key).

Evidence
1 recorded occurrence in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.

Evidence preview

Evidence type
Signing metadata
Representative location
META-INF/signing:key
Recorded match
RSA-1024
Detector rule
signing
Recorded file locations
  • META-INF/signing:key

1 recorded findings have inspectable metadata. Duplicate matches may share a representative location.

Review whether this belongs to intended app functionality or a bundled library. A static match does not establish runtime impact.

Preview evidence and Pro tools

Search recorded evidence and save private review notes with Pro. $99/month plus applicable tax.

lowData Safety label omits Location3 occurrences

Interpretation & review guidance

The app's Google Play Data Safety label omits a data category it can actually access — a permission it requests, or an advertising/device identifier it references. Under-declaring collection is a Play policy issue and a COPPA/privacy concern. This is a static signal: a requested permission is capability, not proof of collection — confirm against runtime behavior.

Evidence
3 recorded occurrences in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.

Evidence preview

Evidence type
Static string match
Representative location
data-safety:Location
Recorded match
Pattern recorded; identifying value redacted.

3 recorded findings have inspectable metadata. Duplicate matches may share a representative location.

Review whether this belongs to intended app functionality or a bundled library. A static match does not establish runtime impact.

Preview evidence and Pro tools

Search recorded evidence and save private review notes with Pro. $99/month plus applicable tax.

lowFirebase Storage bucket reference1 occurrence

Interpretation & review guidance

A Firebase Cloud Storage bucket reference (the default <project>.appspot.com). Storing user files here is normal — it's only an exposure if the Storage security rules allow public read/list, which live verification tests.

Evidence
1 recorded occurrence in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.

Evidence preview

Evidence type
Static string match
Representative location
classes11.dex
Recorded match
Pattern recorded; identifying value redacted.
Detector rule
firebase_storage_bucket
Recorded file locations
  • classes11.dex

1 recorded findings have inspectable metadata. Duplicate matches may share a representative location.

Review whether this belongs to intended app functionality or a bundled library. A static match does not establish runtime impact.

Preview evidence and Pro tools

Search recorded evidence and save private review notes with Pro. $99/month plus applicable tax.

lowGoogle API key (client-shipped; restriction unverified)2 occurrences

Interpretation & review guidance

Android apps are designed to ship Google API keys in the client; Google restricts them by app signing certificate + enabled API. This is only a problem if the key is left unrestricted — presence alone is expected, not an exposure.

Evidence
2 recorded occurrences in the analyzed APK. These are distinct stored findings, not a count of every source match.
Verification
Static detection; current reachability is not established.

Evidence preview

Evidence type
Static string match
Representative location
resources.arsc
Recorded match
AIza•••••••• (21–40 chars, redacted)
Detector rule
google_api_key
Recorded file locations
  • resources.arsc

2 recorded findings have inspectable metadata. Duplicate matches may share a representative location.

Review whether this belongs to intended app functionality or a bundled library. A static match does not establish runtime impact.

Preview evidence and Pro tools

Search recorded evidence and save private review notes with Pro. $99/month plus applicable tax.

Privacy signals

Capabilities and bundled software do not prove that data was collected or transmitted.

Requested permissions33
Flagged high-risk classes8
Detected SDKs3

Precise location Approx. location Camera Microphone Contacts Phone state Accounts Storage

Requested permission inventory (33)
  • android.net.conn.CONNECTIVITY_CHANGE
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.CALL_PHONE
  • android.permission.CAMERA
  • android.permission.CHANGE_NETWORK_STATE
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.GET_ACCOUNTS
  • android.permission.HIGH_SAMPLING_RATE_SENSORS
  • android.permission.INTERNET
  • android.permission.MODIFY_AUDIO_SETTINGS
  • android.permission.POST_NOTIFICATIONS
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.RECORD_AUDIO
  • android.permission.USE_BIOMETRIC
  • android.permission.USE_FINGERPRINT
  • android.permission.VIBRATE
  • android.permission.WAKE_LOCK
  • android.permission.WRITE_CALENDAR
  • com.google.android.c2dm.permission.RECEIVE
  • com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
  • com.google.android.providers.gsf.permission.READ_GSERVICES
  • com.infonow.bofa.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • com.infonow.bofa.com.google.android.c2dm.permission.RECEIVE
  • com.infonow.bofa.permission.C2D_MESSAGE
  • com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY

Data collection & flow (privacy signal, not part of the grade)

Data the app can access
Calendar
Calendar (write)
Camera
Camera
Contacts
Contacts
Location
Approximate locationPrecise location
Microphone
Microphone
Personal info
Device accounts
Phone
Phone state / number
Photos & files
Storage
Persistent identifiers (referenced in code)
Android IDDevice ID / IMEISubscriber ID (IMSI)Hardware MAC address
Where it can go
Third parties present (3)
InMobiGoogle Firebase AnalyticsNew Relic
  • Approximate location, Precise location requested while 1 ad/attribution SDK(s) are present (InMobi) — location commonly feeds ad targeting.
  • Persistent-identifier APIs referenced in code (Android ID, Device ID / IMEI, Subscriber ID (IMSI) +1 more) with 3 analytics/ad SDK(s) present — the mechanism used for cross-app profiling.
  • Calendar, Camera, Contacts, Microphone, Personal info, Phone, Photos & files data requested with third-party analytics/ad SDKs present.

This maps what the app can access (permissions it requests, identifier APIs its code references) to the third parties bundled in it. It reflects capability and SDK presence — not proof that a specific value was transmitted.

Data Safety comparison is not conclusive because analysis coverage is incomplete or unknown.

Trackers & SDKs (3 detected · privacy signal, not part of the grade)

Advertising
InMobi
Analytics
Google Firebase AnalyticsNew Relic

Build & components

Scanned build 26.09.0. Store metadata may describe a newer release.

APK SHA-2566c75415bcd094ea6789451c9a4abc4a30ea1cab3d627961c77bbd903cc5e7f43

Signing certificate (who signed this build — factual, not part of the grade)

Signer
Bank of America self-signed
Scheme
V3V2
Key
RSA 1024-bit
Algorithm
md5WithRSA
Validity
2008-10-14 → 2035-11-22
Cert SHA-256
17:2e:4b:3c:94:42:55:10:40:74:99:2e:17:3c:6c:92:f7:53:ce:af:47:dd:c0:a1:34:e3:41:4f:31:71:7f:f1

The certificate fingerprint identifies the parsed signing certificate. Knowing this public fingerprint does not establish ownership or validate the APK signature.

Signature integrity: not established by certificate parsing.

Component inventory

123 components. Advisory matching covers a curated set; no match is not proof that a component is vulnerability-free.

Bundled components and recorded advisory matches
ComponentVersionAdvisory matches
androidx.activity:activity1.13.0None recorded
androidx.activity:activity-ktx1.13.0None recorded
androidx.annotation:annotation-experimental1.4.1None recorded
androidx.appcompat:appcompat1.7.1None recorded
androidx.appcompat:appcompat-resources1.7.1None recorded
androidx.asynclayoutinflater:asynclayoutinflater1.0.0None recorded
androidx.autofill:autofill1.0.0None recorded
androidx.biometric:biometric1.1.0None recorded
androidx.browser:browser1.10.0None recorded
androidx.camera:camera-camera21.4.0None recorded
androidx.camera:camera-core1.4.0None recorded
androidx.camera:camera-lifecycle1.4.0None recorded
androidx.camera:camera-video1.4.0None recorded
androidx.camera:camera-view1.4.0None recorded
androidx.cardview:cardview1.0.0None recorded
androidx.compose.animation:animation1.7.0None recorded
androidx.compose.animation:animation-core1.7.0None recorded
androidx.compose.foundation:foundation1.7.0None recorded
androidx.compose.foundation:foundation-layout1.7.0None recorded
androidx.compose.runtime:runtime1.9.0None recorded
androidx.compose.runtime:runtime-annotation1.9.0None recorded
androidx.compose.runtime:runtime-saveable1.9.0None recorded
androidx.compose.ui:ui1.7.0None recorded
androidx.compose.ui:ui-geometry1.7.0None recorded
androidx.compose.ui:ui-graphics1.7.0None recorded
androidx.compose.ui:ui-text1.7.0None recorded
androidx.compose.ui:ui-unit1.7.0None recorded
androidx.compose.ui:ui-util1.7.0None recorded
androidx.constraintlayout:constraintlayout2.2.1None recorded
androidx.coordinatorlayout:coordinatorlayout1.1.0None recorded
androidx.core:core1.18.0None recorded
androidx.core:core-ktx1.18.0None recorded
androidx.core:core-viewtree1.0.0None recorded
androidx.credentials:credentials1.6.0None recorded
androidx.credentials:credentials-play-services-auth1.6.0None recorded
androidx.cursoradapter:cursoradapter1.0.0None recorded
androidx.customview:customview1.2.0None recorded
androidx.customview:customview-poolingcontainer1.0.0None recorded
androidx.databinding:baseAdapters9.1.1None recorded
androidx.databinding:databindingKtx9.1.1None recorded
androidx.databinding:library9.1.1None recorded
androidx.databinding:viewbinding9.2.1None recorded
androidx.datastore:datastore1.1.7None recorded
androidx.datastore:datastore-core1.1.7None recorded
androidx.datastore:datastore-preferences1.1.7None recorded
androidx.datastore:datastore-preferences-core1.1.7None recorded
androidx.documentfile:documentfile1.0.0None recorded
androidx.drawerlayout:drawerlayout1.1.1None recorded
androidx.dynamicanimation:dynamicanimation1.1.0None recorded
androidx.emoji2:emoji21.6.0None recorded
androidx.emoji2:emoji2-bundled1.6.0None recorded
androidx.emoji2:emoji2-views1.6.0None recorded
androidx.emoji2:emoji2-views-helper1.6.0None recorded
androidx.exifinterface:exifinterface1.3.6None recorded
androidx.fragment:fragment1.8.9None recorded
androidx.fragment:fragment-ktx1.8.9None recorded
androidx.graphics:graphics-path1.0.1None recorded
androidx.graphics:graphics-shapes1.0.1None recorded
androidx.gridlayout:gridlayout1.1.0None recorded
androidx.interpolator:interpolator1.0.0None recorded
androidx.legacy:legacy-support-core-ui1.0.0None recorded
androidx.legacy:legacy-support-core-utils1.0.0None recorded
androidx.legacy:legacy-support-v41.0.0None recorded
androidx.lifecycle:lifecycle-extensions2.2.0None recorded
androidx.lifecycle:lifecycle-livedata2.10.0None recorded
androidx.lifecycle:lifecycle-livedata-core2.10.0None recorded
androidx.lifecycle:lifecycle-livedata-core-ktx2.10.0None recorded
androidx.lifecycle:lifecycle-livedata-ktx2.10.0None recorded
androidx.lifecycle:lifecycle-process2.10.0None recorded
androidx.lifecycle:lifecycle-runtime2.10.0None recorded
androidx.lifecycle:lifecycle-runtime-compose2.10.0None recorded
androidx.lifecycle:lifecycle-runtime-ktx2.10.0None recorded
androidx.lifecycle:lifecycle-service2.10.0None recorded
androidx.lifecycle:lifecycle-viewmodel2.10.0None recorded
androidx.lifecycle:lifecycle-viewmodel-ktx2.10.0None recorded
androidx.lifecycle:lifecycle-viewmodel-savedstate2.10.0None recorded
androidx.loader:loader1.1.0None recorded
androidx.localbroadcastmanager:localbroadcastmanager1.1.0None recorded
androidx.media:media1.6.0None recorded
androidx.navigation:navigation-common2.9.8None recorded
androidx.navigation:navigation-fragment2.9.8None recorded
androidx.navigation:navigation-fragment-ktx2.9.8None recorded
androidx.navigation:navigation-runtime2.9.8None recorded
androidx.navigation:navigation-ui2.9.8None recorded
androidx.navigation:navigation-ui-ktx2.9.8None recorded
androidx.navigationevent:navigationevent1.0.0None recorded
androidx.percentlayout:percentlayout1.0.0None recorded
androidx.preference:preference1.2.1None recorded
androidx.preference:preference-ktx1.2.1None recorded
androidx.print:print1.0.0None recorded
androidx.profileinstaller:profileinstaller1.4.0None recorded
androidx.recyclerview:recyclerview1.4.0None recorded
androidx.room:room-runtime2.7.0None recorded
androidx.savedstate:savedstate1.4.0None recorded
androidx.savedstate:savedstate-compose1.4.0None recorded
androidx.savedstate:savedstate-ktx1.4.0None recorded
androidx.security:security-crypto1.1.0None recorded
androidx.slidingpanelayout:slidingpanelayout1.2.0None recorded
androidx.sqlite:sqlite2.5.0None recorded
androidx.sqlite:sqlite-framework2.5.0None recorded
androidx.startup:startup-runtime1.2.0None recorded
androidx.swiperefreshlayout:swiperefreshlayout1.2.0None recorded
androidx.test.uiautomator:uiautomator2.4.0None recorded
androidx.test.uiautomator:uiautomator-shell2.4.0None recorded
androidx.tracing:tracing1.2.0None recorded
androidx.tracing:tracing-ktx1.2.0None recorded
androidx.transition:transition1.5.0None recorded
androidx.vectordrawable:vectordrawable1.1.0None recorded
androidx.vectordrawable:vectordrawable-animated1.1.0None recorded
androidx.versionedparcelable:versionedparcelable1.2.1None recorded
androidx.viewpager2:viewpager21.1.0-beta02None recorded
androidx.viewpager:viewpager1.0.0None recorded
androidx.window:window1.0.0None recorded
androidx.work:work-runtime2.11.2None recorded
androidx.work:work-runtime-ktx2.11.2None recorded
com.google.android.material:material1.14.0None recorded
com.google.dagger:dagger2.59.2None recorded
com.squareup.okhttp3:okhttp5.4.0None recorded
kotlinx:coroutines_android1.11.0None recorded
kotlinx:coroutines_core1.11.0None recorded
kotlinx:coroutines_jdk81.11.0None recorded
kotlinx:coroutines_play_services1.11.0None recorded
kotlinx:coroutines_slf4j1.11.0None recorded
Export SBOM
About this app · store information

About this app

Banking, Budgeting & Investing

Content ratingEveryone
Download size229.9 MB
Privacy policyPublished →

Screenshots

App screenshotApp screenshotApp screenshotApp screenshotApp screenshotApp screenshotApp screenshotApp screenshot

Scan history

Each row is an observed scan. Gaps between scans do not establish how long a finding existed.

Scanned (UTC)BuildScoreGrade
2026-10-09 00:37 UTC26.09.0Not gradedNot graded
2026-10-01 23:46 UTC26.09.0Not gradedNot graded
2026-09-07 12:49 UTC26.08.0292A

View changes between the last two scans →

Export & share

Exports describe the recorded assessment. Signed evidence proves origin and integrity, not completeness or safety.

Coverage & gap matrix · Verify signed evidence

API users can request authenticated, scan-specific exports at /v1/scans/2b6037c6-38b0-43e6-9422-34d196b03c9e/findings.sarif (also coverage.json and proof.json).

Request a correction or removal · How to interpret a scan · Browse apps