Skip to content

Can I trust Mastodon?

NOT ASSESSED 90 Android Version 2.13.2 (versionCode 189) Scanned build downloaded: Store version released: Last checked: Mastodon org.joinmastodon.android Scanned

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

Best for
People who keep social activity on their own Mastodon server
What it means for you
The binary bundles no third-party analytics, advertising, or tracking SDKs, and static analysis finds no data-broker or ad-network endpoints. Network traffic in the binary is directed only to the user's chosen Mastodon instance and the developer's own infrastructure. The build includes code that encrypts push notification content on the device, so the request built for Google's notification service contains only routing metadata in readable form.
Main concern
OAuth tokens and push encryption keys stored unencrypted in SQLite database
The developer's description
Official Mastodon Android app. Follow anyone across the fediverse in chronological order with no algorithms, ads, or clickbait. Blazing fast and beautiful, designed to be powerful yet easy to use.
Third-party services
8
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

    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.

  • 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.

    The app is a client for the open ActivityPub federation. User data lives on the Mastodon instance the user chose, not in a proprietary store controlled by this app. Mastodon instances provide data export, and the user can switch to any other compatible client or instance at any time. No proprietary format or vendor-controlled repository creates a barrier to leaving.

Strengths

  • No third-party analytics, advertising, or tracking SDKs present — user behavior is not profiled by any vendor
  • No advertising ID (AD_ID permission) requested or used
  • Push notification content is end-to-end encrypted (RFC 8291 ECDH + AES-128-GCM) — Google cannot read notification payloads
  • The app includes code to send data only to the user's chosen Mastodon server and the developer's own first-party infrastructure, with no code for third-party destinations
  • QR code and barcode scanning processed entirely on-device with no data transmitted externally
  • No native libraries present, eliminating C/C++ memory-unsafe code attack surface
  • PKCE (S256) implemented for OAuth flows on Mastodon instances that support it (API version ≥ 3)
  • All HTTPS connections use system-trusted CAs for Mastodon instance traffic

What the app contains

  • 8 services

    Third-party services the scan names in the build:

    • Firebase Cloud Messaging (FCM)
    • Google ML Kit
    • OkHttp3
    • Gson
    • ExoPlayer/media3
    • ZXing
    • Jsoup
    • AndroidX/Jetpack

Libraries

Libraries in the build of Mastodon
LibraryVersionAdvisory
Google Play Servicesnot recordednone confirmed
Gsonnot recordednone confirmed
ZXingnot recordednone confirmed
OkHttpnot recordednone confirmed

Changes since the previous scan

  • Version 2.13.2 (versionCode 189), score 90.
  • Score 65 before, 90 after.
  • Version 2.11.9 (Build 158) before, 2.13.2 (versionCode 189) after.
  • Score change since version 2.11.9 (Build 158): +25 points.
  • Since the previous scan: 10 findings added, 10 removed.
  • Version 2.11.9 (Build 158), score 65.
  • First public scan of this app.

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
c4f2ab475874109ee483fb3bbba9fa7c6f8251ae1974e5cb56342faeff20dd34
Rule pack
citt-ruleset-2026-08-v1
Files decompiled
2,288
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.