Privacy
There are no accounts, no cookies, no analytics, and no trackers. Everything this app remembers about you is held in your own browser, and everything it tells you about the sky is worked out on your own device.
Stored On This Device
The app writes three values to your browser’s localStorage, all under the reveriedawn: prefix. There is no copy of any of it on a server, because there is no database and no account to attach one to.
- reveriedawn:location
- The observing site currently loaded — its label, latitude, longitude, elevation, and time zone.
- reveriedawn:recent-locations
- The last five sites you selected, so you can switch back without searching again.
- reveriedawn:bortle-override
- The Bortle class you entered by hand, if you entered one. A single number from 1 to 9.
That is the whole list. No identifier is generated for you, so nothing stored here distinguishes you from anyone else with the same observing site.
Your Position
The browser only asks for your position when you press Use my position. Nothing requests it on load, and you can skip it entirely by searching for a place name or typing coordinates in yourself.
When you do use it, the fix is handed straight to the code that computes altitude, azimuth, twilight, and moonrise for your site. It is kept in the same localStorage entry as any other site, on your device. It is not sent anywhere, not written to a log, and not associated with any identity — the app has no concept of one.
What Leaves This Device
Two things. The text you type in the search box, and the coordinates of the site you are planning for.
The search text goes to this site’s own /api/geocode route, which asks Photon — an OpenStreetMap search service — for matching places and caches the answer for an hour. Your coordinates are not part of that request: place search takes a name and returns coordinates, and never needs to be told where you already are.
Your coordinates do leave, because a cloud forecast for your sky cannot be fetched without saying which sky. They go to /api/forecast, which asks MET Norway — the Norwegian Meteorological Institute — for the forecast there. They are rounded to two decimal places first, to about a kilometre. That is far finer than any weather model’s grid and far coarser than your address, and it means everyone observing from the same area arrives as the same request.
Both lookups are made by this site’s server rather than by your browser, so neither provider ever sees your IP address or anything else about your connection — only a place name, or a rounded pair of coordinates, arriving from us. Neither needs an account or an API key, and nothing identifies you to either of them. MET Norway’s data is licensed under NLOD and CC BY 4.0; Photon’s comes from OpenStreetMap under ODbL.
Requests to this site reach a server, so its host records ordinary web-server request logs, as every website does. Nothing is written to them deliberately, and there is no store of user data for them to be joined against.
Computed Here, Not Fetched
Moon phase and illumination, moonrise and moonset, the four twilight boundaries, and every target’s altitude, azimuth, and transit time are all calculated in your browser from published astronomical formulae. No service is contacted for any of them. The Messier positions are a table shipped with the app.
The cloud, temperature, dew point, humidity, and wind figures are the exception: those come from a real forecast model and are fetched, as clause 03 describes. Nothing about that request is derived from anything but the coordinates you chose.
One number is neither computed nor fetched. Until you set your site’s Bortle class by hand, the sky-quality gauge shows a value seeded from your coordinates so that it has something to draw. It is not a measurement, no service is asked for it, and the interface says so wherever it appears.
Erasure
Clearing this site’s data in your browser — or clearing localStorage, or using a private window and closing it — erases everything the app has ever stored about you. Permanently, and with nothing left behind.
There is no server-side copy to reconcile, no deletion request to file, and nobody to ask. The app simply starts again from its default site the next time you open it.