{"audit":{"audit_hash":"FC66F2D30EB8F246","case_id":"HERMES-20260515-2336","confidence_effect_sum":-0.17,"counts":{"eliminated":1,"flagged":4,"indeterminate":4,"no_data":4,"passed":6},"disclaimers":["This audit trail lists each rule Hermes evaluated, the data it used, and the outcome. It is not a judgement about the underlying phenomenon.","Hermes is an analysis and triage platform. Confidence scores describe how thoroughly a case has been checked against conventional explanations, not how likely a given interpretation is to be true.","Live satellite and aircraft snapshots reflect intake time, not the exact sighting moment. Historical backfill (TLE propagation, historical ADS-B) is a pending methodology upgrade.","Witness-reported kinematics (hovering, acceleration, instantaneous turns) are preserved verbatim but not treated as instrumented measurements."],"generated_at_utc":"2026-09-11T23:51:30.225836Z","methodology_version":"0.16.0","rules":[{"category":"weather","confidence_effect":0.0,"data_source":{"observed_at":"2026-05-15 23:36","ok":true,"provider":"Visual Crossing historical","station_or_grid":"nearest-grid"},"inputs":{"cloud_cover_pct":45.0},"methodology_version":"0.16.0","name":"Cloud cover ambiguous","plain_language":"Cloud cover was 45%. Partial cloud can either permit or prevent optical effects; treated as inconclusive.","references":[],"result":{"mixed":true},"rule_id":"WX-CLOUD-01","verdict":"indeterminate"},{"category":"weather","confidence_effect":0.05,"data_source":{"observed_at":"2026-05-15 23:36","ok":true,"provider":"Visual Crossing historical","station_or_grid":"nearest-grid"},"inputs":{"wind_mph":5.6},"methodology_version":"0.16.0","name":"Low wind eliminates buoyancy drift","plain_language":"Surface wind was 6 mph. Sky lanterns and free balloons drift visibly in wind above ~10 mph, so low wind makes buoyant-object explanations less persuasive unless the object was observed to drift.","references":[],"result":{"calm":true},"rule_id":"WX-WIND-01","verdict":"eliminated"},{"category":"aircraft","confidence_effect":-0.12,"data_source":{"note":"ADS-B here is a live snapshot at report intake, not historical playback. Historical ADS-B backfill is planned (see changelog 0.5.0).","ok":true,"provider":"ADS-B live snapshot (50 nm radius, current)"},"inputs":{"count":98,"radius_nm":50},"methodology_version":"0.16.0","name":"High local air traffic","plain_language":"98 aircraft were operating within 50 nm at report intake. Commercial or general-aviation traffic is a plausible candidate and should be cross-referenced with historical ADS-B for the exact time.","references":[],"result":{"aircraft_nearby":98,"sample":["EIN9PM@0.0ft","FFT1292@0.0ft","UAL395@0.0ft","N92DV@0.0ft","N29HT@7500.0ft","UAL1651@8075.0ft","UAL2207@9750.0ft","N65860@5950.0ft","EJA146@45000.0ft","SKW5861@0.0ft"]},"rule_id":"AC-DENSITY-01","verdict":"flagged"},{"category":"satellites","confidence_effect":0.0,"data_source":{"note":"Live snapshot at report intake, not historical propagation. TLE-based historical reconstruction is a planned upgrade.","ok":true,"provider":"N2YO /above endpoint (0-70 degrees elevation, 18 category)"},"inputs":{"elevation_band_deg":"0-70"},"methodology_version":"0.16.0","name":"Satellites in wide overhead cone","plain_language":"7 catalogued objects were in the wide overhead cone at intake time. Without the observer's look-direction and elevation, this is an availability count -- not an elimination. A TLE-based exact-line-of-sight check is planned.","references":[],"result":{"count":7,"notable_sample":["OSCAR 7","OSCAR 8","SAUDISAT 1B","CUBESAT XI-IV","ELEKTRO-L","WNISAT 1","TOMORROW-R2"]},"rule_id":"SAT-OVER-01","verdict":"indeterminate"},{"category":"satellites","confidence_effect":0.0,"data_source":{"note":"TLE age 3400.9h; catalog ?","ok":false,"provider":"CelesTrak GP (stations + visual) via sgp4"},"inputs":{"lat":40.0,"lon":-105.0,"reported_az_deg":0,"reported_el_deg":0.0,"tolerances":null,"utc":"2026-05-15T23:36:00"},"methodology_version":"0.16.0","name":"Satellite line of sight (TLE-propagated)","plain_language":"TLE cache stale (141.7 days old; max 7d)","references":[],"result":{"illumination":null,"match_count":null,"rule_hash":null,"satellites_above_horizon":null,"top_candidates":[]},"rule_id":"SAT-LOS-01","verdict":"no_data"},{"category":"celestial","confidence_effect":0.0,"data_source":{"computed_at_utc":null,"ok":false,"provider":"ephem (PyEphem) local computation"},"inputs":{"timezone":""},"methodology_version":"0.16.0","name":"Celestial computation availability","plain_language":"Celestial computation did not run (missing or invalid timezone/timestamp). Moon, planet, and twilight checks were skipped.","references":[],"result":{"ran":false},"rule_id":"CEL-AVAIL-00","verdict":"no_data"},{"category":"observation","confidence_effect":-0.05,"data_source":{"ok":true,"provider":"witness report"},"inputs":{"color":"white"},"methodology_version":"0.16.0","name":"Color signature: white","plain_language":"White lights match satellites, aircraft strobes, Venus, and Moon -- the broadest set of conventional candidates.","references":[],"result":{"matches_known_signature":true},"rule_id":"OBS-COLOR-01","verdict":"flagged"},{"category":"corroboration","confidence_effect":0.05,"data_source":{"note":"scanned 11 cases","ok":true,"provider":"Hermes native case store"},"inputs":{"lat":40.0,"lon":-105.0,"tolerances":{"radius_km":50.0,"window_min":30},"when_utc":"2026-05-15T23:36:00"},"methodology_version":"0.16.0","name":"Corroboration cluster (spatio-temporal)","plain_language":"No corroborating reports within 30 min and 50 km (scanned 11 cases).","references":[],"result":{"cluster_size":0,"matches":[],"nearest_km":null,"nearest_minutes":null,"rule_hash":"FECF0B60205385B5"},"rule_id":"CORR-01","verdict":"passed"},{"category":"geometry","confidence_effect":0.0,"data_source":{"ok":true,"provider":"trigonometric calc"},"inputs":{"elevation_angle_deg":0.0,"observer_elev_ft":0.0},"methodology_version":"0.16.0","name":"Apparent-altitude ladder","plain_language":"For the reported elevation angle, Hermes computed the apparent object altitude at several candidate distances. Without an independent distance estimate, any single point on this ladder is plausible -- but the ladder as a whole shows what conventional explanations the geometry admits.","references":[],"result":{"distance_vs_altitude_table":[{"altitude_ft":0,"distance_km":5},{"altitude_ft":0,"distance_km":10},{"altitude_ft":0,"distance_km":25},{"altitude_ft":0,"distance_km":50},{"altitude_ft":0,"distance_km":100}]},"rule_id":"GEO-DIST-01","verdict":"indeterminate"},{"category":"geometry","confidence_effect":-0.1,"data_source":{"ok":true,"provider":"witness report + Hermes case data"},"inputs":{"camera_calibrated":false,"corroborated":false,"exif_gps_present":false,"witness_geometry_present":false},"methodology_version":"0.16.0","name":"Witness standpoint geometry","plain_language":"Witness standpoint geometry is absent and no alternative anchor is present (no EXIF GPS, no corroborating witness, no calibrated camera). Confidence effect: -10%. The optional map step on the intake form can provide this anchor.","references":[],"result":{"excuses":{"camera_calibrated":false,"corroborated":false,"exif_gps":false},"geometry_present":false},"rule_id":"GEO-WITNESS-01","verdict":"flagged"},{"category":"provenance","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes media pipeline"},"inputs":{"provenance_present":true},"methodology_version":"0.16.0","name":"Provenance record present","plain_language":"Provenance record is present. SHA-256: 00fc7f9a0402e69b... File: image/jpeg, 0 KB. Non-null fields: 13. C2PA: absent.","references":[],"result":{"c2pa_present":false,"exif_gps_present":false,"file_size_bytes":156,"mime_type":"image/jpeg","non_null_fields":["ai_signals","bitrate_kbps","c2pa","codec","container","duration_seconds","exif","file_size_bytes","fingerprint","mime_type","reencode_signals","sha256","upload_timestamp"],"present":true,"sha256":"00fc7f9a0402e69b993da2e4658b6f97d61320c2d5f00ba86acd8a91f96982a9"},"rule_id":"PROV-01","verdict":"passed"},{"category":"fingerprint","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes fingerprint pipeline"},"inputs":{"fingerprint_present":true},"methodology_version":"0.16.0","name":"Fingerprint recorded","plain_language":"Perceptual fingerprint is partially computed \u2014 error: PIL open failed: cannot identify image file '/opt/hermes/media/HERMES-20260515-2336/original/00fc7f9a0402e69b993da2e4658b6f97d61320c2d5f00ba86acd8a91f96982a9.jpg'. Frames hashed: 0. Fingerprint version: 1.0.0.","references":[],"result":{"fingerprint_error":"PIL open failed: cannot identify image file '/opt/hermes/media/HERMES-20260515-2336/original/00fc7f9a0402e69b993da2e4658b6f97d61320c2d5f00ba86acd8a91f96982a9.jpg'","fingerprint_version":"1.0.0","frame_count":0,"is_video":false,"present":true},"rule_id":"FP-01","verdict":"indeterminate"},{"category":"exclusion","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes exclusion engine"},"inputs":{"exclusion_results_present":true},"methodology_version":"0.16.0","name":"Exclusion engine ran","plain_language":"Exclusion engine ran. Catalogs: astronomical, satellites. Errors: adsb, weather. Total candidate matches: 552. Location source: witness_area. Timestamp source: submitted.","references":[],"result":{"catalogs_errored":["adsb","weather"],"catalogs_queried":["astronomical","satellites"],"engine_version":"1.0.0","envelope_center":{"lat":40.0,"lon":-105.0},"fov_half_angle_deg":90,"location_source":"witness_area","ran":true,"timestamp_source":"submitted","total_matches":552},"rule_id":"EXC-01","verdict":"passed"},{"category":"exclusion","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes exclusion engine"},"inputs":{"total_matches":552},"methodology_version":"0.16.0","name":"Known-object candidate match","plain_language":"Exclusion engine found 552 candidate match(es) in external catalogs. Surfaces candidate matches from external catalogs (ADS-B, satellites, astronomical, weather context). Does not exclude \u2014 analyst review required to confirm or reject any specific candidate. The presence of a match does not invalidate a sighting; the absence does not validate it. Top candidate: satellites / STARLINK-1231: az 34\u00b0, el 8\u00b0, 1794 km, sunlit, 35.3\u00b0 from reported bearing; Starlink satellite \u2014 common visual false-positive as slow-moving train.","references":[],"result":{"best_explanation":{"catalog":"satellites","confidence_note":"az 34\u00b0, el 8\u00b0, 1794 km, sunlit, 35.3\u00b0 from reported bearing; Starlink satellite \u2014 common visual false-positive as slow-moving train","object":"STARLINK-1231"},"catalogs_summary":{"adsb":0,"astronomical":5,"satellites":547,"weather":0},"total_matches":552},"rule_id":"EXC-02","verdict":"flagged"},{"category":"ai_signals","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes AI-provenance pipeline"},"inputs":{"ai_signals_present":true},"methodology_version":"0.16.0","name":"AI-provenance signal panel ran","plain_language":"AI-provenance signal panel ran (v1.0.0). Signals with data: c2pa, codec_forensics, shadow_check. No signal claims a verdict on authenticity \u2014 each surfaces one independently-scored measurement for analyst review.","references":[],"result":{"panel_version":"1.0.0","ran":true,"signals_ran":["c2pa","codec_forensics","shadow_check"]},"rule_id":"AI-01","verdict":"passed"},{"category":"ai_signals","confidence_effect":0.0,"data_source":{"ok":true,"provider":"c2pa-python / Content Credentials"},"inputs":{"c2pa_present":false,"c2pa_valid":null},"methodology_version":"0.16.0","name":"C2PA result","plain_language":"No C2PA Content Credentials manifest found in this file. Most consumer devices do not yet sign with C2PA. Absence is not evidence of AI generation or tampering.","references":[],"result":{"manifest":null,"present":false,"valid":null},"rule_id":"AI-02","verdict":"no_data"},{"category":"ai_signals","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Hermes codec forensics (pure provenance)"},"inputs":{"provenance_codec_fields":["software_tag_suspicious","bitrate_suspicious","container_codec_mismatch","gop_anomaly","_forensics_version"]},"methodology_version":"0.16.0","name":"Codec forensics findings","plain_language":"Codec forensics found no suspicious sub-signals. All four codec sub-signals (software_tag_suspicious, bitrate_suspicious, container_codec_mismatch, gop_anomaly) returned false.","references":[],"result":{"detail":{},"forensics_version":"1.0.0","signals_fired":[]},"rule_id":"AI-03","verdict":"passed"},{"category":"ai_signals","confidence_effect":0.0,"data_source":{"ok":true,"provider":"Skyfield + DE421 ephemeris"},"inputs":{"location_source":"witness_area","timestamp_source":"submitted"},"methodology_version":"0.16.0","name":"Sun-shadow geometry available","plain_language":"Sun was at azimuth 272.73\u00b0 and elevation 27.21\u00b0 at the sighting location and time. Shadows in the frame should point away from azimuth 92.7\u00b0. Hermes computes where the sun was; the analyst confirms whether shadows in the frame agree. Automatic shadow detection is deferred to a future version.","references":[],"result":{"daytime":true,"expected_sun_azimuth_deg":272.73,"expected_sun_elevation_deg":27.21,"ran":true,"ran_reason":null,"sun_above_horizon":true,"timestamp_utc":"2026-05-15T23:36:25.721495Z"},"rule_id":"AI-04","verdict":"passed"},{"category":"ai_signals","confidence_effect":0.0,"data_source":{"ok":false,"provider":"Hermes PRNU pipeline (numpy/Pillow)"},"inputs":{"camera_prnu_available":false},"methodology_version":"0.16.0","name":"PRNU sensor-noise match","plain_language":"PRNU sensor-noise check did not run: no camera record. When this check runs, it compares the sensor noise fingerprint from this upload against the calibrated reference for the registered camera. Match threshold: \u2265 0.05.","references":[],"result":{"correlation":null,"match":null,"prnu_fingerprint_sha256":null,"ran":false,"ran_reason":"no camera record","threshold_correlation":0.05},"rule_id":"AI-05","verdict":"no_data"}]},"case_id":"HERMES-20260515-2336","evidence_score":{"anomalous_pct":41.5,"contributions":[{"applied_effect":0.0,"bucket":"weather","raw_effect":0.0,"reason":"informational","rule_id":"WX-CLOUD-01","verdict":"indeterminate"},{"applied_effect":0.05,"bucket":"weather","raw_effect":0.05,"reason":"full","rule_id":"WX-WIND-01","verdict":"eliminated"},{"applied_effect":-0.12,"bucket":"aircraft","raw_effect":-0.12,"reason":"full","rule_id":"AC-DENSITY-01","verdict":"flagged"},{"applied_effect":0.0,"bucket":"satellites","raw_effect":0.0,"reason":"informational","rule_id":"SAT-OVER-01","verdict":"indeterminate"},{"applied_effect":0.0,"bucket":"satellites","raw_effect":0.0,"reason":"informational","rule_id":"SAT-LOS-01","verdict":"no_data"},{"applied_effect":0.0,"bucket":"celestial","raw_effect":0.0,"reason":"informational","rule_id":"CEL-AVAIL-00","verdict":"no_data"},{"applied_effect":-0.05,"bucket":"observation","raw_effect":-0.05,"reason":"full","rule_id":"OBS-COLOR-01","verdict":"flagged"},{"applied_effect":0.05,"bucket":"corroboration","raw_effect":0.05,"reason":"full","rule_id":"CORR-01","verdict":"passed"},{"applied_effect":0.0,"bucket":"geometry","raw_effect":0.0,"reason":"informational","rule_id":"GEO-DIST-01","verdict":"indeterminate"},{"applied_effect":-0.1,"bucket":"geometry","raw_effect":-0.1,"reason":"full","rule_id":"GEO-WITNESS-01","verdict":"flagged"},{"applied_effect":0.0,"bucket":"provenance","raw_effect":0.0,"reason":"informational","rule_id":"PROV-01","verdict":"passed"},{"applied_effect":0.0,"bucket":"fingerprint","raw_effect":0.0,"reason":"informational","rule_id":"FP-01","verdict":"indeterminate"},{"applied_effect":0.0,"bucket":"exclusion","raw_effect":0.0,"reason":"informational","rule_id":"EXC-01","verdict":"passed"},{"applied_effect":0.0,"bucket":"exclusion","raw_effect":0.0,"reason":"informational","rule_id":"EXC-02","verdict":"flagged"},{"applied_effect":0.0,"bucket":"ai_signals","raw_effect":0.0,"reason":"informational:ai_signals","rule_id":"AI-01","verdict":"passed"},{"applied_effect":0.0,"bucket":"ai_signals","raw_effect":0.0,"reason":"informational:ai_signals","rule_id":"AI-02","verdict":"no_data"},{"applied_effect":0.0,"bucket":"ai_signals","raw_effect":0.0,"reason":"informational:ai_signals","rule_id":"AI-03","verdict":"passed"},{"applied_effect":0.0,"bucket":"ai_signals","raw_effect":0.0,"reason":"informational:ai_signals","rule_id":"AI-04","verdict":"passed"},{"applied_effect":0.0,"bucket":"ai_signals","raw_effect":0.0,"reason":"informational:ai_signals","rule_id":"AI-05","verdict":"no_data"}],"excluded":[],"narrative":"The Evidence Score is -0.17 (Leans-Mundane).  5 rule(s) contributed, with the net weight indicating that one or more conventional explanations remain plausible for this case.","qualifier":"Leans-Mundane","score":-0.17,"score_version":"0.14.0"}}
