← BACK TO APP Vol. III · Legal
DUGOUT RADAR · POLICY

Privacy Policy

Last updated May 27, 2026.
Introduction

Dugout Radar provides real-time MLB rain delay predictions and weather forecasts. The app is free to use, and this policy describes what data we collect, why, and how we protect it. We collect as little as possible and do not sell or share your data with advertisers.

Who We Are

Dugout Radar is an independent app. Questions or requests about your data can be sent to dugoutradarapp@gmail.com.

Data We Collect

All visitors. When you open the app, a random identifier is generated and stored in your browser. It is not tied to your name, email, or IP address. It is used only to maintain your preferences and, if you choose, link your alerts across sessions. We also log the visit and any tab navigation for usage analytics (see Analytics section below).

Push notification subscribers. If you enable push notifications, we store your browser's push subscription credentials alongside your random identifier and, optionally, your favorite team. We also store your notification preferences (whether you want alerts for all at-risk games, whether you want a once-a-day morning summary) and a timestamp recording whether the one-time welcome notification has already been delivered to you. You can revoke this at any time through your browser or device settings, or in the Settings tab.

Push delivery log. Each time we send a push notification, we record a one-way hash of the subscription endpoint, the notification type (e.g., rain-risk warning, welcome, daily check-in), a hash of the payload, and the timestamp. This log lets us enforce a per-subscriber daily cap (we will never send more than 3 notifications to one device in 24 hours) and review delivery patterns. The raw endpoint URL is not stored in this log, only the hash. Entries are deleted automatically after 90 days.

Data We Do Not Collect
IP addresses
Never stored.
Device fingerprinting
Not performed.
Your location
Not requested.
Browsing history
Not collected.
Email addresses
Not collected — the app does not sign you in or accept payments.
Payment information
Not collected — the app is free.
Custom roster
Roster contents (player names, team) are stored in your browser only and never sent to our servers. A binary signal indicating whether you have a saved roster is logged as an anonymous usage event.
How We Use Your Data
Random identifier
Linking preferences and alerts across sessions.
Push credentials
Delivering weather delay notifications.
Favorite team
Routing the right alerts to you.
Watched games
Delivering per-game alerts.
Analytics events
Understanding how the app is used in aggregate — never linked to personal identity.
Feature interaction events
Understanding which features are shown to users, in aggregate.
Analytics

We log app usage events in the following categories:

Visits & tab navigation
When the app is opened and which tabs are viewed.
Game detail opens
Which game was opened (home team only) and how far before or after first pitch — e.g., "2–6 hours before game." Never which specific user opened it.
Feature views
Whether sections like Tarp Watch, Should I Go?, rain timing, venue history, venue history strip, comparable games, or prediction timeline were shown during a game detail view — passive counts only, not taps or interactions.
Session depth
How many interactions occurred before you left, stored as a broad bucket (1, 2–4, 5–10, or 10+).
Push notification opens
Whether a notification tap resulted in opening the app — tracked as an aggregate rate, not per user.

Each event records the date, a 2-hour time block in Eastern Time (for example, 6–8 PM, never an exact minute), the event category, and platform type (PWA or browser, mobile or desktop). No event records your identity or links you to specific games beyond the daily pseudonym described below.

For unique-user counting, we create a daily pseudonym by hashing your random identifier together with the current date. A new pseudonym is produced each day, so you cannot be linked across days. Your raw identifier is never written to disk in our analytics system. All analytics records are automatically deleted after 90 days.

Cookies and Browser Storage
Random identifier
localStorage + cookie — linking preferences across sessions.
Favorite team
localStorage — personalizing alerts and display.
Custom roster
localStorage — roster contents are local only and never sent to our servers; only a binary has-roster signal is logged anonymously.
Display & notification preferences
localStorage — theme, temperature unit, alert toggles (master switch, at-risk games, favorite team, daily check-in, risk threshold, quiet hours), and dismissal flags for in-app banners and prompts. Stored on your device only.
Visit counter & banner state
localStorage — a count of how many times you have opened the app and timestamps tracking whether you have dismissed the install banner or notification primer. Used only to decide when to surface these prompts; never sent to our servers.
Third-Party Services
Weather APIs
Receive stadium coordinates only — no user data (OWM, NWS, Open-Meteo, Pirate Weather).
MLB Stats API
Public API — no user data sent.
Google Fonts
Standard font request — no user data sent.
Bluesky (optional outbound link)
Settings includes a link to the Dugout Radar Bluesky profile. Tapping the link opens bsky.app in a new tab — no user data is sent from Dugout Radar to Bluesky. Bluesky's own privacy practices apply once you arrive there.
Push Notifications

Push notifications are delivered using the Web Push Protocol. Your subscription credentials are stored on our servers and used only to send you (a) rain delay and weather-related game alerts, (b) a one-time welcome message within 24 hours of subscribing, and (c) — if you opt in via Settings — a short once-a-day morning summary. We never sell or share your push subscription. No push notification is ever sent for advertising or promotional purposes outside of Dugout Radar. We enforce a hard cap of 3 notifications per device per day across all notification types combined. If a subscription becomes invalid — for example, because you cleared your browser data — it is automatically removed from our system. You can unsubscribe at any time in the Settings tab or through your browser's notification settings.

Data Retention
Push subscriptions
Until you unsubscribe or the subscription becomes invalid.
Push delivery log
90 days. Contains hashed endpoint, notification type, payload hash, and timestamp only.
Watched games
2 days.
Analytics events
90 days.
Prediction accuracy log
Indefinitely — contains no personal data.
Your Rights

You can request deletion of your data by emailing dugoutradarapp@gmail.com. We will delete your records from our system.

You can remove your push subscription and all local preferences at any time through the Settings tab in the app.

Children

Dugout Radar is not directed at children under 13 and does not knowingly collect data from them.

Changes to This Policy

If we make material changes to this policy, we will update the date at the top. Continued use of the app constitutes acceptance of the current policy.

Questions? Email dugoutradarapp@gmail.com
Dugout Radar · An independent product · Not affiliated with Major League Baseball