Privacy

SnowRaven Privacy Policy

Effective date: October 5, 2026

App Store privacy label

Data Not Collected

That is SnowRaven's privacy label on the App Store, and this page is the long form of why it is true: no analytics, no telemetry, no accounts, no third-party SDKs, and no server the developer runs. Requests you make go directly from your device to the bird and weather services, with your own keys, and the developer receives and retains nothing.

  • No accountsNothing to sign up for
  • No trackingZero analytics or telemetry
  • Keys & data stay localDevice or server, plus iCloud if you sync
  • No developer serverThere is no SnowRaven cloud

Overview

SnowRaven is a self-hosted birding tools app. It runs as a standalone desktop app (macOS and Windows), as an app on iPhone, iPad, and Android, or on your own machine such as a Raspberry Pi. This policy describes what happens to your data. The short version: it stays with you.

Your Data Stays on Your Device

SnowRaven keeps your data on your own device by choice and design. You keep it, and you control it.

No Data Collection

SnowRaven collects nothing about you.

Connections to Bird and Weather Services

SnowRaven's job is to fetch birding and weather information for you, so the app does make requests to a few outside services, using your own API keys, and only to get the data you ask for, which includes the nearby sightings a home-screen widget you placed shows and, if you turn on Alerts on iPhone or iPad, the nearby sightings an alert check looks at. These requests go directly from your device (or your own self-hosted server) to the provider. There is no SnowRaven server in the middle, and nothing is logged or retained by the developer.

What you send to these services (a checklist ID, a location, a search term) is governed by each provider's own privacy policy. SnowRaven only relays the request you initiated, or the scheduled request of a widget you placed or of Alerts you turned on. It adds no tracking, and neither the request nor its answer ever reaches the developer. Anything the app saves from an answer stays on your device, with one exception that is yours to turn on: with iCloud Sync on, the Targets tab's day-by-day eBird answers are also copied to your own iCloud account, one copy per device, so your other devices do not ask again (see the iCloud Sync section below). The widgets' saved results are described in the iOS App section below.

Your Location

