Overview › Privacy & Compliance
Privacy & Compliance
Background location + camera + mic permissions need consent flow review.
68
SCORE
Summary
The app requests dangerous permissions (location including background, camera, mic, legacy WRITE_EXTERNAL_STORAGE) and integrates analytics + Firebase. Privacy posture depends on consent flows that are out of scope of static review but warrant audit.
Findings
HIGH
ACCESS_BACKGROUND_LOCATION justification
Background location is one of Google Play's most scrutinized permissions. Used here for geofencing of warehouses.
Recommendation: Document the user-visible feature requiring background location; provide a foreground-only path; ensure runtime permission flow is staged (foreground first, then background as separate prompt with clear rationale).
MEDIUM
Camera + mic permissions
CAMERA, RECORD_AUDIO requested. Confirm features (barcode scan, voice search) and that mic is not requested when only barcode scan is used.Recommendation: Split feature variants if mic is not always needed; declare
uses-feature with required="false" appropriately.MEDIUM
Analytics / tracking transparency
Firebase Analytics + Crashlytics + Performance + Cloud Messaging integrated. Confirm consent state gates analytics correctly (CCPA/GDPR/PIPEDA for Canada).
Recommendation: Use Firebase Consent Mode v2; record consent decisions in audit log; expose privacy controls in Settings.
MEDIUM
WRITE_EXTERNAL_STORAGE legacy
Permission is legacy (Android 12+ scoped storage replaces it). Used only on API ≤32 per manifest convention.
Recommendation: Confirm the
maxSdkVersion="32" attribute is present; migrate any save-to-disk paths to scoped storage / MediaStore.LOW
Data extraction rules
No
data_extraction_rules.xml found; allowBackup=false mitigates but a rules file is required for Android 12+ device transfer behavior.Recommendation: Add an explicit
data_extraction_rules.xml excluding sensitive data even from device transfers.Costco Android · Code Review Report · Generated 2026-05-07 · 626 machine-curated findings