Permission comes first
First use waits for you. Later visits refresh only when location access is already granted.
No account required
Favorites and recently viewed venues stay in local browser storage.
No location sale
We do not sell precise location or use it to build advertising profiles.
Browser location
Location is optional. On first use, the app waits for you to tap Use my location or the map’s Recentercontrol. Your browser then asks for permission and provides coordinates plus an accuracy estimate. On later visits, the app refreshes your location automatically only when the browser reports that access is already granted. It does not open a new prompt automatically. Denying permission leaves the app usable: you can choose a Miami neighborhood manually.
Your current coordinates are held in the open page’s memory while you search. Happy Hour in Miami does not intentionally write those coordinates to Supabase or localStorage. Closing the page clears that in-memory search state.
The app resolves a neighborhood from a local Miami reference set. That neighborhood label is meant for orientation, not as a precise address.
Map tiles, routes, and providers
The basemap loads from OpenFreeMap using map data from OpenStreetMap. Loading the visible area sends standard network data and the requested map tile coordinates to that service. Happy Hour in Miami does not use an account or API key for these tiles. OpenFreeMap processes the requests under its own terms and privacy policy.
To calculate routes, the page sends the selected origin, venue destinations, travel mode, and optional departure time to Happy Hour in Miami’s server route. The response is marked private and not intended for shared browser caches.
By default, the server passes those coordinates to the keyless FOSSGIS OSRM service for non-traffic road or walking routes. FOSSGIS states that route requests are recorded in its server logs and handled under its own privacy notice.
When configured, Mapbox is tried first for traffic-aware driving routes and openrouteservice is tried next for non-traffic routes. Those providers process requests under their own privacy terms and may keep operational logs. If every network provider is unavailable or keyless routing is disabled, the app uses a local distance and speed estimate instead.
We do not intentionally store route request coordinates in the happy-hour database. Hosting and routing infrastructure may still produce limited security or reliability logs under their own retention settings.
Favorites and recent venues
These two lists are saved in your browser’s localStorage so they can survive a refresh. They are not an account, are not synchronized to Supabase, and can differ across browsers or devices. Anyone who can use the same browser profile may be able to see them.
You can remove individual favorites in the interface, clear recent venues where that control is available, or clear this site’s storage in browser settings. Private-browsing modes may discard them sooner.
Closing-soon reminders
A reminder only requests browser notification permission after you tap its button. We do not ask on page load.
When you turn on a reminder, the browser creates a Web Push subscription and sends its push endpoint and encryption key material to Happy Hour in Miami. We store those values with the selected happy-hour occurrence so a notification can arrive about 20 minutes before it ends, even after you close the page. We do not attach your precise location to the push subscription.
The push endpoint is a pseudonymous device identifier shared with the browser’s push provider for delivery. Notification text may be visible on a lock screen, depending on your device settings. Delivery is best effort and may be delayed or suppressed by browser, network, battery, or focus settings.
A random accountless ownership token is kept in an HttpOnly cookie, and only its one-way digest is stored with the subscription. Use the venue page’s Turn off reminder control or revoke notification permission in browser settings. Finished reminders and unused subscriptions are removed on a limited retention schedule.
To limit automated reminder abuse, the server converts the request’s network address into a keyed one-way fingerprint. The reminder database stores only a second one-way digest in hourly counters, not the raw address. Hosting infrastructure may still process network addresses in security logs under its own retention settings.
Listings, Supabase, submissions, and corrections
Public venue names, addresses, schedules, offers, verification dates, and source links may be read from Supabase. They are business listing data, not user profiles.
If you submit a correction, we send the venue identifier, correction category, your written details, any optional public evidence URL, and a generated submission reference to Supabase for review. Do not include names, phone numbers, private documents, precise personal location, or other sensitive information.
If you submit a new happy hour, we send the venue name, address or neighborhood, schedule, offer details, official source URL, and a generated submission reference to the same private review queue. The form does not request your name, email address, precise personal location, or an account.
Corrections and happy-hour submissions are anonymous in the app, but anonymity is not a promise that network infrastructure cannot observe technical request data. We may use limited technical signals to prevent spam and abuse.
Retention and your choices
- Location and route state: held for the active page session and not intentionally added to the listing database.
- Favorites and recent venues: remain in localStorage until you or the browser clears them.
- Correction submissions: kept while needed to review, act on, audit, or defend against abuse, then deleted or minimized when they are no longer reasonably needed.
- Push reminders: pending only until their happy-hour occurrence ends. Completed reminder records and unused subscriptions are scheduled for removal after 30 days. Push abuse counters are removed after 24 hours.
- Venue listing history: may be retained to understand when public happy-hour information changed.
You can revoke location or notification permission in browser or device settings. To request removal of a correction, submit another correction for the same venue, choose Something else, and include your submission reference. Because submissions do not require an account, we may need that reference to locate the record.
Anonymous page analytics
Updated September 5, 2026. We use Vercel Web Analytics and, when connected, PostHog to count visits and learn which public pages people use. Analytics loads after the interface is interactive and is disabled in local development.
PostHog receives page paths, basic browser and screen information, and random identifiers for the open page session. We remove URL query strings, fragments, and referrer details from PostHog events, and remove query strings and fragments from page URLs sent to Vercel. We do not send GPS coordinates, route requests, favorites, form contents, or personal profiles to analytics.
Session replay, automatic click capture, and form recording are disabled. PostHog’s identifiers are held in memory rather than saved as analytics cookies or in localStorage. PostHog IP-based geolocation is disabled, although providers necessarily receive network addresses when handling requests and may maintain operational logs. Vercel uses its own privacy-focused visit measurement.
We suppress analytics events when your browser sends Global Privacy Control or Do Not Track. You can also use your browser’s content blocking controls. For provider practices, see Vercel’s analytics privacy notice and PostHog’s privacy policy.
Third-party links and future changes
Venue websites, Google Maps directions, OpenFreeMap, Mapbox, and openrouteservice are separate services. Opening those links or using their results is subject to their own terms and privacy practices.
Happy Hour in Miami does not currently provide user accounts or advertising profiles. If we add accounts, marketing notifications, or a materially different use of location, this notice should be updated before that feature is treated as active.
For a privacy question, use the correction form on the relevant venue and select Something else. You can also return to the Miami happy-hour map.