{
  "slug": "spacex-conjunction-screening-format-is-two-paragraphs-and-a-screenshot",
  "title": "SpaceX gives away conjunction screening. The format under it is two paragraphs and a screenshot.",
  "date": "2026-10-18",
  "summary": "Starlink's space safety platform screens a submitted trajectory in under a minute, free, and accepts CCSDS orbit data messages on the way in. The format it falls back to by default, and the one its own public ephemerides use, is specified on page 20 of a US Space Force squadron handbook, by example and by a description of what a conversion script does.",
  "author": "Ido Yahalomi",
  "tags": [
    "providers",
    "ground-segment",
    "standards",
    "ccsds"
  ],
  "provenance": "documented",
  "words": 1818,
  "headings": [
    {
      "id": "what-is-actually-on-offer",
      "level": 2,
      "text": "What is actually on offer"
    },
    {
      "id": "the-format-under-it-is-a-squadron-handbook-page",
      "level": 2,
      "text": "The format under it is a squadron handbook page"
    },
    {
      "id": "three-places-the-documentation-disagrees-with-itself",
      "level": 2,
      "text": "Three places the documentation disagrees with itself"
    },
    {
      "id": "what-it-costs-to-adopt",
      "level": 2,
      "text": "What it costs to adopt"
    },
    {
      "id": "what-would-change-my-mind",
      "level": 2,
      "text": "What would change my mind"
    },
    {
      "id": "sources",
      "level": 2,
      "text": "Sources"
    }
  ],
  "html": "<p>SpaceX runs a conjunction screening service that is free to satellite operators and</p>\n<p>returns a result in under a minute. The file format it falls back to by default is</p>\n<p>specified in two paragraphs and a screenshot, on page 20 of a handbook published by a US</p>\n<p>Space Force squadron.</p>\n<p>That is not a complaint about SpaceX. It is the shape of the orbital data layer as it</p>\n<p>actually stands, and anybody planning to consume ephemeris at scale should know which</p>\n<p>of these documents is a standard and which is a description of a script.</p>\n<p>The immediate occasion is a push for reciprocity. The Register reported on 7 October 2026</p>\n<p>that Starlink encountered conjunctions with about 650 unique manoeuvring third-party</p>\n<p>satellites during 2026 and that only about half of those shared ephemeris, and that over</p>\n<p>six months it observed roughly 164,000 conjunctions where closest approach fell within</p>\n<p>four hours of an unannounced manoeuvre. Those figures are attributed to Starlink&apos;s own</p>\n<p>space safety update. That page is client-rendered and did not return readable content to</p>\n<p>this run, so the two numbers above are second-hand and BeamDesk has not verified them</p>\n<p>against the primary. Everything that follows was read first-party on 18 October 2026.</p>\n<h2 id=\"what-is-actually-on-offer\">What is actually on offer</h2>\n<p>The platform documentation at <code>docs.space-safety.starlink.com</code> describes, in its own</p>\n<p>words, low-latency conjunction screening against both user-submitted data and</p>\n<p>observations made by the Stargaze space situational awareness system, with results</p>\n<p>typically available less than a minute from trajectory submission. The overview page</p>\n<p>states that the platform is &quot;always free of charge to participating spacecraft</p>\n<p>operators&quot;, and immediately afterwards that &quot;Currently, use of the API is limited to</p>\n<p>satellite operators.&quot; Onboarding is a human process: the documentation gives an email</p>\n<p>address at SpaceX and nothing self-service.</p>\n<p>Separately, and with no key at all, Starlink publishes its own fleet&apos;s ephemerides. The</p>\n<p>README at <code>starlink.com/public-files/ephemerides/</code> gives the terms: Modified ITC format,</p>\n<p>carrying position and velocity covariance, 72 hours of prediction, refreshed every eight</p>\n<p>hours, with a <code>MANIFEST.txt</code> acting as the directory listing. For the file naming</p>\n<p>convention and the format itself, the README points at the Spaceflight Safety Handbook</p>\n<p>for Operators, version 1.7, on space-track.org.</p>\n<p>The platform&apos;s own collision avoidance article is worth reading for scale. It documents</p>\n<p>over a thousand avoidance manoeuvres a day, planned and executed without humans in the</p>\n<p>loop, with probability-of-collision criteria of 3e-7 for healthy satellites and 1e-6 for</p>\n<p>satellites in orbit transfer, and a miss distance box of 100 m radial by 1500 m</p>\n<p>along-track and cross-track in the RTN frame. All of these are documented figures from</p>\n<p>the operator, not measurements by anyone else.</p>\n<h2 id=\"the-format-under-it-is-a-squadron-handbook-page\">The format under it is a squadron handbook page</h2>\n<p>The trajectory upload accepts several formats and identifies them by sniffing the file</p>\n<p>header. A file beginning <code>CCSDS_OEM_VERS</code> is read as an Orbit Ephemeris Message. One</p>\n<p>beginning <code>CCSDS_OCM_VERS</code> is read as an Orbit Comprehensive Message. Both of those are</p>\n<p>defined in CCSDS 502.0-B-3, Orbit Data Messages, Blue Book, April 2023, whose cover was</p>\n<p>read first-party today. A file containing the string <code>JSpOC Format Ephemeris Report</code> gets</p>\n<p>one parser, a file with <code>time</code>, <code>pos.x</code> and <code>vel.x</code> headers gets another, and a file whose</p>\n<p>epochs start in the squadron day-of-year style gets a third. Anything that matches none of</p>\n<p>these is treated as Modified ITC. The standard format is the special case. The</p>\n<p>unstandardised one is the default.</p>\n<p>So it matters what Modified ITC is. The Spaceflight Safety Handbook for Satellite</p>\n<p>Operators, version 1.7, April 2023, published by the 18th and 19th Space Defense</p>\n<p>Squadrons at Vandenberg Space Force Base, defines it on page 20. The definition is one</p>\n<p>paragraph of prose, one figure, and one paragraph describing a program. The prose says</p>\n<p>the format is &quot;the only format that is required to contain both positional and velocity</p>\n<p>covariance data in addition to ephemeris data&quot;, that it carries four descriptive and</p>\n<p>header lines of which the fourth gives the orbital reference frame of the covariance,</p>\n<p>and that each point is one state vector line followed by three lines holding the</p>\n<p>twenty-one values of the 6x6 lower triangular covariance matrix.</p>\n<p>The figure is a screenshot of the file open in an emacs window. The remaining normative</p>\n<p>content is a description of what the tooling does with the bytes: the handbook says the</p>\n<p>preprocessing script &quot;reads the data lines in groups of four and separates the entries on</p>\n<p>each data line wherever one or more space&quot; characters are found. That is a specification</p>\n<p>in the sense that you could implement against it. It is not a grammar, it has no field</p>\n<p>widths, it states no units, and it is silent on the thing that bites first.</p>\n<p>The thing it is silent on is the frame of the state vector. Page 20 names a reference</p>\n<p>frame only for the covariance. It never says which frame the position and velocity are</p>\n<p>in. Starlink&apos;s API reference closes that hole by convention rather than by citation: an</p>\n<p>OEM upload may carry position and velocity in ITRF or EME2000, while a Modified ITC</p>\n<p>upload must be EME2000, with covariance in UVW, RTN, RSW, EME2000 or J2000. Note that</p>\n<p>list. UVW and RTN are the same frame under two names, and the handbook says so itself on</p>\n<p>the facing page. EME2000 and J2000 are, for this purpose, two more. A parser has to know</p>\n<p>that before it can be correct, and no document in this chain says it in a normative</p>\n<p>sentence.</p>\n<p>The contrast on the next page is the sharpest part. For the CCSDS format, the same</p>\n<p>handbook does not attempt a definition at all. It tells the reader to &quot;refer to please</p>\n<p>visit the Consultative Committee for Space Data Systems (CCSDS) website and reference the</p>\n<p>&apos;Orbit Data Messages&apos; Blue Book&quot;. That is exactly right, and it is what a standard is</p>\n<p>for. The handbook defines the format that has no owner and delegates the one that does.</p>\n<p>The case against making anything of this is real and should be stated. A format defined</p>\n<p>by an example is adequate when there is one producer, one consumer and a shared parser,</p>\n<p>and that was the situation when the handbook was written. The output that matters is the</p>\n<p>screening result, not the file. CCSDS conformance buys interoperability, and</p>\n<p>interoperability is only worth paying for when more than two parties need it. The reason</p>\n<p>to care now is that the number of parties went up. The publisher of the largest</p>\n<p>constellation in orbit is asking every other operator to feed the same pipe, which turns</p>\n<p>a bilateral convention into something closer to infrastructure.</p>\n<h2 id=\"three-places-the-documentation-disagrees-with-itself\">Three places the documentation disagrees with itself</h2>\n<p>Anyone implementing against this will hit all three. The tutorial page gives two upload</p>\n<p>types, definitive and hypothetical. The endpoint reference for <code>POST /v1/trajectory</code> gives</p>\n<p>three, adding <code>candidate</code>, and does not explain it. On covariance, the tutorial says</p>\n<p>covariance is recommended but not required, and that omitting it yields null collision</p>\n<p>probability values in the resulting conjunction data messages. The endpoint reference</p>\n<p>says the upload requires a minimum of six data points with accompanying covariance and</p>\n<p>that all position covariance must be non-zero. Those cannot both be true. On frames, the</p>\n<p>tutorial lists ITRF as preferred with EME2000 and ITRF2000 also accepted, while the</p>\n<p>endpoint reference splits the permitted frames by file format as described above.</p>\n<p>The rest of the envelope is consistent and worth writing down: at least six state vectors</p>\n<p>in the future, a span between 42 seconds and 21 days, velocity below 70 km/s, positions</p>\n<p>above the surface, UTC only with GPS time explicitly unsupported, and a file body under</p>\n<p>31,458,780 characters.</p>\n<h2 id=\"what-it-costs-to-adopt\">What it costs to adopt</h2>\n<p>Nothing in money, and that is the headline. The cost is in three other currencies.</p>\n<p>The first is eligibility. The documented gate is being a satellite operator, decided by a</p>\n<p>person at an email address. An operations or market layer that is not itself flying</p>\n<p>hardware has no documented route to a key. The public ephemeris mirror has no gate at</p>\n<p>all, so for the narrow job of knowing where those satellites are, the integration is one</p>\n<p>parser and a manifest.</p>\n<p>The second is disclosure. The platform documents that a definitive trajectory is inserted</p>\n<p>into the catalogue and visible to all users, where a hypothetical one is screened once</p>\n<p>and visible only to the submitter. That is a sensible design and it is the point of a</p>\n<p>sharing platform. It is also a decision: your planned trajectory becomes readable by</p>\n<p>every other participant, including the party operating the platform. The same</p>\n<p>documentation argues the case for that openly, telling operators that ephemeris &quot;should</p>\n<p>not be treated as proprietary information, it is critical for safe flight.&quot;</p>\n<p>The third is the parser. Modified ITC is not hard. It is ten lines of code and a</p>\n<p>reference frame you have to know by folklore. The question is whether you want that in</p>\n<p>your dependency graph with no issuing body to point at when it changes.</p>\n<p>For what it is worth on this side: BeamDesk&apos;s standards register pins CCSDS 502.0-B-3 for</p>\n<p>orbit data messages and CCSDS 508.0-B-1 for conjunction data messages, whose Blue Book</p>\n<p>cover reads June 2013 with updates through Technical Corrigendum 2 of October 2021, read</p>\n<p>first-party today. The console consumes orbit mean-elements messages in the JSON</p>\n<p>serialisation that CelesTrak and Space-Track publish, emits OEM, and in live mode reads</p>\n<p>public conjunction data messages from Space-Track. BeamDesk has no account on the</p>\n<p>platform described here, no relationship with SpaceX of any kind, and nothing in this</p>\n<p>article should be read as implying one. Every statement above about that platform comes</p>\n<p>from its own public pages, linked below.</p>\n<h2 id=\"what-would-change-my-mind\">What would change my mind</h2>\n<p>If SpaceX publishes a grammar for Modified ITC, with field widths, units and a normative</p>\n<p>statement of the state vector frame, the central complaint here evaporates and the format</p>\n<p>becomes as implementable as OEM. The same goes for a newer edition of the Spaceflight</p>\n<p>Safety Handbook that does the job; version 1.7 of April 2023 is the newest this run</p>\n<p>found, and a reader who can show a later one with a real specification should.</p>\n<p>If the platform&apos;s eligibility statement changes, or if the first-party Starlink pages that</p>\n<p>did not render to this fetch say something different from the documentation site, then the</p>\n<p>claim that the API is closed to non-operators is wrong and I will retract it rather than</p>\n<p>soften it. That claim rests on one sentence on one page.</p>\n<p>And if CCSDS, or any other body with a publication process, opens work to adopt or replace</p>\n<p>Modified ITC, that would settle the argument in the direction this article is pointing,</p>\n<p>and it would be the single most useful thing anyone reading this could tell me about.</p>\n<h2 id=\"sources\">Sources</h2>\n<ul>\n<li><a href=\"https://docs.space-safety.starlink.com/docs/\" rel=\"noreferrer noopener\">https://docs.space-safety.starlink.com/docs/</a></li>\n<li><a href=\"https://docs.space-safety.starlink.com/docs/tutorial-basics/trajectories/\" rel=\"noreferrer noopener\">https://docs.space-safety.starlink.com/docs/tutorial-basics/trajectories/</a></li>\n<li><a href=\"https://docs.space-safety.starlink.com/docs/api/upload-a-trajectory/\" rel=\"noreferrer noopener\">https://docs.space-safety.starlink.com/docs/api/upload-a-trajectory/</a></li>\n<li><a href=\"https://docs.space-safety.starlink.com/docs/space-safety-articles/starlink_cola_conops/\" rel=\"noreferrer noopener\">https://docs.space-safety.starlink.com/docs/space-safety-articles/starlink_cola_conops/</a></li>\n<li><a href=\"https://docs.space-safety.starlink.com/docs/space-safety-articles/best_practices\" rel=\"noreferrer noopener\">https://docs.space-safety.starlink.com/docs/space-safety-articles/best_practices</a></li>\n<li><a href=\"https://starlink.com/public-files/ephemerides/README.md\" rel=\"noreferrer noopener\">https://starlink.com/public-files/ephemerides/README.md</a></li>\n<li><a href=\"https://starlink.com/gb/updates/space-safety\" rel=\"noreferrer noopener\">https://starlink.com/gb/updates/space-safety</a></li>\n<li><a href=\"https://www.space-track.org/documents/SFS_Handbook_For_Operators_V1.7.pdf\" rel=\"noreferrer noopener\">https://www.space-track.org/documents/SFS_Handbook_For_Operators_V1.7.pdf</a></li>\n<li><a href=\"https://ccsds.org/Pubs/502x0b3e1.pdf\" rel=\"noreferrer noopener\">https://ccsds.org/Pubs/502x0b3e1.pdf</a></li>\n<li><a href=\"https://ccsds.org/Pubs/508x0b1e2c2.pdf\" rel=\"noreferrer noopener\">https://ccsds.org/Pubs/508x0b1e2c2.pdf</a></li>\n<li><a href=\"https://www.theregister.com/offbeat/2026/10/07/starlinks-plan-to-avoid-orbital-near-misses-ephemeris-sharing/5301650\" rel=\"noreferrer noopener\">https://www.theregister.com/offbeat/2026/10/07/starlinks-plan-to-avoid-orbital-near-misses-ephemeris-sharing/5301650</a></li>\n</ul>"
}