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:

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:

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.

Code-native privacy boundary separating local pixels, EXIF, measurements, results and object URLs from same-domain code and closed-set analytics events
Code-native privacy boundary from the published local-processing and closed-set analytics contract. It is not a packet capture, legal opinion or upload-performance benchmark.