When you use a location control (the location button on the map, "Use my location" in the map's filters or when setting a default location in Settings, "My location" when choosing where the Targets tab measures distances from, "My location" or "Use my location" in the Alerts section of Settings on iPhone and iPad, or the "Current" weather and tide lookup), SnowRaven asks your device or browser for your current coordinates, with your permission. Pressing the Weather tab's "Plan" button with no place chosen yet asks the same way, to fill in "Your location" in the form it opens; nothing is sent until you press one of that form's two buttons. Those coordinates stay on your device: they set the map's center, measure distances on the Targets tab, and can be saved locally as your default location or as the place Alerts checks around. They are only sent outward if you then run a search (for hotspots or nearby sightings), use the "Current" lookup, which sends your coordinates to OpenWeather and NOAA to fetch the weather and tide where you are, or press either of the "Plan" form's two buttons, which sends them to the same two services for the forecast there, the same as coordinates you type in by hand, or, on iPhone and iPad, when a home-screen widget you placed refreshes or an alert check runs, as described below. You can deny or revoke the permission at any time through your operating system or browser settings.

One thing worth saying plainly, because the paragraph above is easy to read as more than it claims: centering the map on you moves the map to where you are, and the map then draws that area, which means it requests map tiles for it. Your coordinates are not sent to the tile provider, but the tiles you request are for the area around you, and the provider sees your IP address and which part of the map you are looking at, exactly as described in "Map Tiles" below. That is true of panning the map there by hand as well. It is the normal behavior of any map, and it is the one outward consequence of centering on yourself.

On iPhone and iPad, the first time SnowRaven asks for your location (for example when you tap "Use my location", use the "Current" lookup, or press "Plan" with no place chosen) iOS shows the system location permission prompt ("SnowRaven uses your location to center the map on your current position, and to measure distances in its home-screen widgets"). The app itself uses your location only while you're using it. If you place one of SnowRaven's home-screen widgets (Nearby Lifers or Media Targets, on iOS and iPadOS 17 or later), the widget also reads your location each time iOS refreshes it, about every 30 minutes and as often as iOS allows, including while SnowRaven is not open, under that same permission. It sends those coordinates to eBird with your own eBird key to find the nearest recent reports, the same kind of request the app's Nearby Lifers view makes, and nothing reaches the developer. A widget you set to measure from your Default Location reads no location and sends that saved point instead. The widget never asks for permission itself and never asks for Always access. To stop it, remove the widget from your Home Screen, or deny SnowRaven location; with location denied, a widget measures from your saved Default Location if you have set one, and reads no location. If you turn on Alerts in Settings (off until you do), SnowRaven checks eBird about hourly or about daily, as iOS allows, including while SnowRaven is not open, for species you have never recorded near a place you choose, and notifies you on your device. Each check sends that place's coordinates and your chosen radius to eBird with your own eBird key, the same kind of request the app's Nearby Lifers view makes, and nothing reaches the developer; the notifications are made on your device, with no notification server. With Fixed place chosen, no location is used at all. With My location chosen, a check measures from the most recent position the app read while you were using it, or that a widget refresh read from your device, within the past 24 hours, rounded to about a kilometer (a widget that could not read your location and used your Default Location instead does not count; without such a position, a check measures from your fixed place, if you have one); it never reads your location while the app is closed and never asks for Always access. Turning Alerts off stops every check at once. You can allow or deny location, and change your choice at any time in Settings → Privacy & Security → Location Services. Denying it leaves everything else working: you can always type coordinates or search for a place by name.

On Android, SnowRaven never asks for your location and requests no location permission. The Android app has none of the location controls described above, and pressing "Plan" with no place chosen leaves the place empty for you to search or tap. You choose a place by typing its coordinates or searching for it by name.

Map Tiles

The maps in SnowRaven are drawn using map tiles served by third-party providers. As you pan and zoom, your device requests the tiles for the area you are viewing directly from these providers, so, like any website that displays a map, they receive your IP address and which part of the map you are looking at. No SnowRaven server is involved, no API key or account is used, and the developer adds no tracking and keeps no copy. You choose which base map is active with the layer switcher, and only the active layers' tiles are requested. Tiles come from:

iOS App

The iOS/iPadOS app is the same local-first application: your files, keys, and settings live in the app's sandbox on your device, are included in your device/iCloud backups under the iOS defaults, and are removed when you delete the app. The app collects nothing and adds no service connections beyond those listed above.

For its home-screen widgets, the app also keeps a small document in a container on the same device that only SnowRaven and its widgets can read: your eBird key, the species names in your eBird backup, which of them you lack a photo, audio, or video of in your Macaulay Library export, and your Default Location's coordinates. It holds none of your sightings, checklist details, or media. The app rewrites the document when your key, either file, or your Default Location changes. If a rewrite cannot finish after you remove or replace your key or remove a file, the app empties the document instead of leaving what you removed in it, and keeps trying until it can. In the rare case that SnowRaven closes before it has done that and cannot rebuild the document the next time it opens, the earlier document stays until the app can rebuild it. Beside the document, the widgets keep what their latest refresh fetched: the nearby eBird reports it found, the area it searched, rounded to about a kilometer, and a short fingerprint of your eBird key (not the key itself), which tells them when the key has changed. They keep one such set for widgets that measure from your location and, once a widget measures from your Default Location, a second for that; a successful refresh replaces only the set for that widget's setting. Like the rest of the app's data, both are included in device backups under the iOS defaults and removed when you delete the app, and neither is ever synced through iCloud Sync.

If you turn on Alerts, the app also keeps, in that same container: your alert settings (including the fixed place you chose, and its name if you picked it by search); when the last check ran and what it found; under My location, the most recent position the app itself read while you were using it; any alert waiting for the end of your quiet hours; and the inbox of past alerts. Each alert in the inbox keeps the species, the place eBird reported it, how far away it was, when it was reported, when you were alerted, the radius it was found in, the place's label (your fixed place's name, "near you" or "nearby"), and the point its check measured from: your fixed place, or under My location your position rounded to about a kilometer. An alert waiting for the end of your quiet hours keeps its species, the place eBird reported it, how far away it was, and its check's point, radius, and place label, at most until it is delivered and then forgotten at the next check or the next time you open the app. None of it is your eBird key. The inbox holds at most 200 alerts, and an alert, with its point, is deleted 30 days after it was made, at the next check or the next time you open the app. The position the app read is deleted when you switch to Fixed place, turn Alerts off, or clear your eBird backup, and otherwise at the next check or the next time you open the app once it is 24 hours old or location access for SnowRaven is off. Switching to Fixed place or turning Alerts off does not remove the points already in the inbox: each stays with its alert at most until that alert is deleted or cleared, and a later check that finds the same species within seven days replaces it with that check's point. Clear in the Alerts inbox removes its alerts and their points, and clearing your eBird backup removes the inbox, any alert waiting for the end of your quiet hours, and the position the app read. Like the widgets' documents, they are included in device backups under the iOS defaults, removed when you delete the app, and never synced through iCloud Sync.

