Skip to content

Can I trust Opal Screen Time Limit & Timer?

unTRUSTED 49 Android Version 4.8.0 (Android, versionCode 4008000) / 4.9 (iOS) Scanned build downloaded: Store version released: Last checked: Opal OS com.withopal.opal 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
Health, sleep, and step data from device sensors stays on the device with no evidence of transmission to third-party analytics providers. The app includes code to send usage and interaction data to Amplitude, Firebase, Adjust, and the Facebook SDK for analytics and ad attribution. All network connections use encrypted channels.
Main concern
'Data never leaves device' claim is contradicted by the build: Firebase, Amplitude, and Adjust all include code to send data
The developer's description
Opal is a screen time and focus app helping users cut smartphone usage and build healthier digital habits. Features include app blocking, focus sessions, time limits, and parental controls. Highly rated (4.4★ on Google Play) with over 500K downloads.
Third-party services
18
Findings rated low or higher
5

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.

    The app enforces HTTPS across all network connections and uses strong, modern encryption throughout. Independent binary analysis across more than 40 built-in libraries returned zero memory corruption, injection, or format-string vulnerabilities. On iOS, the app uses Apple's native cryptography framework with industry-standard encryption algorithms and stores authentication credentials in device-local secure storage that does not sync to iCloud. Authentication tokens are never placed in URLs or logs. A third-party paywall component registers a browser interface for processing subscription purchases, but the subscription screen is not accessible from other apps and all external navigation within it is blocked, consistent with standard practice for this SDK category. No hardcoded production secrets, no certificate validation bypasses, and no cleartext traffic were found.

  • 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 proprietary data formats, artificial cancellation barriers, or blocked data-export paths were identified. The app uses standard database structures for local storage and relies on common authentication infrastructure. No mechanisms that would make it unreasonably difficult to stop using the service or switch to an alternative were found.

  • Truly Local

    One criterion not met

    Contains code to send personal data off the device

    Why this result

    This app presents itself as working offline or on the device alone, and this build contains code written to send personal data to servers. The check covers analytics, crash reporting, advertising code and any first-party endpoint the code addresses personal data to. Code of this kind is common; what this check reports is the distance between that code and how the app describes itself.

Strengths

  • All API traffic uses HTTPS with proper hostname verification and no cleartext endpoints on either platform
  • iOS tokens stored with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly — they cannot be extracted on non-jailbroken devices and do not sync to iCloud
  • Health data (sleep, steps, mindful minutes) from HealthKit stays on the device with no evidenced transmission to third parties or the developer's backend
  • Installed app list is used in code on the device; no evidence was found of code to transmit it to any analytics SDK despite multiple analytics pipelines active
  • Firebase App Check (Play Integrity on Android, DCAppAttestService on iOS) provides API call attestation
  • VulnFanatic returned zero memory safety findings across all 40+ native libraries analyzed

What the app contains

  • 18 services

    Third-party services the scan names in the build:

    • Firebase Analytics
    • Firebase Crashlytics
    • Firebase Auth
    • Firebase App Check
    • Amplitude Analytics
    • Amplitude Session Replay
    • Amplitude Experiment
    • Adjust
    • Facebook SDK (FBSDKCoreKit, FBAEMKit)
    • ContextSDK
    • OneSignal
    • RevenueCat
    • Superwall
    • Google App Measurement
    • GoogleMobileAds
    • Google Ads On-Device Conversion
    • PairIP
    • ipify.org

Libraries

Libraries in the build of Opal Screen Time Limit & Timer
LibraryVersionAdvisory
Roomnot recordednone confirmed
Adjustnot recordednone confirmed
Amplitudenot recordednone confirmed
Google Play Billingnot recordednone confirmed
Datatransportnot recordednone confirmed
Google Advertising ID client12451000none confirmed
Google Sign-In12451000none confirmed
Google Play Services12451000none confirmed
Google Play Services Location12451000none confirmed
Material Componentsnot recordednone confirmed
Show all 16 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
e7f65dda7e6ae6085fef8d016c32173a7e599765129d48579feae413b07977cb
Rule pack
citt-ruleset-2026-08-v1
Files decompiled
15,656
Scan date
15 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.