Experience Mona's world of fashion through an interactive mobile app. Browse products, manage orders, track your loyalty program, create wishlists, find stores, and stay updated on launches and exclusive collaborations.
Quick Verdict
Best for: Casual shoppers in Serbia comfortable with standard e-commerce data practices
Not For: Privacy-conscious users or those concerned about credential security in a fashion e-commerce app
What It Means For You
Hardcoded ~100-year JWT in public APK grants anyone backend API access as account ID 1
Quick Verdict
Best for: Casual shoppers in Serbia comfortable with standard e-commerce data practices
Not For: Privacy-conscious users or those concerned about credential security in a fashion e-commerce app
What It Means For You
Hardcoded ~100-year JWT in public APK grants anyone backend API access as account ID 1
Method and Limitations
Static analysis only. CITT reviewed the code of this build without running the app, so runtime behavior was not observed. The findings below describe the analyzed build and may not reflect server-side controls or later versions. CITT makes no determination about compliance with any law or platform policy; it reports what the artifacts contain and cites the published guidance so a reader can compare.
Data Security
2 totalNetwork Security
1 totalCode Security
3 totalPrivacy
3 totalThird-Party Risk
3 totalPermission Usage
1 totalVersion diff is on the Developer plan. See developer plans.
Context Tags
Package
com.monaonline
Version
1.9.64 (versionCode 158)
Analysis Date
Apr 9, 2026
Classes Analyzed
120
Feedback helps us improve our analysis
The app contains a significant security issue that requires the developer's immediate attention: a backend credential exposed in the public APK is a server-side risk that affects all users regardless of how they use the app. Additionally, session tokens stored without full encryption and an inaccurate privacy declaration reduce overall trust. For casual fashion browsing and loyalty tracking, the risk to individual users is manageable, but the underlying credential issue should be resolved before the app handles any sensitive data.
Exposed Backend Credential in Public App ❗
A long-lived authentication token used to access the app's backend API is embedded directly in the app's code. Since the app is publicly available on Google Play, this credential can be extracted by anyone who downloads and inspects the app. The token is configured to remain valid for approximately 100 years.
At Risk:
Login Session Tokens Not Fully Protected ⚠️
Your authentication token, shopping token, and cart information are stored in a standard storage area without additional encryption. While this area is private to the app under normal circumstances, on a device with developer options enabled or with physical access, the stored values could be read without specialized knowledge.
Note: This requires physical access to your device or developer tools to be enabled. Most users on standard, unmodified devices are not directly affected in day-to-day use.
Unencrypted Network Connections Permitted ⚠️
The app is configured to allow unencrypted HTTP connections without restriction. While the app's own servers appear to use secure connections, this permissive setting means any third-party library or plugin included in the app could potentially make unencrypted requests without restriction.
Inaccurate Data Sharing Disclosure ⚠️
The app's Play Store listing declares "No data shared with third parties." However, the app actively sends data to at least four external services: a personalization platform (Segmentify), an email marketing service (Klaviyo), an IP-based location service (GeoJS), and Google Tag Manager. This discrepancy means users cannot accurately assess the app's data sharing practices from the Play Store listing alone.
Third-Party Scripts Can Access Session Cookies ⚠️
Third-party scripts loaded by the app — including analytics and personalization services — have the technical ability to read and write session cookies through a shared interface. If any of these third-party scripts were ever tampered with (e.g., through a supply chain incident), an attacker could access your session cookies.
This applies if: You are logged in and a third-party service used by the app were to be compromised.
For most users: In normal circumstances with uncompromised third-party services, this does not directly affect you.
Device Backup May Include Login Tokens
The app is configured to allow Android's backup system to copy app data, including stored login tokens. If someone with physical access to your device runs a backup via developer tools, your session tokens could be included. Disabling USB debugging in developer options mitigates this risk.
Third-Party Analytics Script Not Integrity-Verified
An external personalization script loaded by the app does not include a verification checksum. Without this check, the app cannot confirm the script hasn't been altered between the provider's server and your device. A compromise of the third-party CDN hosting this script could affect in-app behavior.
IP Address Sent to External Service on Launch
When the app first launches and has no stored location preference, it automatically sends your device's IP address to an external geolocation service (GeoJS) to determine your country. This happens silently before any user interaction, without disclosure.
Push Notification Service Loads External Code Without Validation
The app's push notification component can load external scripts from a configurable URL without verifying the URL is from an expected source. Exploitation would require controlling the URL parameter when the notification service is registered, which is not trivially achievable by a remote attacker.
The app's Play Store declaration states no data is shared with third parties; however, code analysis identified the following services actively receiving user data:
The following third parties may receive your data:
Security: 75/100
Privacy: 83/100
The app's privacy practices could be strengthened by:
Accurate Third-Party Data Sharing Disclosure
Update the Play Store Data Safety declaration to accurately reflect data sharing with Segmentify, Klaviyo, GeoJS, and Google Tag Manager. Accurate disclosure is a baseline requirement under GDPR for EU/EEA users and builds user trust.
User Notice for Automatic IP Geolocation
Disclose in the privacy policy that an IP-based geolocation lookup is performed on first launch. Consider delaying this request until the user has had an opportunity to review the app's data practices.
Google Tag Manager Governance
Establish a documented process for reviewing additions to the Google Tag Manager container, since new tracking tags can be deployed without an app update or user disclosure.
Remove Hardcoded Backend Credentials
Backend authentication tokens should not be included in the distributed app package. Consider using short-lived, app-attestation-based token exchange mechanisms so that no long-lived credential needs to be embedded in the client.
Encrypted Session Token Storage
Migrate authentication tokens and cart data to an encrypted storage solution, so that session data cannot be read in plaintext even if the device's storage is accessed.
Restrict Network Traffic Configuration
Apply a network security configuration that explicitly limits which domains may use unencrypted connections, rather than permitting cleartext traffic globally.
App Type: Fashion E-Commerce (Shopping, Loyalty, Payments)
Classes Analyzed: 120
Third-Party Services: 21 identified (5 receiving behavioral/personal data)
Context Tags: E-Commerce, Financial, Location, Analytics, Sensitive Data
This security analysis was conducted by CITT (Can I Trust That), an independent security analysis service. We perform static code analysis on Android applications to help users make informed decisions about app security and privacy.
Developer: Mona Fashion d.o.o.
Version: 1.9.64 (versionCode 158)
Analysis Date: April 9, 2026
Package: com.monaonline
For questions about this analysis, contact [email protected].
Developer not yet contacted