BatchCheck works on your phone. It has no accounts, no analytics, no advertising and no tracking. This page lists exactly what the app keeps, what it sends and why.
BatchCheck reads the batch list shown by the Instacart Shopper app to find, for each batch: the pay, the distance, the number of items and customers, the store name and flags such as heavy items or tips. It uses that to calculate a verdict (Accept, Maybe, Not recommended) with the rules you set.
The app uses the iOS screen broadcast feature. Frames are processed by the app’s own text recognition on the device and discarded immediately. No video or screenshots are saved or transmitted. Reading runs only while you keep it on, and stops when you tap Stop or end the broadcast.
The app uses the Android Accessibility API to read the text of the Instacart Shopper app only. It is configured to receive events from that app alone and ignores every other app. It reads text while the Shopper app is in front and does not capture images, keystrokes or passwords. This use of the Accessibility API is not for assistive purposes; it exists solely to read batch cards and show the verdict in a floating window.
| Data | Why | Where |
|---|---|---|
| Your rules (minimums, costs, time model, state, language, switches) | To calculate verdicts | App storage on the device |
| Last 100 evaluations (pay, miles, items, store chain, verdict, time) | History tab | App storage on the device |
| Last screen text seen by the reader | Diagnostics, so misreads can be reported | App storage on the device |
Customer names, addresses, order contents and anything not needed for the verdict are not extracted or saved. You can clear the history in the app and remove everything by uninstalling it.
BatchCheck can use your location for two things, both optional:
Both features stop working if you decline the permission; the rest of the app keeps working.
The app has no server of its own except one endpoint for problem reports.
When you send a report from Settings, the app sends over HTTPS to report.batchcheck.dev: the text you typed, the app version, the operating system version, the phone model, the app language, your state (if set) and, only if you leave the box checked, the diagnostics text (the last screen text read and your current rules). The report is forwarded to our support mailbox and kept there until it is handled. No identifier of you or your Instacart account is included. Our hosting provider (Cloudflare) processes the request and may keep short-lived technical logs such as the IP address, under its own privacy policy.
There is no crash reporting, no usage analytics, no advertising SDK and no third-party tracking of any kind.
| Permission | Platform | Used for |
|---|---|---|
| Screen broadcast | iPhone | Reading batch cards on the device |
| Location while in use | iPhone | Distance to the store; state defaults |
| Accessibility service | Android | Reading text of the Instacart Shopper app |
| Display over other apps | Android | The floating verdict window |
| Approximate location | Android | State defaults |
| Internet | Android | Sending a problem report only |
BatchCheck is made for adult gig workers and is not directed to children under 13. We do not knowingly collect data from children.
If this policy changes, the new version will be published on this page with a new effective date. Material changes will also be mentioned in the app’s release notes.