apk-scanner.com
Canary Mail - AI Email App
io.canarymail.android · Build 4.05
Analysis: complete. Static analysis completed for this build. A grade is not a guarantee of safety. Historical verification does not establish current reachability.
- Grade / score
- B · 84/100
- Finding categories
- 7
- Occurrences
- 11
- Scanned
- 2026-10-12T13:38:09.389Z
- Document issued
- 2026-10-13T22:14:19.084Z
- Historical verifications
- 0
Finding evidence
Open a category to review its occurrences. Printing includes all categories and occurrences.
Application data is backup-enabled · info · 1 occurrence
Backup is on by default on Android; this manifest states it explicitly. If the app stores sensitive local data, define dataExtractionRules/fullBackupContent to exclude it, or set android:allowBackup=false.
CWE-530 · CWE-312 · MASVS-STORAGE-1 · MASVS-STORAGE-2
android:allowBackup="true"
Firebase Realtime Database reference · low · 2 occurrences
Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open.
CWE-200 · CWE-284 · MASVS-STORAGE-2
https://████████████████.firebaseio.com/███https://███████████████.firebaseio.com/███
Google API key (client-shipped; restriction unverified) · low · 1 occurrence
Restrict the API key (application + API restrictions in Google Cloud Console); a client-shipped key is public, so restriction is the control.
CWE-798 · MASVS-STORAGE-1
AIza•••••••• (21–40 chars, redacted)
Firebase Storage bucket reference · low · 4 occurrences
Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open.
CWE-200 · CWE-284 · MASVS-STORAGE-2
████████████████████████████████████████████████
Data Safety label omits Contacts · low · 1 occurrence
Update the Play Data Safety form to declare the observed data category, or remove the capability if the data is not actually collected.
CWE-359 · MASVS-PRIVACY-3
app can access contacts (Contacts); not in the declaration
Cleartext (HTTP) traffic permitted · medium · 1 occurrence
Set android:usesCleartextTraffic=false and/or a networkSecurityConfig that forbids cleartext; serve all endpoints over HTTPS.
CWE-319 · MASVS-NETWORK-1
android:usesCleartextTraffic="true"
com.squareup.okhttp3:okhttp 4.9.0 — CVE-2021-0341 · medium · 1 occurrence
Confirm the bundled version, then upgrade the dependency to a patched release; track third-party components in an SBOM.
CWE-937 · CWE-1104 · MASVS-CODE-3
CVE-2021-0341 (fixed in 4.9.2)
Control coverage
Mapped static evidence does not establish a control pass. Manual assessment remains separate.
| Control | Requirement | Recorded status |
|---|---|---|
| MASVS-STORAGE-1 | The app securely stores sensitive data. | Review signal |
| MASVS-STORAGE-2 | The app prevents leakage of sensitive data. | Review signal |
| MASVS-CRYPTO-1 | The app employs current strong cryptography and uses it according to best practices. | No static findings · not a pass |
| MASVS-CRYPTO-2 | The app performs key management according to best practices. | No static findings · not a pass |
| MASVS-AUTH-1 | The app uses secure authentication and authorization protocols. | Manual assessment |
| MASVS-AUTH-2 | The app performs local authentication securely. | Manual assessment |
| MASVS-AUTH-3 | The app secures sensitive operations with additional authentication. | Manual assessment |
| MASVS-NETWORK-1 | The app secures all network traffic according to current best practices. | Review signal |
| MASVS-NETWORK-2 | The app verifies the identity of the remote endpoint (e.g. certificate pinning). | No static findings · not a pass |
| MASVS-PLATFORM-1 | The app uses IPC mechanisms securely. | No static findings · not a pass |
| MASVS-PLATFORM-2 | The app uses WebViews securely. | No static findings · not a pass |
| MASVS-PLATFORM-3 | The app uses the user interface securely. | Manual assessment |
| MASVS-CODE-1 | The app requires an up-to-date platform version. | No static findings · not a pass |
| MASVS-CODE-2 | The app has a mechanism for enforcing updates. | Manual assessment |
| MASVS-CODE-3 | The app only uses software components without known vulnerabilities. | Review signal |
| MASVS-CODE-4 | The app validates and sanitizes all untrusted inputs and follows secure-coding practice. | No static findings · not a pass |
| MASVS-RESILIENCE-1 | The app validates the integrity of the platform. | Manual assessment |
| MASVS-RESILIENCE-2 | The app implements anti-tampering mechanisms. | Manual assessment |
| MASVS-RESILIENCE-3 | The app implements anti-static-analysis mechanisms. | Manual assessment |
| MASVS-RESILIENCE-4 | The app implements anti-dynamic-analysis techniques. | Manual assessment |
| MASVS-PRIVACY-1 | The app minimizes access to sensitive data and resources. | No static findings · not a pass |
| MASVS-PRIVACY-2 | The app prevents identification of the user. | No static findings · not a pass |
| MASVS-PRIVACY-3 | The app is transparent about data collection and usage. | Review signal |
| MASVS-PRIVACY-4 | The app offers user control over their data. | Manual assessment |
Build identity and signature
- Scan ID
- 1751385e-843c-468d-8053-5c14e73eeec2
- APK SHA-256
bbe27b31f4d73f250e1e8eda09836cbdca4316ad5b01f4948f6c6a353dc4cbde- Capsule SHA-256
55701a3b4885428856edbd1d1e294c49d26a76c54142a3faa4fb73279e6a8d0c- Signing key
- IE6LeZNX4dAAPLGr
Verify the signed JSON at apk-scanner.com/verify. This printed view is a presentation of the signed record; the JSON is the verification artifact.