Privacy Policy
Effective 12 October 2026 · Last updated 12 October 2026
This policy explains what information the ForkTeller app (iOS and Android) and this website (forkteller.jocoding.io) handle, why, and the choices you have. ForkTeller is operated by JoCoding, Inc. (“we”, “us”), the controller of the personal information described here.
The short version
- Sign and name-board photos are processed on your device and are never uploaded or stored by us.
- Your location is used on your device only, to find the nearest station; it is never sent to us.
- Ads are served by Google AdMob, which may use your device's advertising ID and coarse location (subject to your App Tracking Transparency / consent choices).
- Anonymous usage analytics go to PostHog; ad attribution data goes to Meta.
- Purchases are processed by Apple or Google and verified via RevenueCat; we never see your payment details.
- If you send feedback, we store your message (and your email, if you give it) in Cloudflare D1 so we can reply.
- There is no account. We do not sell your data. Contact: highball@jocoding.net.
1. What stays on your device
Photos. When you photograph a platform sign or a station name board (with the camera or from your photo library), the text is read on your phone. The photo is never uploaded, and we never receive or store it.
Location. If you allow location access, ForkTeller uses it on your phone only, to find the station nearest to you. Your location is not sent to us and is not stored by the app.
App state. Your trip, recent stations, today's free-scan count and your settings are kept on your phone. Deleting the app deletes them.
2. Information handled by service providers
ForkTeller's own code does not collect personal information. The app includes the following third-party services, which receive the data listed below directly from the app under their own privacy policies.
| Service (provider) | Data | Purpose |
|---|---|---|
| Google AdMob (Google LLC) · policy | Device and advertising identifiers (IDFA / Android advertising ID, where permitted), coarse location derived from your IP address, ad interactions, device and app information | Showing the optional rewarded ad (“watch an ad for +1 scan”), ad measurement, fraud prevention; personalised ads only where you consent |
| Meta SDK (Meta Platforms, Inc.) · policy | App events such as install and app open, device identifiers (the advertising ID only if you allow tracking), device and app information | Measuring whether our own ads on Facebook and Instagram lead to installs (ad attribution) |
| PostHog (PostHog, Inc., United States) · policy | Usage events (e.g. a scan finished, a screen opened), a random anonymous install identifier, device model, OS and app version, approximate location derived from your IP address | Product analytics, to understand and improve the app. No photos, no precise location, no screen recording |
| RevenueCat (RevenueCat, Inc.) · policy | An anonymous app user ID and your purchase history (store receipts) | Checking whether you own ForkTeller Lifetime and restoring it |
| Apple App Store / Google Play | Payment and account details for your purchase | Processing payments and refunds. We never see your payment details |
On iOS, ForkTeller asks for your permission (App Tracking Transparency) before the advertising identifier can be used for tracking. In the EEA, UK and Switzerland, Google's consent message asks for your choices before ads are requested. Buying ForkTeller Lifetime removes ads entirely.
3. Feedback you send us
If you use Settings → Send feedback, we receive what you typed and, only if you enter it, your email address, together with the app version and build, device model, OS version, language, and a random identifier created when the app was first installed (used to stop accidental repeat submissions). This is stored in a Cloudflare D1 database operated for us by Cloudflare, Inc. Your IP address is used momentarily to limit repeated submissions and is not stored. We use feedback only to reply to you and to improve ForkTeller.
4. This website
This website uses Google Analytics 4 to count visits and clicks (for example, which store button was tapped). Google Analytics uses cookies and receives your IP address and browser information. You can block it with your browser's privacy settings or the Google Analytics opt-out add-on.
5. Retention
- Feedback: kept while needed to answer you and improve the app, and deleted at the latest 3 years after it was received, or earlier if you ask us to delete it.
- Data held by AdMob, Meta, PostHog and RevenueCat is retained under those providers' policies.
- Photos and location are never retained by us, because we never receive them.
6. Sharing and selling
We do not sell personal information and do not share it for purposes other than those above. We may disclose information if required by law.
7. International transfers
Our service providers may process data in the United States and other countries. Where required, transfers rely on the providers' standard contractual clauses or equivalent safeguards.
8. Your rights and choices
- You can ask us to access, correct or delete feedback you sent, or to stop processing it, by emailing highball@jocoding.net. Tell us roughly when you sent it, or the email you used, so we can find it.
- You can turn off location and camera access in your phone's settings at any time.
- You can limit ad tracking: iOS Settings → Privacy & Security → Tracking; Android Settings → Privacy → Ads (reset or delete the advertising ID).
- Depending on where you live (for example the EU/UK under the GDPR, Korea under PIPA, or California under the CCPA), you may have further rights, including to object, to data portability, and to complain to your data protection authority.
9. Security
All connections from the app and this website use HTTPS. Access to the feedback database is limited to the people who answer it.
10. Changes
If we change this policy, we will post the new version here with a new effective date.
11. Contact
JoCoding, Inc. · Privacy contact: highball@jocoding.net