Privacy Policy
This Privacy Policy describes how Town Crier ("Town Crier," "we," "us," or "our") collects, uses, and shares information when you use the Town Crier mobile application (the "App").
Town Crier is an audio-first driving companion that announces the names of towns you pass through and shares curated facts about each place. It is designed to be used hands-free while driving, with navigation apps running in the foreground.
We believe in collecting as little data as possible and being transparent about what we do collect. Please read this policy carefully to understand our practices.
1. Summary
- No accounts. You do not need to sign up, log in, or provide personal information to use Town Crier.
- Location stays on your device. GPS coordinates are used locally to determine which town you are in. Approximate location data is only sent to us if you opt into anonymous analytics or if you submit a Problem Report.
- Anonymous usage data is optional. You can choose whether to share anonymous diagnostic data with us. You can change this choice anytime in the App's Settings.
- Crash reports are always on. If the App crashes or hits a technical error, we receive a report so we can fix it. Crash reports do not include your location.
- You control what you send us. Problem reports are only sent when you submit them yourself.
- No advertising. We do not show ads, sell your data, or share it with advertisers.
- No microphone or camera access. The App does not request or use your microphone or camera.
2. Information We Collect
2.1 Information stored only on your device
The following information is stored on your device and is not transmitted to our servers:
- Location data. The App uses your device's GPS to determine which town you are currently in. Location data is processed locally.
- App preferences and settings. Your voice, volume, feature toggles, and similar preferences are stored locally.
- Announcement history. A record of towns and facts you have recently heard, used to avoid repeating the same content, is stored locally. You can clear this history at any time through the History screen in the App.
- Cached content. Facts and images fetched for towns you have visited are cached locally to reduce network use.
2.2 Anonymous device identifier
When you first open the App, we generate a random anonymous identifier called a Device ID (formatted like TC-XXXX-XXXX). This identifier:
- Is not linked to your name, email, phone number, or any other personal information.
- Is generated on your device and stored locally.
- Is included with any Problem Reports you submit and, if you have opted into anonymous analytics, with anonymous usage data.
- Persists across App updates.
- Is deleted if you uninstall the App and reinstall.
You can view your Device ID in the App's Settings.
2.3 Information you send us when submitting a Problem Report
If you use the App's "Report a Problem" feature, we receive the following information:
- The details of the problem you describe.
- Your Device ID (to correlate related reports).
- The town or location you were in when the issue occurred, if relevant.
- Basic device information (phone model, Android version, App version) to help us reproduce the problem.
- Optional: if you choose to provide it, your name and email address so we can follow up. This is entirely optional and is only used for follow-up on your report.
2.4 Automatic diagnostic and crash data (always active)
To keep the App working, some technical data is sent regardless of your other settings:
- Crash reports. If the App crashes or encounters an unexpected error, we receive an error report through Sentry (see Section 4). Crash reports include the type of error and where in the App's code it happened, basic device information, your Device ID, and contextual information about your recent actions in the App (such as which screens you visited or which buttons you tapped) to help us reproduce the problem. Crash reports do not include your location.
- Operational health signals. A small number of technical events help us detect App-level issues (for example, whether an audio playback got stuck, or whether an image failed to load). These signals do not include your location or personally identifiable information.
2.5 Anonymous analytics (opt-in)
If you choose to enable "Help improve Town Crier" during onboarding or in Settings, we collect additional anonymous data to help us improve the App:
- Product analytics. Anonymous events about which features you use and how the App is performing (which screens you view, which buttons you tap, when the App announces a town, when you mute or unmute audio, and similar). This is collected via PostHog (see Section 4). If you do not opt in, PostHog does not send any events.
- Content gap reports. When you drive through a town that we do not yet have content for, the App reports the town's name, county, state, and approximate coordinates. This helps us prioritize which towns to add next.
- Feature usage events. A small number of additional events (for example, when you change the App's mode) help us understand how the App is used in practice.
All anonymous analytics data is associated with your Device ID, not with your personal identity. You can turn this off at any time in Settings.
2.6 Advanced diagnostic settings (developer-focused)
The App includes advanced diagnostic settings intended for developers troubleshooting specific technical issues. These settings are off by default and are hidden inside a Debug menu. Turning them on causes additional technical events to be sent to Sentry. Normal users will never trigger these settings inadvertently.
3. How We Use Your Information
We use the information described above to:
- Provide the App's core functionality (announcing towns and facts as you drive).
- Improve the App based on real usage patterns (when you have opted into anonymous analytics).
- Fix bugs and technical problems.
- Respond to Problem Reports you send us.
- Add coverage for towns that are missing from our content library.
We do not:
- Sell your data to third parties.
- Share your data with advertisers.
- Use your data for advertising or marketing to you.
- Combine your data with data from other sources to build a profile of you.
4. Third Parties We Use
The App uses the following third-party services to function:
Cloudflare. We use Cloudflare Workers and Cloudflare R2 to store Problem Reports, anonymous content gap reports, and to serve the App's content (fact library, images, and audio clips). Cloudflare's privacy policy is available at cloudflare.com/privacypolicy.
Sentry. We use Sentry to collect crash reports and operational health signals. Sentry is active regardless of your analytics opt-in setting. Sentry's privacy policy is available at sentry.io/privacy. Default retention for Sentry data is 90 days.
PostHog. We use PostHog to collect anonymous product analytics only when you have opted in via the "Help improve Town Crier" setting. If you have not opted in, PostHog does not send events from your device. PostHog's privacy policy is available at posthog.com/privacy.
Wikipedia and Wikimedia Commons. The App fetches facts and images from Wikipedia and Wikimedia Commons. These requests are made from your device directly. Wikimedia's privacy policy is available at foundation.wikimedia.org/wiki/Policy:Privacy_policy.
OpenStreetMap (Nominatim). The App uses OpenStreetMap's Nominatim service to translate GPS coordinates into town names. These requests are made from your device directly. OpenStreetMap's privacy policy is available at wiki.osmfoundation.org/wiki/Privacy_Policy.
We do not control these third-party services and are not responsible for their privacy practices. We encourage you to review their policies.
5. Location Data
Location data is central to how the App works, so we want to be especially clear:
- Your device's GPS coordinates are processed locally on your device. The App uses them to determine which town you are in, so it can announce the town name and fetch relevant content.
- Coordinates are not continuously transmitted to our servers. In normal operation, we never receive your GPS coordinates.
- Coordinates may be included in specific reports:
- If you submit a Problem Report, coordinates for the location where the problem occurred may be included to help us reproduce the issue.
- If you have opted into anonymous analytics, approximate coordinates are included in content gap reports (see Section 2.5).
- Crash reports and operational health data do not include your location. Sentry receives only technical error information, not GPS coordinates.
- We do not build location history profiles. We do not track where you drive, when you drive, or how long you spend in any place.
You can revoke location permission at any time through your device's Settings. Doing so will prevent the App from working, because it cannot announce towns without knowing where you are.
6. Data Retention
- Problem Reports and anonymous content gap reports are stored on Cloudflare R2 indefinitely, as they form our record of user-reported issues and content needs. You can request deletion (see Section 8).
- Crash reports and operational data (Sentry) are retained for 90 days by default.
- Anonymous analytics (PostHog) are retained according to PostHog's default policies.
- Data on your device is retained until you clear the App's data or uninstall.
7. Your Choices
- Opt out of anonymous analytics. You can turn off "Help improve Town Crier" at any time in the App's Settings. When it is off, we do not collect product analytics, content gap reports, or other opt-in analytics events.
- Do not submit Problem Reports. Reports are only sent when you actively submit them through the "Report a Problem" screen.
- Clear announcement history. You can clear the App's local history of towns and facts you have heard through the History screen in the App at any time, without affecting other settings or data.
- Revoke location permission. You can revoke location access in your device's Settings. The App will not function without location access.
- Clear App data or uninstall. You can clear the App's local data or uninstall it at any time. Uninstalling also removes your Device ID and all locally cached content.
8. Your Rights
You have the right to:
- Know what data we have about you. Email us at privacy@towncrierapp.com with your Device ID, and we will tell you what data associated with that Device ID exists on our servers.
- Request deletion. Email us at privacy@towncrierapp.com with your Device ID, and we will delete any Problem Reports and content gap reports associated with that Device ID from our servers. Please allow up to 30 days for deletion to be processed.
- Request correction. If you believe any data we hold is inaccurate, contact us at privacy@towncrierapp.com and we will review it.
If you exercise these rights, we may need to keep certain minimal records (for example, a log that a deletion was requested) to demonstrate compliance.
9. Data Security
We take reasonable technical measures to protect your information:
- Data transmitted between the App and our servers is encrypted in transit using HTTPS.
- Data stored on Cloudflare R2 is protected by Cloudflare's security infrastructure.
- Access to our servers is limited to authorized personnel using authenticated credentials.
No system is completely secure. While we work to protect your information, we cannot guarantee absolute security.
10. Children's Privacy
Town Crier is not directed at children under 13, and we do not knowingly collect personal information from children under 13. If you believe we have collected information from a child under 13, please contact us at privacy@towncrierapp.com and we will delete it.
11. International Users
Town Crier is operated from the United States. If you use the App from outside the United States, any information we collect will be transferred to and processed in the United States, which may have different data protection laws than your country.
12. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will update the "Effective date" at the top of this policy. If we make significant changes, we will notify users through the App or through an in-App notice before the changes take effect.
Your continued use of the App after changes take effect constitutes acceptance of the updated policy.
13. Contact Us
If you have questions, concerns, or requests about this Privacy Policy or your data, please contact us at:
We aim to respond to all inquiries within 14 days.
This policy was last updated on July 13, 2026.