import type { Metadata } from 'next'; import Link from 'next/link'; import { KeyValues, Prose } from '@/components/meta/prose'; import { Container, PageHeader, Section } from '@/components/ui/section'; import { CONTACT_EMAIL, SITE_URL, routes } from '@/lib/site'; export const metadata: Metadata = { title: 'Privacy', description: 'SatelliteIndex has no accounts, no tracking cookies and no advertising. What little we store, listed plainly.', alternates: { canonical: `${SITE_URL}/privacy` }, openGraph: { title: 'Privacy | SatelliteIndex', description: 'No accounts, no tracking cookies, no advertising. What little we store, listed plainly.', url: `${SITE_URL}/privacy` }, twitter: { card: 'summary', title: 'Privacy | SatelliteIndex', description: 'No accounts, no tracking cookies, no advertising.' }, }; export default function PrivacyPage() { return (
None for visitors. The only cookie the site can set is si_admin, an httpOnly session cookie created when the operator signs in to the private admin console. It contains a hash, not the token, and expires after 12 hours. }, { k: 'Analytics', v: 'No third-party analytics or advertising scripts are loaded.' }, { k: 'Page-view counter', v: 'Anonymous. When you open a satellite, constellation, operator, country or launch page, the browser sends a beacon with only the entity id; the server increments a counter keyed by (day, entity type, entity id). No IP address, user agent, referrer or session is stored with it. It powers the “trending” list and nothing else.' }, { k: 'Server logs', v: 'The API writes request logs with a random request id, method, path, status and timing, used for debugging and abuse prevention. The client IP is used in memory for rate limiting and is not persisted with the page-view counter. Logs are rotated and are not shared.' }, { k: 'Search', v: 'Search queries are processed to return results and are not stored per user.' }, { k: 'Third parties', v: 'Fonts and scripts are served from this site. Data upstream (CelesTrak and other sources) is fetched by our servers, never by your browser.' }, { k: 'Location', v: 'Hosted in Canada (MacLustr). Public traffic terminates on a gateway in Beauharnois, Québec.' }, ]} />

The admin area under /admin is for the operator only. Signing in sets the si_admin cookie described above (httpOnly, SameSite=Lax, Secure in production). Signing out clears it. Admin actions (running a connector, resolving a duplicate) are recorded server-side for auditability; they are not linked to any visitor.

Because we do not hold personal data about visitors, there is nothing to export or delete. If you believe something on this site concerns you personally, or you have any question about this page, write to {CONTACT_EMAIL}.

See also the terms of use. This page will be updated if the practices above change; the last change is reflected in the site’s version history.

); }