Satellite telemetry · AIT · operations

When the alarm goes off, Steriod knows why.

Steriod turns your specifications into checks your engineers approve, runs them on recorded or live telemetry, and explains every alarm with the channels, commands and requirements behind it. It sits on top of your EGSE, test benches or mission control, on your premises.

  • Fewer false alarms: one alarm per event, with the affected channels listed
  • Test evidence for every unit, traced to the requirement clause
  • AI drafts, your engineers approve, a deterministic engine decides pass or fail
Steriod dashboard: three propulsion rules fail; the system status traces all three to one fault, catalyst bed heater Branch A drawing 0 A while commanded on, with confidence 5 of 5 and the affected component named
Three propulsion rules fail on a live satellite stream. Steriod's investigation traces all three to one fault: the catalyst-bed heater draws 0 A while commanded on, so the hydrazine never decomposes. Affected component named, onset timed, confidence stated. (RSM-1 satellite simulator, injected fault.)
See it work

From specification to an explained alarm, in six screens.

Real screens from the product: an AOCS and power demonstration mission built from specification documents, and ESA's public Mission 1 archive (ESA Anomaly Dataset: ESA/ESOC, Airbus DS, KP Labs, CC-BY 4.0). Click any screenshot to enlarge it. Or watch the five-minute demo first: a live thruster failure caught, explained and fixed through YAMCS.

01 · READ

It reads the documents you already have.

Specifications, ICDs and the mission database become a map of your spacecraft: subsystems, components, signals and the rules that check them. No re-modelling of your system in our tool.

System overview: twelve subsystems (AOC, EPS, NAV, PRP, THM, TTC and others) with their components and signal and rule counts
02 · CHECK THE SPECS

It catches contradictions before you test against them.

Two documents give the same reaction-wheel temperature different limits. Steriod shows both clauses side by side; an engineer records the decision and a rationale. Every rule drafted afterwards cites that decision, and the auditor reads it.

Conflict card: requirements export says -20 to 70 °C, the reaction-wheel ICD says -20 to 65 °C; a decision with a required rationale is recorded
03 · APPROVE

AI drafts the checks. Your engineer signs them.

Each drafted rule sits next to the clause it came from, in a language a requirement owner can read. Approve, edit, or reject with a note that the next draft reads. Approval is a human-only action: no agent, tool or API can approve.

Pending approvals queue: requirement AOC-T-1 with its source clause above the drafted rule, and approve, edit and reject controls
04 · COVER

You see what is covered, what is not, and why.

48 documented requirements: 45 covered by a check, 3 gaps, 1 that cannot be verified from telemetry at all, and 1 open conflict between sources. Coverage you can show a review board, starting from 0 %.

Coverage page: 48 documented, 45 covered, 3 gaps, 1 not verifiable, 1 open conflict, 96 % coverage
05 · RUN

The approved checks run on recorded or live telemetry.

A deterministic engine evaluates every rule, with no AI in the path. Failures fold into episodes on the mission-time axis: 869 rule spans became 9 episodes on this stretch of ESA's archive.

Events timeline: rules and statistical models per row, failures grouped into nine episodes on a mission-time axis
06 · EXPLAIN

Every alarm explains itself.

How far past its threshold each detector went, when, on which channels, and which command sequences account for it. One click starts a root-cause investigation that cites only numbers the engine computed, and may answer "undetermined".

Episode detail: command links with confidence, a per-detector timeline, the score peaking at 34.9 times its threshold, and Start RCA and Acknowledge buttons
How it works

Nothing alarms before a human has approved it.

The AI reads, drafts and investigates. A deterministic engine executes. People decide.

01

Connect

Documents, mission database, recorded runs or a live feed. Read-only.

02

Draft & learn

Rules drafted from the documents; operating envelopes mined from your archive, without labels.

03

Approve

An engineer reviews each rule next to its source and arms it. Every change is audited.

04

Run

Same verdict on a laptop, the server and the embedded C runtime.

05

Explain & report

Episodes, investigations, coverage and per-run evidence your process can cite.

Built to be qualified

Auditable before it is clever.

Operators, primes and defence programmes need to know why a verdict was given, six months later, inside their own perimeter. That is the design brief.

Human-only approval

No agent, tool or API can approve a rule or silence an alarm. A person signs, and the audit trail records who and when.

No AI in the execution path

Pass and fail come from a deterministic engine. The LLM drafts, investigates and narrates; every number it cites was computed by the engine.

On-prem, air-gap ready

One node with Docker Compose and an offline bundle. Language models run on your hardware or a European cloud, your choice.

Read-only by design

Steriod consumes decoded parameters behind your mission control or EGSE. It never sends a command.

Reproducible

The same rules on the same recording give the same verdict, byte for byte, on every runtime.

Open to your tools

Every step is a REST endpoint, a command-line tool and an MCP tool for your scripts and agents. There is deliberately no "approve" tool.

What Steriod is not: a mission-control system, a checkout system, a packet decoder, flight software or onboard FDIR. It sits on top of yours.

Try the rule language now

Read a rule, run it, in your browser.

The compiler and runtime run in WebAssembly: no install, no account. Write a check, script a test scenario, and watch the signal timelines and verdicts side by side.

Open the Playground
aocs_pointing.axiom
// AOC-T-1, from the AOCS requirements export
rule $"pointing error within limit in imaging mode" is
WHEN attitude_mode = IMAGING FOR 8 seconds
THEN pointing_error_deg <= 0.020
rule evaluation · recorded run 14 pass · 2 fail
Six-week pilot, fixed scope

Bring one specification and one recording.

We install one node on your premises, import your documents and data, and hand you approved rules, evidence and reports in six weeks. They stay yours, whatever you decide. Or book a meeting with us at Space Tech Expo Europe in Bremen, 17–19 November 2026.

ping@steriod.ai