iCloud Sync

On the Mac, iPhone, and iPad apps, SnowRaven can keep your data files (your eBird backup, your Macaulay Library export, and any eBird bar-chart files you have added on the Targets tab) the same across your own devices through iCloud. This is off until you turn it on in Settings, and it is a different thing from the iOS device backup described above: it is sync between your own devices, under your own account.

Android App

The Android app is the same local-first application, built from the same published source. Your files, keys, and settings live in the app's private storage on your phone or tablet, which other apps cannot read and which needs no storage permission, and they are removed when you uninstall the app. They are included in Android's own backup under Android's default settings, whether your phone backs up to a cloud account or transfers directly to a new phone. Android's documented limit for a cloud backup is 25 MB per app, and an app holding more than that is left out of the cloud backup entirely, which a large eBird backup can bring about; on Android 12 and later, a direct transfer to a new phone has no such limit. The Android app contains no Google services, no Firebase, and no analytics, advertising, or crash-reporting library, and adds no service connections beyond those listed above. SnowRaven's own code makes no request to Google. Its screens are drawn by your phone's Android System WebView, a system component that may contact Google on its own; SnowRaven turns off the WebView's Safe Browsing and usage statistics, and has no setting for the rest. The home-screen widgets, Alerts, and iCloud Sync described in this policy are iPhone, iPad, and Mac features and are not part of the Android app.

A few things in the app load directly from the Cornell Lab of Ornithology's websites, the same way any web page loads an embedded image, so, like the map tiles above, those sites receive your IP address and the specific item requested:

No key or account is used for these loads, no developer-operated server is involved, and the developer adds no tracking and keeps no copy. These are Cornell Lab of Ornithology services; see Cornell's privacy statement.

Software Updates

In the desktop and web/Pi versions, SnowRaven checks whether a newer version is available by requesting the latest release information from GitHub (api.github.com). In the desktop apps, choosing Check For Updates then downloads the new version directly from GitHub's release assets and installs it in place. As with any request to a website, GitHub receives your IP address when these checks and downloads happen. No API key or account is used, no SnowRaven server is involved, and the developer adds no tracking and keeps no copy. Downloaded updates are cryptographically verified before they are installed. See GitHub's privacy statement.

On iPhone and iPad, updates are delivered through the App Store (or TestFlight for pre-release builds). The iOS app contains no self-update mechanism of its own and does not make the GitHub update check described above.

On Android, SnowRaven installed from F-Droid is updated through the F-Droid client. F-Droid builds each release from SnowRaven's published source on its own servers and signs it with F-Droid's own key. SnowRaven installed from the APK attached to a GitHub release is signed with the developer's key and is updated by downloading a newer release's APK from GitHub and installing it over the old one. The two are signed by different keys, so neither installs over the other: switching from one to the other means uninstalling first, which removes the files and keys stored in the app. The Android app contains no self-update mechanism of its own and does not make the GitHub update check described above.

Children

SnowRaven does not collect data from anyone, including children under 13.

Changes to This Policy

If this policy ever changes, the updated version will be posted here with a revised effective date.

Contact

Questions about privacy? Reach out at developer@dtgibson.com.