Privacy
Your photographs never leave your device: this static site has no image-upload endpoint, and processing happens inside your browser.
Your photographs
They are read, measured, combined and encoded inside your browser tab, by code running on your own machine. This site is a set of static files. It has no server that processes images and no endpoint that accepts an upload; the finished PNG or FITS is handed to you from your browser’s memory.
The image-processing path makes no upload. If you drop a RAW file, it downloads the RAW decoder
— one 804 KB WebAssembly file from this same domain, /vendor/raw/rawlab.wasm. That request carries
nothing about your files. Separately, the page may load the cookieless analytics script and send the closed-set
events described below; those requests never carry image or session metadata. Disconnecting after the page and
RAW decoder have loaded does not stop the frames from stacking.
The same applies to the metadata. Timestamps, exposure, focal length, camera model and serial number are read from the files to compute the sequence’s defaults, and they stay in the tab with the pixels.
Deep sky registration, calibration, integration, display stretching and FITS encoding use the same local worker. The 16-bit PNG is display-stretched; the 32-bit Float32 FITS keeps the signed, unclamped integration. Both are browser-created downloads, not server responses containing your image.
Comet preparation, nucleus marks, both registered arms and the exact-grid composite also remain in that worker and tab. Its three PNG/FITS output pairs use temporary browser object URLs that are revoked when you reset or start another accepted run.
Planetary SER headers, frame ranges, quality scores, measured translations, all-valid crops and PNG/FITS pairs also stay inside that worker and tab. Restart and Reset revoke every Planetary download URL.
What is stored on your device
Nothing except your browser’s own cache of this site’s files. The stacking workspace sets no cookie and keeps no saved results, history of what you stacked or local database.
What is measured
Anonymous, cookieless usage statistics, so we can tell whether anyone is using the tool: which page was
visited, roughly where in the world from your IP address, which is not stored, and a small closed set of
events. The canonical anonymous completion events are work_started and
work_completed; this tool also distinguishes a refusal, cancellation and download. The complete list is in
/assets/analytics.js on this site and nothing outside it can be sent.
Those events carry no file names, no camera model, no frame count beyond one of three coarse ranges, no sky measurements and no image data of any kind. If your browser sends a Do Not Track signal, nothing is recorded at all.
The light pollution map
The light pollution map is the one page on this site that draws on anything outside it, so it is worth stating plainly what leaves your browser there and what does not. Nothing above changes: no photograph, no file you chose and no measurement taken from one is involved on that page at all, and there is still no upload endpoint anywhere on this site.
The brightness data itself is ours and is served from this domain — the atlas tiles, the overview grid
and every calculation the panel shows are fetched from startrailstacker.com and run in your
browser. So is the base map. The coastlines, roads and place names under the overlay used
to be tiles fetched from a third party as you panned; since September 2026 they are drawn in your browser
from a single map archive on this domain, which your browser reads a few kilobytes of at a time. That
removed the one host this page reached on every visit, and it is why only one other host
can be reached here at all:
-
Elevation tiles from the public
elevation-tiles-prodbucket on AWS, used to work out the horizon around a point. Terrain is off until you press the Terrain button. A first visit reaches no elevation host at all; pressing it fetches nine tiles around the point you chose, and that request carries those coordinates at roughly one-kilometre resolution and nothing else. Turning it on is remembered by your own browser, so on a later visit the map reads the horizon for the remembered point without waiting to be asked again — pressing Terrain a second time turns it off, and it stays off.
That request carries no photograph, no file, no account, no cookie and no identifier we set. The attribution these sources require, and their licences, are on how this map is made.
No third host is contacted to resolve the time zone. The map prints every time in the local time of the point you picked rather than on your own clock, and it works out which time zone that is in your browser, from a table served from this domain — the coordinate is not sent anywhere to resolve it, and no geolocation or time-zone service is contacted. The table’s own licence and how approximate it is are on how this map is made.
The aurora pages
Northern lights tonight, the aurora forecast, the Kp index, geomagnetic storm today and the place pages under them read live data that this site does not produce, and they read it the same way the map does: your browser fetches it directly, there is no server of ours in between, and nothing about you is stored anywhere but in your own browser. Two hosts are reached, each for one thing:
-
NOAA Space Weather Prediction Center (
services.swpc.noaa.gov): the aurora probability grid, the Kp index, the solar wind, the 3-day and 27-day forecasts, hemispheric power, scales and alerts. These are the same public-domain files for everyone; the request carries nothing about you or your location. -
MET Norway (
api.met.no): the cloud and temperature forecast for the point you chose. This is the one request that carries your pin, rounded to two decimal places (about a kilometre), because a cloud forecast has to be for somewhere. It is fetched once per pin and cached in your browser until the forecast expires.
The pin itself lives in your address bar (so a bookmark keeps it) and in your browser's local storage; the "Use my location" button asks the browser for your position only when you press it, and the answer goes nowhere but into that pin. No photograph, no file, no account, no cookie and no identifier we set are involved on any of these pages. The alerts page describes an e-mail service that does not exist yet; when it does, this page will say exactly what it stores.
What is not here
The current page uses no tracking pixels, fingerprinting or cross-site identifiers. Its only third-party script is the cookieless analytics collector described above.
Video guides are hosted on YouTube. This site shows only its own poster image for each video; nothing from YouTube or Google is requested until you press play. Then the privacy-enhanced player from youtube-nocookie.com loads inside the page, and YouTube’s own privacy policy applies from that moment. Without JavaScript the card opens the video on youtube.com in a new tab instead.
Contact
Support is currently unavailable. The contact page records its current status.