HOW HERMES WORKS
A plain-language walk through the full analysis pipeline, from what you type in to what comes back.
The submission form, field by field
Every field on the intake form is there because it changes what Hermes can check. None of them are decorative.
| Field | Why it matters |
|---|---|
| City / Location + Lat/Lon | Location pins every other check: the weather lookup, the satellite pass list, the aircraft query, celestial positions. A sighting with no location can't be analyzed only archived. |
| Observer Elevation | Altitude changes apparent horizon and how celestial objects appear. Important for high-altitude observers. |
| Date, Time, Timezone | Exact moment lets Hermes resolve which satellites were overhead, the Moon phase, the position of bright planets, and the weather at that instant. |
| Duration | Separates plausible causes: an object that persists for 30 minutes rules out meteors; a 3-second flash rules out most aircraft. |
| Compass Bearing + Elevation Angle | Where you were looking, on two axes. Bearing is the compass direction (0=N, 90=E). Elevation is how high in the sky (0=horizon, 90=overhead). Together they let Hermes check whether the Moon, a bright planet, or a scheduled satellite pass was at that exact point in the sky at that exact time. |
| Color + Shape + Light Intensity + Light Character | Visual characteristics. Some colors carry specific elimination logic (orange often points to sky lanterns or aircraft navigation lights). Shape constrains propulsion hypotheses. |
| Behavior | How the object moved. Hovering, accelerating, silent, formation flight. Behavior is the single field most likely to shift the confidence grade, because many behaviors are incompatible with common conventional explanations. |
| Naked Eye / Camera / IR Illuminator | Equipment used. IR-only sightings have specific analysis paths (hot-pixel artifacts, aircraft IR beacons, bats). |
| Live Stream URL | If you were watching a public stream (YouTube Live, Twitch), Hermes embeds it in the case record for corroboration. |
| Description | The narrative. Not used for automated elimination; preserved verbatim for investigators and for future natural-language analysis. |
The analysis pipeline
When you submit, Hermes runs these steps in order. Each one either succeeds (and contributes evidence), fails gracefully (and is noted as unavailable), or produces an elimination (a conventional explanation that was ruled out) or a flag (a conventional explanation that was not ruled out and should be considered).
1. Weather lookup
Hermes queries Visual Crossing's historical weather API for the exact lat/lon and timestamp. It retrieves sky conditions, cloud cover, wind speed and direction, temperature, humidity, and visibility.
- If the sky was clear: elimination
"Clear sky: clouds not a factor" - If wind was low (< 5 mph): elimination
"Low wind: sky lanterns / free balloons unlikely" - Weather data is included verbatim in the case record so a reviewer can audit it.
2. Satellite cross-reference
Hermes pulls the current two-line-element (TLE) catalog from CelesTrak and computes which satellites were above the local horizon at the sighting's timestamp, using the Skyfield library for orbital propagation. Objects known to be frequently misidentified (Starlink trains, the ISS, tumbling rocket bodies, large reflective payloads) are flagged specifically.
- The full list of satellites in view is stored in the case record.
- Notable objects (Starlink, ISS, named bright reflectors) are surfaced in the verdict.
- This is not a perfect match just because Starlink was overhead doesn't mean the witness saw Starlink. It's a candidate explanation the reviewer can weigh.
3. Aircraft cross-reference
For regions covered by ADS-B flight tracking, Hermes queries aircraft active within a 50-nautical-mile radius of the sighting location at the time of the report.
- If aircraft density is low: elimination
"Low aircraft density in 50nm radius" - If the witness reported hovering: elimination
"Hovering: eliminates most conventional fixed-wing aircraft" - If aircraft were present with matching behavior: flag
"Standard fixed-wing commercial aircraft"(not ruled out). - ADS-B has coverage gaps, especially at low altitude and over remote areas. Absence of ADS-B hits is not proof of absence of aircraft.
4. Celestial check
Hermes computes the Moon phase and the altitude/azimuth of the major bright planets (Venus, Jupiter, Mars, Saturn, Mercury) at the sighting time. It checks whether any of them was in the same region of the sky as the reported bearing and elevation angle.
- If the Moon was bright (> 50% illuminated) and the reported object was a stationary bright light: flag
"Bright Moon could explain stationary bright light reports" - If a bright planet (magnitude < 1) was at the reported bearing and elevation: flag
"Bright planet [name] at [altitude] known misidentification source" - Venus alone accounts for an estimated 15-20% of daytime "bright stationary object" reports in the historical literature. It is the single most common misidentification in the field.
5. Color-specific logic
Some colors carry immediate flags:
- Orange: flag
"sky lanterns / nav lights not yet eliminated"unless wind was also > 5mph and duration > 10 minutes - Red/green alternating: not a Hermes flag, but investigators should note this is the standard aircraft navigation light pattern.
6. Geometry calculation
Using the observer's elevation, the reported bearing, and the reported elevation angle, Hermes computes the approximate line-of-sight geometry: the direction the object was in, and the slant distance at which it would have needed to be to appear at that angular position given any assumed physical size. This doesn't produce an elimination but is included in the case record for investigators.
How the confidence grade is assigned
After all checks run, Hermes counts eliminations and flags and assigns one of four grades:
| Grade | Meaning | When assigned |
|---|---|---|
| LOW | Insufficient data | No eliminations AND no flags were produced. Usually means the report was missing bearing, elevation, or duration, so most checks couldn't run. |
| MEDIUM | Conventional explanation possible but unconfirmed | Flags produced >= eliminations produced. At least one conventional explanation remains plausible. |
| MEDIUM-HIGH | Anomalous characteristics noted | Eliminations > flags. Hermes was able to rule out more conventional explanations than it could leave open. |
| HIGH | Reserved for investigator-reviewed cases | Automated grading caps at MEDIUM-HIGH. Promotion to HIGH requires an investigator to attach corroborating evidence (independent witnesses, media with preserved metadata, instrument readings) and is not done by the algorithm. |
MEDIUM-HIGH is not a claim that the object was unusual. It is a claim that, with the information provided, common conventional explanations were ruled out during automated screening. Unusual objects are what remain after elimination; they are not what elimination proves.
What an "anomaly flag" represents
The research console's volume forecast reports an anomaly_flag alongside every regional query. That flag is raised when the most recent month's report count sits more than two standard deviations above the 36-month rolling mean for that region.
- A raised anomaly flag means report volume in a region is unusually high relative to recent history.
- It does not mean phenomena are more active. It means people are filing more reports.
- Known drivers of anomaly flags without phenomenon change: Starlink launches overhead, meteor shower peaks, viral news coverage, a local event bringing more observers outside at night.
The pipeline in one sentence
Hermes takes a structured observation, checks it against every conventional explanation we can automate, reports what we ruled out and what we didn't, and stores every input and output so the analysis can be audited, reproduced, and improved.
What we don't (yet) do
- We don't parse photos or video for motion analysis. Media is stored but not machine-analyzed yet.
- We don't cross-reference military exercise schedules, because those are not consistently public.
- We don't screen for balloon payloads unless launch data is filed. If you know of a good public balloon-tracking feed, let us know.
- We don't do drone-activity cross-referencing at scale, because FAA Remote ID data is not yet broadly queryable.
See the methodology changelog for what's been added recently and the researcher page for a full list of known limitations.