Skip to content

Can I trust Revolut: Spend, Save, Trade?

unTRUSTED 82 Android Version 10.142 (versionCode: 1030142101) Scanned build downloaded: Store version released: Last checked: Revolut Ltd com.revolut.revolut 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
Financial transaction data is addressed in code only to Revolut's own servers; the build includes no code to pass financial information to advertising networks or data brokers. Usage analytics through Firebase and AppsFlyer are off by default, with no data shared until user consent is given. The app includes code to pass identity verification data to third-party providers during account onboarding.
Main concern
SQLCipher encryption neutralized by MD5 passphrase stored in plaintext SharedPreferences
The developer's description
Join 75+ million users worldwide to spend, send, and save smarter. Pay with physical/virtual cards, Google or Apple Pay, send 25+ currencies, trade stocks from $1, and access 55k ATMs globally.
Third-party services
26
Findings rated low or higher
12

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

    Items recorded, result pending review

    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.

    Revolut sets all analytics and advertising tracking signals to off by default, both for Firebase Analytics and for the AppsFlyer attribution tool. The code activates these only after processing user consent. The advertising identifier is collected only when the user has not opted out of ad tracking. No analytics calls fire before the user is given the opportunity to accept or decline.

  • Manifest Mismatch

    An item rated high or above is open

    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 proprietary data formats that would trap the user's financial history, no code blocking account deletion, and no artificial obstacles to switching services were found. The app uses standard financial data structures and normal account management flows.

Red flags

  • The app's privacy declarations do not match its code

    Why this result

    The privacy declarations shipped in this build, or the ones on the store listing, state less than the code does. Declarations of this kind are what a store, a regulator and a person comparing two apps rely on.

Strengths

  • All network traffic is encrypted — cleartext connections are blocked globally at the system and application level
  • Certificate pinning protects all API calls to revolut.com endpoints, preventing MITM interception
  • Financial transaction storage uses hardware-backed AES-256-GCM encryption via Android KeyStore
  • Backup disabled app-wide, preventing cloud or ADB extraction of tokens, databases, and cached data
  • Firebase Analytics and AppsFlyer are consent-gated with all tracking signals off by default — no analytics data flows before user consent
  • Session tokens are fully wiped from storage on logout with no residual token persistence
  • RASP protection (DexProtector) actively detects root tools, Frida, screen capture, and remote desktop apps
  • All 13 native binaries passed security analysis with zero memory safety or cryptographic vulnerabilities
  • API request and response bodies are not logged in the production build
  • The build includes code to send financial transaction data only to Revolut's own servers; no code to send financial data to advertising networks or data brokers was found

What the app contains

  • 26 services

    Third-party services the scan names in the build:

    • Onfido
    • Incode
    • Fourthline/ORCA
    • Trustdock
    • Authada
    • ItrustEkyc
    • SEON
    • AppsFlyer
    • Firebase Analytics
    • Firebase Crashlytics
    • Firebase Cloud Messaging
    • Firebase Installations
    • Google Maps
    • Google ML Kit
    • Google Nearby Messages
    • Google Pay/Wallet
    • Google Play Billing
    • MeshConnect/Plaid
    • Kontomatik
    • Rollee
    • YouTransactor
    • Twilio Voice
    • hCaptcha
    • TensorFlow Lite
    • DexProtector
    • Google Play Services Integrity

Libraries

Libraries in the build of Revolut: Spend, Save, Trade
LibraryVersionAdvisory
ExoPlayer / media3not recordednone confirmed
Roomnot recordednone confirmed
Lottienot recordednone confirmed
Google Play Billingnot recordednone confirmed
AppsFlyernot recordednone confirmed
Shimmernot recordednone confirmed
Jacksonnot recordednone confirmed
Glidenot recordednone confirmed
Datatransportnot recordednone confirmed
Google Advertising ID client12451000none confirmed
Show all 29 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
2020862c2a3d40adc56b15446ff264e0250cb122833ca5208f4a2677dd239a9d
Rule pack
citt-ruleset-2026-08-v1
Files decompiled
191,302
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.