import type { Metadata } from 'next'; import Link from 'next/link'; import { ATTRIBUTION, DISCLAIMER, MISSION } from '@/components/meta/legal'; import { KeyValues, Prose } from '@/components/meta/prose'; import { Container, PageHeader, Section } from '@/components/ui/section'; import { AUTHOR, CONTACT_EMAIL, SITE_NAME, SITE_URL, routes } from '@/lib/site'; export const metadata: Metadata = { title: 'About SatelliteIndex', description: 'What SatelliteIndex is, who builds it, what it is not, and where the data comes from.', alternates: { canonical: `${SITE_URL}/about` }, openGraph: { title: 'About | SatelliteIndex', description: 'What SatelliteIndex is, who builds it and where the data comes from.', url: `${SITE_URL}/about` }, twitter: { card: 'summary', title: 'About | SatelliteIndex', description: 'What SatelliteIndex is, who builds it and where the data comes from.' }, }; export default function AboutPage() { return (

{SITE_NAME} keeps one canonical record per object in Earth orbit — payloads, rocket bodies, debris, stations — and links it to the entities around it: the constellation it belongs to, the operator and country responsible for it, the launch that put it there and the site it left from. Orbital element sets are appended, never overwritten, so every object carries its own history.

On top of that canonical layer sit derived views: live SGP4 positions, orbit classes, mission types, constellation growth, orbital density by altitude, reentry timelines and rankings. Each derived value is labelled as such and documented in a versioned methodology; each raw value keeps its provenance and is listed with its license on the sources page.

The whole thing is exposed through a public JSON API that the website itself consumes — there is no hidden dataset behind the pages.

  • Not a conjunction-assessment or collision-avoidance service. We publish orbital density as an informational count, never a probability of collision.
  • Not a reentry-prediction service. Decay dates come from the catalog after the fact; low-perigee watch lists are exactly that — watch lists.
  • Not authoritative on ownership or mission. Operator, country, mission type and constellation membership are resolved from owner codes, CelesTrak groups and documented name patterns, and can be wrong for individual objects.
  • Not real-time. Element sets are refreshed on a schedule and positions are propagated from them; freshness is shown on every page and on /status.

{DISCLAIMER}

{CONTACT_EMAIL} }, { k: 'Hosting', v: <>Self-hosted on MacLustr, a cluster of Apple silicon machines; public routes go through the MacLustr Tunnel. }, { k: 'Stack', v: 'Python 3.12 · FastAPI · PostgreSQL · Redis · python-sgp4 · Next.js · Tailwind' }, { k: 'Status', v: <>MVP. The API is free without keys for now (details). }, ]} />

{ATTRIBUTION}

Read the terms and privacy pages for the legal details; they are short.

); }