Provenance
Third-party notices
Astral Archive ships nine bundled JavaScript runtimes. They are vendored into astral-archive/assets/vendor/ under neutral file names so that the shipped site stays brand-consistent, but the licences below still apply and the copyright notices are reproduced here in full.
None of the runtimes is linked from the site, referenced in the page copy, or exposed in the user interface.
This file is published. astral-archive/notice.html is rendered from it by build-tools/lib/render-notice.js, so the citations below are reachable from the site and not only from the source tree. Edit this file and run npm run build:html; the page follows. Editing the page itself has no effect, because the build overwrites it.
assets/vendor/astral-render.min.js
Bundled WebGL rendering runtime (minified build of Three.js r128).
Copyright 2010-2021 Three.js Authors
SPDX-License-Identifier: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Upstream project: https://github.com/mrdoob/three.js
assets/vendor/astral-orbit.min.js
Bundled orbit propagation runtime (minified build of satellite-js v5.0.0).
(c) 2013 Shashwat Kandadai and UCSC
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Upstream project: https://github.com/shashwatak/satellite-js
assets/vendor/astral-ephemeris.min.js
Bundled solar-system ephemeris runtime (minified browser build of astronomy-engine v2.1.19). It computes rise, transit and set times, the Moon's phase and position, and the Sun's direction; the observer's coordinates stay in the browser and are never sent anywhere.
Copyright (c) 2019-2023 Don Cross <cosinekitty@gmail.com>
SPDX-License-Identifier: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Upstream project: https://github.com/cosinekitty/astronomy Vendored by build-tools/vendor-ephemeris.js.
assets/vendor/astral-skymap.min.js
Bundled star map renderer (minified build of d3-celestial v0.7.35). It draws the whole-sky chart: stars to a magnitude limit, constellation lines, names and boundaries, deep-sky symbols, and the Milky Way band, in any of the standard whole-sky projections.
Copyright (c) 2015, Olaf Frohn
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Upstream project: https://github.com/ofrohn/d3-celestial
assets/vendor/astral-d3.min.js and assets/vendor/astral-d3-projection.min.js
The data-binding and projection layer the star map renderer is built on (minified builds of d3 v7 and d3-geo-projection). They are shipped as the upstream release ships them, because the star map binds to the d3 global by name across three files.
Copyright 2010-2024 Observable, Inc.
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
Upstream projects: https://github.com/d3/d3 and https://github.com/d3/d3-geo-projection
assets/vendor/astral-orrery.min.js
Bundled solar system runtime (minified build of spacekit.js v0.1.1). It builds the WebGL scene and propagates Keplerian orbits. The planet bodies here are constructed from orbital elements rather than from the upstream presets, because those presets carry texture URLs and this project resolves no asset against a third-party host.
MIT License
Copyright (c) 2019 Ian Webster
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Upstream project: https://github.com/typpo/spacekit
assets/vendor/astral-globe.min.js
Bundled globe runtime (minified build of globe.gl v2.46.2) used by the tracker's globe view. The globe surface is the NASA "Blue Marble" earth texture (assets/data/globe/earth-blue-marble.jpg, see the data-sources section), committed locally so no texture is fetched from a third party; country outlines (Natural Earth, public domain) are drawn on top for legibility.
MIT License
Copyright (c) 2019 Vasco Asturiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Upstream project: https://github.com/vasturiano/globe.gl
assets/vendor/astral-suncalc.min.js
Bundled sun and moon arithmetic (minified build of SunCalc v2.0.2) behind the sky map's rise, set and lunar phase panel.
Copyright (c) 2026, Volodymyr Agafonkin
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Upstream project: https://github.com/mourner/suncalc
Not bundled, and why
Two projects were evaluated and deliberately not shipped:
- Aladin Lite (https://github.com/cds-astro/aladin-lite) is licensed LGPL-3.0. Bundling copyleft-licensed JavaScript into a distributed page is a materially different question from linking a library, and this project is not in a position to take that on, so it is not included. - The Open Exoplanet Catalogue (https://github.com/OpenExoplanetCatalogue/open_exoplanet_catalogue) declares no licence. Absent a licence there is no grant of rights, so none of its data is used.
Note on the in-file banners
The bundles keep a short banner comment that points at this file. The MIT licence requires the copyright notice to travel with the software, so this file must stay in the distributed tree. If the site is ever published as a single concatenated bundle, carry this notice over with it.
Data sources
The site makes no third-party request while you use it. Everything below is imported at build time by the scripts in build-tools/ and committed as plain files under astral-archive/assets/data/.
Where attribution lives
The shipped pages describe most of their sources generically — "public agency archives", "the public survey archive", "public sources" — and name no upstream feed, service or software runtime in the page copy. This is a deliberate house style, not an omission: the pages are meant to read as one archive rather than as a set of lookups pointed at other people's brands, so the specific upstreams are recorded here instead. A generic credit on a page is therefore a pointer to the notice page, astral-archive/notice.html, which is this file rendered.
Survey imagery is the deliberate exception to the house style, because a survey's identity is part of what the image shows: the deep-sky viewer names the survey in its detail card. Those names are listed in the table further down.
Where an upstream asks to be cited by name, the citation is the entry below, and it reaches the visitor through the notice page.
Reachability
This file is served to visitors as astral-archive/notice.html. The page is rendered from this file, so there is one text rather than two: the citations below are reachable from the site, and terms.html links to them.
This is the shape those citations needed. CelesTrak asks to be cited as the source of the element sets, and SkyView and the survey teams are in the same position. While the only copy of a citation was this file, a deployed site served none of them, and a citation a visitor cannot reach is a citation only in the sense that it exists.
For the bundled runtimes the question never arose: MIT requires the notice to travel with the software, and this file travels with the source tree, which is where those bundles are distributed from.
assets/data/tle.js — orbital element snapshot
Two-line element sets for the ten objects on the tracker, retrieved from CelesTrak's GP query API (https://celestrak.org/NORAD/elements/gp.php) by build-tools/fetch-tle.js. The snapshot is dated, and only the element values themselves travel into the bundle — the tracker states the epoch of each set and the age in hours on screen.
Courtesy of Dr T.S. Kelso, CelesTrak (https://celestrak.org/). CelesTrak asks that its data not be presented as an official product and that it be cited as the source; this entry is that citation. It is carried here rather than on the tracker page, for the reason given under "Where attribution lives", and it reaches the visitor through the notice page, where this entry is published. What the tracker does state, per object, is the epoch of its element set and the age in hours, so the staleness of this snapshot is never concealed from the visitor — only the feed it was drawn from is left unnamed on the page itself, and it is named here.
assets/data/missions.js, assets/data/sky.js, assets/data/literature.js
Mission records, the constellation and deep-sky reference data, and the literature index are compiled from public agency archives, catalogue files and preprint metadata, then normalised into this project's own schema. Upstream terms apply to the underlying facts and identifiers; the compilation itself is this project's.
assets/surveys/ and assets/data/surveys.js — survey cutouts
Real survey imagery, cut at build time by build-tools/fetch-surveys.js from the NASA/HEASARC SkyView service (https://skyview.gsfc.nasa.gov/cgi-bin/images). Every cutout is a 300 × 300 greyscale JPEG, one per object per band, committed alongside the index that describes it so the shipped site makes no third-party request at runtime.
One image per object per band is requested, at a single field of view per object. Nothing is resampled beyond the service's own pixel grid, nothing is composited at build time, and no colour is applied — the archive is shown as measured, in greyscale, with the band label carrying the wavelength. The one derived band, dss2-composite, is assembled in the browser from the three DSS2 plates rather than fetched, which is how a published survey colour composite is conventionally made.
Bands and their upstream surveys:
| Band | Survey | Provenance |
|---|---|---|
dss2-blue, dss2-red, dss2-ir | DSS2 | Space Telescope Science Institute / Anglo-Australian Observatory |
sdss-r | SDSS | Sloan Digital Sky Survey |
2mass-j, 2mass-h, 2mass-k | 2MASS | University of Massachusetts / IPAC-Caltech |
wise-34, wise-46, wise-12, wise-22 | WISE | NASA/JPL-Caltech |
iras-60, iras-100 | IRAS | NASA/JPL-Caltech |
nvss | NVSS | NRAO |
vlss | VLSS | NRAO |
wenss | WENSS | ASTRON |
gb6 | GB6 | NRAO |
galex-nuv, galex-fuv | GALEX | NASA/JPL-Caltech |
rass | ROSAT all-sky survey | Max-Planck-Institut für extraterrestrische Physik |
SkyView serves these surveys as a convenience to the community; the underlying data remain the property of the originating survey teams and their funding agencies. The project does not claim authorship of any cutout.
The credit appears in the interface, not only in a file: the deep-sky viewer names the survey beside the band on show, carries each survey's name in the tooltip of its own chip, and lists the surveys that resolved for that object, so a visitor can see whose plates they are looking at from the page itself. The attribution field in assets/data/surveys.js restates the whole list for anyone reading the data — nothing renders it, and it is not the mechanism by which a page credits anything.
Coverage is intentionally partial: an object appears in the index only where the archive actually serves a usable cutout at that position, and a band is listed only where it resolved for that object. Bands the service cannot provide for a given field are recorded as gaps rather than padded with a placeholder — the viewer offers only the bands it can show.
assets/data/globe/earth-blue-marble.jpg — globe surface
The NASA "Blue Marble" earth texture used as the globe surface in the tracker's globe view. It ships inside the three-globe package (example/img/earth-blue-marble.jpg, https://github.com/vasturiano/three-globe) and originates from NASA's Visible Earth / Blue Marble collection. NASA imagery is generally not copyrighted; it is used here under that public-domain status and recorded for provenance.
assets/data/globe/countries.geojson — country outlines
Land outlines for the tracker's globe view, from the Natural Earth 1:110m admin-0 dataset (https://www.naturalearthdata.com/). Natural Earth is in the public domain: the data may be used, redistributed and modified without restriction, and no attribution is required — it is recorded here so the provenance of the file is not in question later.
assets/data/skymap/ — star chart catalogues
The catalogues behind the sky map, distributed with d3-celestial, whose licence is reproduced above:
| File | Contents |
|---|---|
stars.6.json | stars to sixth magnitude |
starnames.json | proper names for the named stars |
constellations.json | the IAU constellation list |
constellations.lines.json | the constellation figures |
constellations.borders.json | IAU constellation boundaries |
dsos.bright.json | bright deep-sky objects |
dsonames.json | names for those objects |
mw.json | the galactic plane, drawn as the Milky Way band |
planets.json | planet positions |
These are exactly the files the renderer asks for, named as it asks for them. The upstream distribution ships catalogues this project does not use (messier.json, for one); they are not vendored, because a file nothing requests is dead weight in the precache.
assets/data/orrery/assets/ — sprites, skybox and planet surfaces
The orrery renders a real solar system. Every image below is committed to this repository and resolved locally through the runtime's <basePath>/assets/… layout, so the page contacts no third-party host.
Sprites — distributed with spacekit.js, whose licence is reproduced above. They are copied byte-for-byte rather than read and rewritten, because round-tripping a PNG through a text pipeline corrupts it, and silently: the file still opens, it just is not the image any more.
| File | Use |
|---|---|
sprites/smallparticle.png | default planet-body sprite |
sprites/fuzzyparticle.png | default fuzzy body sprite |
sprites/sunsprite.png | the Sun glow sprite |
sprites/lensflare0.png | the Sun lens-flare, drawn behind a body |
Skybox — skybox/eso_milkyway.jpg is the ESO GigaGalaxy / Milky Way panorama that spacekit.js ships as SkyboxPresets.ESO_GIGAGALAXY. It is the "Milky Way background" the orrery enables. Copyright ESO / spacekit.js (MIT, reproduced above); used here under that licence and resolved locally.
Planet and Sun surface maps — planets/mercurymap.jpg, venusmap.jpg, earthmap1k.jpg, mars_1k_color.jpg, jupitermap.jpg, saturnmap.jpg, sunmap.jpg, uranusmap.jpg, neptunemap.jpg. These are 1–2k NASA/JPL imagery (public domain under NASA's and JPL's image-use policies) collected for the open-source *Solar System Simulation (Three.js)* by Christiaan Viviers (https://github.com/cviviers/solar_sim_threejs, credit "Textures © NASA/JPL"). They are vendored here, named as the runtime requests them, so the orrery reads as a real solar system with no network request. The set is complete for the Sun and the eight planets; only files the scene actually uses are committed.
Refreshing this snapshot
The cutouts are a one-off snapshot, not a live feed, and re-running the fetch replaces them wholesale. Record the refresh date and any change in coverage in the commit message; the index's updated field mirrors it.