Skip to content

Can I trust mBank PL - Twój bank i finanse?

NOT ASSESSED 86 Android Version 3.119.0 (versionCode: 94785) pl.mbank Scanned

This scan is more than 90 days old. The store may list a newer version than the one described here.

This app has an open trust check or a verdict held for review.

Best for
Daily banking with strong on-device security
What it means for you
Analytics collection is permanently disabled in this build. Active Firebase components for push notifications and performance monitoring include code to send functional data to Google. Behavioral and usage data processed by the Synerise CRM module remains on mBank-controlled servers and requires explicit GDPR consent.
Main concern
Legacy WebView JS interface converts XSS in bank content into authenticated banking API calls
The developer's description
Mobile banking app for Polish consumers offering account management, payments, and digital banking services from mBank.
Third-party services
18
Findings rated low or higher
4

How the score and the label work

Open on Google PlayOpens the app's listing on Google Play in a new tab.

Full findings

Open this scan in your dashboard

The account that ran this scan sees every finding and the Rescan button there.

Trust checks

  • Secure by Design

    One criterion not met

    Security gaps detected

    Why this result

    This check looks for security issues at high severity or above in the code of this build, and at least one was recorded. Issues of this kind include a credential or token another app on the device can reach, sensitive data stored without protection, and network paths that expose information in transit.

  • Data Minimization

    Strong

    Tracking done right

    Why this result

    The check looks at analytics and attribution code for companies other than the developer: the data it reads, the companies named in code as recipients, and whether a consent step runs before that code. In this build, either no such code was recorded, or a consent step runs before it and the app's own disclosures describe the collection.

    Marketing and behavioral analytics require you to explicitly enable two separate data-sharing consents before any tracking begins. These consents are not pre-selected. General app analytics (Firebase) are permanently disabled at the code level. No tracking was found to occur before you have had the opportunity to review and choose your privacy settings.

  • Manifest Mismatch

    Items recorded, result pending review

    Disclosure incomplete or contradicted

    Why this result

    The check compares the app's privacy disclosures against what the code does, and at least one claim did not match in this build. Mismatches of this kind include a data category collected but not disclosed, a recipient the disclosure omits, and an identifier attached to data the disclosure describes as anonymous.

  • User Control

    Strong

    No lock-in

    Why this result

    The check looks for a way to export the data an account has accumulated and a way to delete the account itself. In this build, either both were found, or the app has no account of its own and keeps its data on the device. For an app without an account, the developer has no server-side copy to export or delete, and deleting the app removes the data in its own storage.

    As a regulated European bank, mBank is legally required under EU banking and privacy laws to support account closure and allow customers access to their financial data. Your account history and statements are accessible through web banking in addition to the mobile app. No proprietary data formats or artificial obstacles to leaving were found in the app.

  • Truly Local

    Strong

    Stays on the device

    Why this result

    This app presents itself as working offline or on the device alone. The check looks for any code written to send personal data to a server, including analytics, crash reporting and advertising code. None was recorded in this build.

    The code addresses your financial data and account information only to mBank's own servers. Marketing analytics (when you choose to enable them) also route to mBank's own infrastructure rather than to outside companies. The code names Google Maps as the only destination for location data used by the ATM and branch finder. The government identity verification feature includes code to send only the information needed for that check to Poland's official identity service when you actively choose to use it, which is the expected and regulated pattern for that feature.

Strengths

  • Hardware-backed Android KeyStore: RSA-2048 keys generated in AndroidKeyStore with explicit hardware backing verification; throws on absent secure hardware
  • TrustKit certificate pinning on all mBank domains: 14 domain-config entries with enforcePinning=true and 4-5 SHA-256 SPKI pins per domain covering PL/CZ/SK endpoints
  • HTTPS enforced globally: cleartextTrafficPermitted=false in manifest and network security config; no cleartext-permitted domains
  • FLAG_SECURE always enabled: screenshot protection hardcoded across all activities and dialogs with no disable code path
  • android:allowBackup=false: prevents ADB and cloud backup of all app data
  • Encrypted SharedPreferences for payment data: AES-CBC wrapping for BLIK contactless payment state (PIN, instrument ID)
  • WebView file access fully disabled: setAllowFileAccess(false), setAllowContentAccess(false), setAllowFileAccessFromFileURLs(false), setAllowUniversalAccessFromFileURLs(false)
  • Modern WebView70 has no JavaScript interface: SSL errors cancel; mixed content set to MIXED_CONTENT_NEVER_ALLOW
  • Firebase Analytics permanently deactivated at build time: firebase_analytics_collection_deactivated=true
  • Synerise CRM is configured with mBank-controlled infrastructure as the destination: all events are addressed to api.skp.mbank.pl, not third-party Synerise servers; double-GDPR-consent gated

What the app contains

  • 18 services

    Third-party services the scan names in the build:

    • Firebase Analytics (permanently deactivated)
    • Firebase Remote Config
    • Firebase Performance
    • Firebase Cloud Messaging
    • Firebase ML Kit
    • Synerise CRM
    • Google Play Services Ads
    • Mastercard MPSDK
    • FaceTec
    • edoApp/PWPW
    • Nimbus JOSE+JWT
    • BouncyCastle (incl. PQC)
    • Fresco
    • OkHttp
    • Google Maps Android SDK
    • Airbnb Lottie
    • GreenRobot EventBus
    • Google Play Core

Libraries

Libraries in the build of mBank PL - Twój bank i finanse
LibraryVersionAdvisory
libPhoenixAndroidnot recordednone confirmed
libPhoenixAndroidnot recordednone confirmed
libandroidx.graphics.pathnot recordednone confirmed
libandroidx.graphics.pathnot recordednone confirmed
libandroidx.graphics.pathnot recordednone confirmed
libandroidx.graphics.pathnot recordednone confirmed
libbedanot recordednone confirmed
libbedanot recordednone confirmed
libbedanot recordednone confirmed
libbedanot recordednone confirmed
Show all 72 libraries

Method and limits

Static analysis: the decompiled code, manifest and resources of this build, read file by file. Network traffic at run time is established by a capture of the running app.

Files decompiled
42,691
Scan date
13 June 2026

Corrections

No correction is published for this app.

Developer response

No response is published for this app.

Report an error Opens an email to [email protected] that names this app and this scan.