Skip to content

Can I trust Revolut Business?

unTRUSTED 90 Android Version 6.3.1 (versionCode: 616003111) Scanned build downloaded: Store version released: Last checked: com.revolut.business Scanned

This app did not meet two or more trust checks, has a critical issue in one, or has a red flag.

What it means for you
The build includes code to send App usage, install attribution, and performance data to AppsFlyer, Firebase Analytics, Firebase Crashlytics, and Branch.io. The build includes code to send Identity verification data to Onfido during onboarding. Financial account and transaction data remain within Revolut's own infrastructure, and financial databases are stored in encrypted form on the device rather than backed up to third-party cloud services.
Main concern
Business banking account identity permanently linked to AppsFlyer advertising profile
The developer's description
Revolut Business is a mobile banking app for business professionals, enabling payment processing, card management, invoicing, identity verification (KYC), and fraud detection for business accounts.
Third-party services
21
Findings rated low or higher
7

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

    Strong

    Strong security foundation

    Why this result

    This check looks for security issues at high severity or above in the code of this build, and none were recorded. Its scope covers stored credentials, how the app protects data on the device, and how it protects data in transit.

    Revolut Business implements a layered security architecture with no critical or high-severity vulnerabilities. All connections to Revolut servers use certificate pinning, preventing interception even when a device trusts a rogue certificate authority. Unencrypted network connections are globally prohibited with no exceptions. Browser component SSL errors are correctly rejected rather than bypassed. Authentication credentials are stored in the Android operating system's protected credential vault, encrypted with hardware-backed keys tied to biometric enrollment. The local database is encrypted at the application layer with a passphrase derived from the hardware secure enclave. Commercial code protection prevents reverse engineering and detects tampered installations at startup. A layered stack of root detection, emulator detection, and hook-framework detection blocks the app from running in compromised environments. The weaknesses identified, including brute-force lockout counters stored without encryption and a remotely-disableable screen capture setting, require physical device access combined with root-level compromise to exploit. No remotely exploitable vulnerability was identi…

  • Data Minimization

    One criterion not met

    Tracking lacks clear disclosure

    Why this result

    This build contains analytics or attribution code written to send data to companies other than the developer. No consent step was found before that code runs, and the app's disclosures do not describe the collection in full. Tracking by itself is ordinary; what this check reports is the combination of collection, recipient and absent disclosure.

  • Manifest Mismatch

    One criterion not met

    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.

    No artificial barriers to leaving the service were found in the app. The app does not use proprietary data formats that would trap transaction records or account data, and no mechanisms designed to prevent account closure or data retrieval were identified. As a regulated European financial institution subject to GDPR and banking regulations, customers have legal entitlement to portability of their financial data.

Strengths

  • All traffic to Revolut servers is certificate-pinned via OkHttp, preventing interception even when a device trusts a rogue CA
  • Cleartext traffic is globally blocked with no domain exceptions
  • SSL errors correctly cancel WebView loads — handler.proceed() is not used anywhere in the codebase
  • Authentication tokens are stored in Android AccountManager and AES KeyStore-backed EncryptedSharedPreferences with biometric invalidation
  • All financial databases are AES-encrypted via SQLCipher v4.8.0 with a DexProtector-protected passphrase
  • Cryptographic keys use hardware-backed EC-256 KeyStore with biometric binding and StrongBox support
  • Auth headers (Authorization, X-Device-Id) are scoped exclusively to Revolut-owned domains — never sent to AppsFlyer, Firebase, or other third parties
  • Android Auto Backup is disabled, so banking data is excluded from Google cloud storage backups
  • DexProtector commercial code protection with emulator, tamper, and unofficial-install detection
  • Layered native integrity stack (RootBeer, SEON native, Play Integrity) with bootloader and custom firmware detection blocks app use on compromised devices

What the app contains

  • 21 services

    Third-party services the scan names in the build:

    • AppsFlyer
    • Firebase Analytics
    • Firebase Crashlytics
    • Firebase Performance
    • Firebase Messaging
    • Firebase App Check
    • Firebase Remote Config
    • SEON
    • hCaptcha
    • Google Ad Manager
    • Google Play Integrity
    • Onfido
    • Google ML Kit
    • Branch.io
    • MeshConnect Link
    • SQLCipher
    • DexProtector
    • Google Pay / Tap and Pay
    • RootBeer
    • youTransactor uCube
    • jMRTD

Libraries

Libraries in the build of Revolut Business
LibraryVersionAdvisory
ExoPlayer / media3not recordednone confirmed
Roomnot recordednone confirmed
Lottienot recordednone confirmed
AppsFlyernot recordednone confirmed
Shimmernot recordednone confirmed
Jacksonnot recordednone confirmed
Glidenot recordednone confirmed
Datatransportnot recordednone confirmed
Google Advertising ID client12451000none confirmed
Google Sign-In12451000none confirmed
Show all 28 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.

Build SHA-256
08e0e84369c062111fd35935a9cb9e362d1892c10c4fe8464047de2add1219e7
Rule pack
citt-ruleset-2026-08-v1
Files decompiled
92,591
Scan date
13 August 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.