Can I trust Kroger?
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
- Behavioral analytics code from the app's own system is directed only to Kroger's infrastructure, and the build includes no code to pass it to third parties. Pharmacy and biometric credentials are stored with hardware-backed encryption on the device. The build includes code to pass usage, crash, and device data to Firebase, Adobe Experience, Salesforce Marketing Cloud, and fraud-risk services including ThreatMetrix, Iovation, and Experian Accertify.
- Main concern
- Hardcoded OAuth secret + 26 decodable service credentials expose Kroger backend APIs
- The developer's description
- Kroger grocery app for shopping delivery, pickup, digital coupons, personalized deals and pharmacy. Earn rewards, track fuel points, and use Kroger Pay for fast in-store checkout.
- Third-party services
- 19
- Findings rated low or higher
- 12
Open on Google PlayOpens the app's listing on Google Play in a new tab.
Full findings
Open this scan in your dashboardThe account that ran this scan sees every finding and the Rescan button there.
Trust checks
Secure by Design
One criterion not metSecurity gaps detected
Why this result
This check looks for security issues at high severity or above in the code of this build, and at least one was recorded. Issues of this kind include a credential or token another app on the device can reach, sensitive data stored without protection, and network paths that expose information in transit.
Data Minimization
An item rated high or above is openTracking 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 metDisclosure 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
StrongNo 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 evidence of proprietary data formats that trap user data, technical barriers to account management, or artificial obstacles to switching services was found. The app is a standard retail account where user data is associated with the Kroger loyalty account rather than locked to the app itself.
Red flags
Stores an identifier that survives a reinstall
Why this result
This build stores an identifier that survives deleting and reinstalling the app. An identifier of that kind links a new install back to the previous one, so removing the app does not end the profile built against it.
Strengths
- Pharmacy device tokens and biometric credentials are stored with hardware-backed encryption via Android Keystore and EncryptedSharedPreferences
- The code names only Kroger's own infrastructure as the destination of first-party behavioral analytics (Krogerlytics), and the build includes no code to pass it to any third party
- App backup is disabled — ADB backup extraction of stored credentials, databases, and SharedPreferences is blocked
- Firebase analytics has a reactive consent architecture (FirebaseConsentObserver) that can disable collection based on user consent signals
What the app contains
19 services
Third-party services the scan names in the build:
- Microsoft MSAL
- Firebase Analytics
- Firebase Crashlytics
- Firebase Cloud Messaging
- Firebase Remote Config
- Firebase Performance
- Adobe Experience SDK
- Dynatrace Android Agent
- ThreatMetrix (LexisNexis)
- InMobile (Experian Accertify)
- Akamai Bot Manager
- Iovation FraudForce
- Ketch CMP
- Salesforce Marketing Cloud
- AltBeacon
- Google Pay / Wallet
- Imprint SDK
- Qualtrics
- ZXing C++
Libraries
| Library | Version | Advisory |
|---|---|---|
| ExoPlayer / media3 | not recorded | none confirmed |
| Room | not recorded | none confirmed |
| Dynatrace | not recorded | none confirmed |
| Shimmer | not recorded | none confirmed |
| Glide | not recorded | none confirmed |
| Datatransport | not recorded | none confirmed |
| Google Advertising ID client | 12451000 | none confirmed |
| Google Sign-In | 12451000 | none confirmed |
| Google Play Services | 12451000 | none confirmed |
| Google Play Services Location | 12451000 | none confirmed |
Show all 32 librariesShow fewer
Changes since the previous scan
- Version 97.0 (versionCode 1216), score 75.
- Score 80 before, 75 after.
- Version 90.1.1 (Build 1173) before, 97.0 (versionCode 1216) after.
- Score change since version 90.1.1 (Build 1173): -5 points.
- Since the previous scan: 22 findings added, 4 removed.
- Version 90.1.1 (Build 1173), score 80.
- First public scan of this app.
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
- 11b01fb427664c5501867eb8b3f8e6ec843119e93b6bb784bbc2cea7b936e9b5
- Rule pack
- citt-ruleset-2026-08-v1
- Files decompiled
- 66,429
- Scan date
- 12 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.