← Security

Security scan report

Automated mobile-security self-assessment · 23 August 2026 · app version 1.0.25

Result: no secrets, no real vulnerabilities

Free, open-source scanners were run against RefundRadar's app, worker, and extension source. Zero hardcoded secrets in the shipped code; zero real vulnerabilities. Every tool finding was triaged to a false positive, a platform-level mitigation, or an accepted informational item — all documented below so anyone can reproduce it.

App version
1.0.25
iOS
App Store · id6778789358
Android
co.refundradar
Standard
OWASP MASVS L1

This is an honest self-assessment against the OWASP MASVS — not an OWASP-issued certification (OWASP does not certify apps).

Reproduce it yourself

Everything here is from free, open-source tools. To repeat the source + secret scan on a clone of the app:

# static analysis, MASVS-mapped (Python)
pip install mobsfscan==1.0.0
mobsfscan android/app/src ios/RefundRadar

# secret scan (config allowlists test fixtures + docs)
brew install gitleaks   # v8.30.1
gitleaks dir . --config .gitleaks.toml

The full APK/IPA (binary) analysis uses MobSF against a signed build; the source-level results above are the reproducible baseline.

Findings & remediation

FindingToolStatusDetail
Hardcoded secrets gitleaks 8.30.1 0 found No API keys, tokens, or credentials in the app, worker, or extension source. (Throwaway test fixtures and example keys quoted in internal docs are allowlisted in .gitleaks.toml.)
iOS — App Transport Security disabled mobsfscan False positive Matched a vendored build tool (terminal-notifier) in the fastlane gem cache, not the app. The app sets NSAllowsArbitraryLoads: false with a scoped temu.com exception. ATS is on.
Android — StrandHogg 2.0 task hijacking mobsfscan Platform-mitigated Fixed at the OS level for targetSdk ≥ 29; the app targets SDK 36. (The scanner reads the manifest statically and can't see the Gradle target.)
Android — minSdk 24 mobsfscan Not a vuln A deliberate device-reach choice, not a vulnerability.
Optional hardening not implemented (cert pinning, root detection, tapjacking/screenshot prevention, Play Integrity) mobsfscan Informational Standard optional defences; none is a vulnerability. Candidates for future hardening if the threat model warrants.

Controls we verified in the source

Permissions requested

Android

No location, contacts, storage, camera, microphone, or phone permissions.

iOS

No sensitive-permission usage strings are declared (no location, contacts, photos, camera, or microphone). The app uses push notifications only.

Third-party dependencies

iOS

KeychainAccess (secure token storage) — the only third-party Swift package. Push uses Apple's native frameworks.

Android

AndroidX (Jetpack Compose, Navigation, Lifecycle, DataStore, Room, WorkManager, Browser), AndroidX Security-Crypto (token encryption), Hilt (DI), Kotlin Coroutines & Serialization, OkHttp 4.12.0 / Retrofit 2.11.0 (networking), Coil (images), Timber (logging), Play Review, and Firebase Cloud Messaging + Installations (push).

No advertising or third-party analytics/tracking SDKs on either platform.

Build integrity

RefundRadar is distributed only through the official App Store and Google Play (Android package co.refundradar, iOS App ID 6778789358) — never as a sideloaded APK from third-party sites.

On Android, Google Play Automatic Protection is enabled — it blocks unofficial or tampered redistribution of the app — and every install is signed by Google through Play App Signing. Over the last 30 days, 100% of installs came through Google Play with no unknown redistribution. In short, the copy you install from the store is the genuine, unmodified app.

Advanced users can confirm their install's signing certificate with apksigner verify --print-certs; the full fingerprint is available on request at hello@refundradar.co.

Report a vulnerability

See our security.txt or email hello@refundradar.co. We don't take legal action against good-faith security research. Back to the Security overview.