Shadehopper Privacy Policy
Last updated: September 1, 2026
1. Who we are
Shadehopper LLC ("Shadehopper," "we," "us") operates the Shadehopper
app and website at shadehopper.com. This policy explains what data the
Shadehopper mobile app and website collect, how we use it, who we
share it with, and how you can see or delete it.
2. What we collect
Shadehopper collects the nine categories of data listed below and
nothing else. Every category is linked to your account, because the
app is built around a signed-in profile. None of it is collected for
tracking purposes, and none of it is used to follow you across other
companies' apps or websites.
-
Email address. Collected when you create an account
or sign in, whether by email and password, Google, or Sign in with
Apple. We use it to identify your account, to contact you about your
account, and to attach your email to any feedback you send us. Sign
in with Apple also offers us your name; we ask for it, then discard
it, and no name is ever stored.
-
User ID. A Firebase user identifier generated when
your account is created. It is the key that ties every other record
in this list to you.
-
Device push token. If you turn on notifications,
your device's push token (Apple Push Notification service, delivered
through Firebase Cloud Messaging) is stored so we can send the
notifications you asked for.
-
Precise location. With your permission, Shadehopper
uses your device's precise and approximate location to compute
real-time shadows, a UV index corrected for your altitude, air
quality, shade-optimized walking routes, and turn-by-turn walking
navigation. Most of this is momentary: coordinates sent while
planning a route, scoring shade, or checking conditions are used to
answer that request and are not written to our database. Location is
stored, and linked to your account, only when you choose to save
something: a favorite spot, a saved workout route (which keeps the
full path), a saved place, or a place rating. Separately, if you
grant the "Allow all the time" permission, Shadehopper reads your
location in the background, including when the app is closed or your
screen is locked, so navigation can keep running and can tell you out
loud when you leave your route. Background location is used only
during an active navigation session and it never leaves your device:
the navigation code on your phone reads it and does not send it to
our servers. You can turn it off at any time in your device's system
settings, and foreground navigation still works without it.
-
Health data. Your body weight, your Fitzpatrick
skin-tone setting, and your age. Each is optional and entered by you.
Weight drives calorie estimates, skin tone personalizes vitamin D
timing and burn-time warnings, and age refines those calculations.
These are stored with your account on our servers, not only on your
device.
-
Fitness data. Your saved workout routes and their
activity type, distance, calories, and elevation gain; your current
streak, longest streak, and earned badges; and any activity goals you
set.
-
Usage data. Counters that record how much you use
the app: number of sessions, the dates you were active, when you were
last active, and how many routes, loops, workouts, and shade lookups
you have run this month. We use these to apply plan limits and to
power streaks. They live in our own database and are not sent to any
analytics service.
-
User content you write. The names you give favorite
spots and saved routes, and the notes you attach to a place rating.
-
Support content. When you send feedback, we store
your message, your rating, your email address, and the app context at
that moment (such as the UV index and shade score on screen) so we
can understand and reply to the report.
3. What we do not do
-
No advertising. Shadehopper contains no advertising,
no ad network, and no advertising SDK. We do not use the device
advertising identifier (IDFA), and the app never asks for permission
to track you, because it has nothing to track you with.
-
No analytics or tracking SDKs. Shadehopper ships no
third-party analytics, attribution, or crash-reporting SDK. Google
Analytics for Firebase is not enabled in the app, and there is no
Crashlytics, Sentry, Amplitude, Mixpanel, or Segment.
- We do not sell your personal data.
- We do not share your personal data with data brokers.
-
We do not track you across other companies' apps or websites, and we
do not combine your data with data from other companies for that
purpose.
-
We do not collect payment card details. Shadehopper does not process
payments today. If that changes, payment handling will go to a
third-party payment processor and we still will not store card
numbers.
-
We do not collect your name, phone number, postal address, contacts,
photos, browsing history, or audio.
4. Third-party services
We use the following service providers, who process data on our behalf:
- Firebase (Google): account authentication, our database, and push notification delivery
- OpenStreetMap and the Overpass API: building, street, and tree canopy data used to compute shade
- Open-Meteo: weather, UV, and air quality forecasts
- WeatherAPI.com: current weather and UV conditions
- OpenRouteService (HeiGIT): walking route calculation
- Open-Elevation: ground elevation, used to correct the UV index for altitude
- HERE Technologies: place results for the location search box
- OpenFreeMap: base map tiles
- Cloudflare: our map tile cache and proxy
- Vercel and Render: hosting for the website and the API
- Apple: Sign in with Apple, and push notification delivery through APNs
Apart from Firebase and Apple, which hold your account itself, these
providers receive only coordinates, a map area, or a tile request,
together with our own API key. They do not receive your email address,
user ID, weight, age, or skin tone.
Two features hand your location to a company we do not control, and
only at the moment you ask for them. When you search for a place, the
text you type and your approximate location go to HERE Technologies so
it can return matching place results, processed under HERE's terms. When you tap a ride-hailing option, the pickup
coordinates, the destination coordinates, and any destination label are
passed to the ride-share app you chose, such as Uber, Lyft, Bolt, Grab,
Careem, Ola, Cabify, InDriver, or DiDi, so that app can start the ride
request. Once your data reaches that company, its own privacy policy
governs it.
5. Data retention
Account data is kept until you delete your account. Coordinates used
for live navigation, one-off route planning, shade scoring, and
weather lookups are not retained on our servers after your session
ends. Anything you explicitly save stays until you delete it or delete
your account.
6. Your rights: access and deletion
You can see the profile data we hold from the Profile tab in the app,
and you can ask us for a copy at any time by emailing
contact@shadehopper.com.
You can delete your account and its data yourself: open the Profile tab
and choose "Delete account." The request is processed on our servers
immediately, and it removes your profile (including weight, skin tone,
and age), your saved routes, saved places, favorites, goals, streaks
and badges, usage counters, and your sign-in credentials.
One exception, so it is not a surprise: place ratings you submitted stay
on Shadehopper in anonymized form, so the shade averages other people
rely on do not disappear. Before your account is removed we strip the
rating of everything personal, including your user ID and any note you
wrote, and move it to a new record with no link back to you.
You can also request deletion by emailing
contact@shadehopper.com,
or follow the steps at
shadehopper.com/delete-account.html.
7. Children
Shadehopper is not directed at children under 13, and we do not
knowingly collect personal data from children under 13.
8. Changes
We may update this policy from time to time. We will tell you about
material changes through the app or by email.