Sovereign surveillance // Edge-deployed

The system that learns an operator's craft — and takes it over.

MIMIR is a decision layer for sensor-based area surveillance and counter-UAS. It reads the sensor picture, reasons about what is in it, and presents ranked alarms — each carrying its evidence, its provenance, and a recommended action. The operator decides. Then it learns from it.

Offline Air-gapped No cloud No foreign dependency

Live tests // Älvdalen, 16–18 September 2026

FMV Battleweek results

Three days live on a real sensor tower: FPV drones, ground vehicles and a Shahed-type fixed-wing drone. MIMIR recorded the whole flight and read the drone's zig-zag from sound before any camera saw it.

14.9hours live
1 341alerts
444operator decisions
13 222pictures analysed

All numbers from MIMIR's own logs · Hosted by FMV Test & Evaluation

◆ Situation // Europe, 2026 More sensors than operators

Sensors scale.
Judgement doesn't.

A surveillance installation produces more contacts per hour than a watch team can adjudicate. The constraint is not the number of cameras — it is the number of people who are good at looking at them. That expertise is tacit, expensive to build, and it walks out the door when an operator rotates. Nothing in a conventional system captures it.

And the obvious fix — automate with a pre-trained model — collides with the requirement European buyers now write into every specification: prove what it learned, and from whom.

A watch floor at night: one operator before a wall of surveillance displays
Watch floor

Everyone else logs footage.
MIMIR harvests judgement.

Conventional system MIMIR
Records what the sensor saw Records what the expert decided, joined to what the machine predicted
Automation is a black-box promise Autonomy is earned per decision class, against a published agreement statistic
Expertise leaves with the operator Expertise compounds into a corpus the customer owns
"The operator checks the alarms" Needs measurably less checking over time — and can show the arithmetic
◆ Console // Shipped software Real screens, not mockups

An apprentice, not another alarm queue.

Every alarm answers five questions, in order — what, where, when, how serious, what action. And every consumed label, assessment, decision and retraction lands in a SHA-256 hash chain that the console re-verifies in the operator's own browser, on screen.

Operator console // Live capture Night → graph → day → NVG · the picture announces itself simulated

Three actions per recommendation — approve, raise, reject — and each button face names the effect of this recommendation, not a generic verb. Escalation always confirms. Undo is real: retracting reopens the recommendation and appends a retraction to the log. Nothing is erased.

Display
Day / Night / NVG monochrome green
Density
Normal / Gloved-hand
Languages
Swedish first · English
Surfaces
Seven — a hard limit, so training is short
◆ Memory // What the machine recalls One local store, on the edge box

Memory with a half-life.

MIMIR keeps a persistent memory on the edge box: every contact, assessment and decision indexed three ways — by keyword, by meaning, and by association across a typed context graph. Retrieval runs all three in parallel, merges the rankings, and hands the model only the strongest context. Memory improves what the machine is given to reason with. Nothing more.

Retrieval
Keyword · semantic · graph activation — three retrievers in parallel, merged by reciprocal rank
Reranking
The shortlist is re-scored on the box before it reaches the model
Context graph
Typed entities and relations. Associations strengthen with co-occurrence
Decay
Edge weights fade nightly — a 365-day half-life lets stale links forget themselves
The corpus
Kept separate from memory by design, so operator judgement is never pruned
Two identical pale concrete pedestals on an empty plaza — the memory store and the learning corpus, kept deliberately apart
Memory and corpus // Two stores, deliberately separate
◆ Apprenticeship // The learning loop Capture changes no model behaviour

The corpus is the product.

The alarm queue is the surface. Underneath it, every model prediction is joined to the operator's actual judgement — in a protected database, with full provenance. MIMIR watches a skilled operator adjudicate, measures how consistently they judge, and drafts rules from what it counted.

  1. 1

    Watch

    Every judgement is captured against what the machine predicted, in a corpus that is never pruned. Capture only — it changes no model behaviour.

  2. 2

    Measure

    Agent Krippendorff — named for the α statistic that measures whether coders agree — asks how consistently this operator judges this class of contact. The statistics are deterministic; only the narrative is generated.

  3. 3

    Propose

    Where behaviour is consistent, a rule is drafted from counted evidence and staged for review — never auto-applied. The rule comes from arithmetic, not a model's guess.

  4. 4

    Refuse

    It will propose filtering animals and objects. It will not draft a filter that hides a class of human contact — a hard-coded boundary in the source, because drafting a filter that hides people is not the system's call to make.

A watch-standing soldier's eyes above a camouflage scarf — the craft being learned
The craft being learned
◆ Handover // Five stages Statuses stated honestly

Autonomy is earned, not promised.

  1. 1

    Watch

    Every prediction joined to the operator's judgement in a protected corpus; second opinions captured.

    Shipped
  2. 2

    Measure

    Intra-operator consistency per class of contact. The profile is surfaced to the operator — their measure is theirs to see.

    Shipped
  3. 3

    Propose

    Rules drafted from counted behaviour, bounded to noise classes, staged for review.

    Shipped
  4. 4

    Calibrate

    Dual Krippendorff α — agreement within and between operators; confidence calibration.

    Designed, not built
  5. 5

    Handover

    A named class of judgement runs without a click — above an agreed threshold, reversible, audited.

    Not built. No such path exists in the code

The graduation criterion

A class of judgement becomes a candidate for handover when the machine agrees with expert operators as closely as those operators agree with each other. Human experts do not agree perfectly; that disagreement band is the honest bar, measurable per class of contact rather than asserted globally.

Autonomous in judgement. Never in action.

There is no weapons control and no autonomous outbound action: a structural invariant, enforced in the build system rather than by configuration. Relieving an operator of four hundred animal contacts a night is not replacing them at the trigger.

◆ Doctrine // Honesty, enforced in code It refuses rather than guesses

Built for the one who must prove everything.

Honesty is upstream of learning. A decision taken while looking at a fabricated range, a guessed position or a simulated contact believed to be real is a corrupted training example — you cannot learn a craft from observations of an expert responding to things that were not true.

No position from a null GNSS fix
Zero-zero is a real place in the Gulf of Guinea. Without a georeference, nothing is plotted, not even at a guess.
No fabricated range
Measured shows 412 m. Inferred shows ≈412 m. Never measured shows —.
No line across a gap
A track line is never drawn across a measurement gap: that would claim the contact was somewhere it was never observed.
Simulation announces itself
A simulated picture gets a top-of-stack banner. If any contact is simulated, the whole picture is treated as simulated.
Colour is never the only signal
Colour plus glyph plus text, always — a hard requirement once NVG mode removes hue.
Absence is stated
Empty states are specific: "No alarms — watch in progress." Never "No data."
Plan view: bearing rays and range rings, hostile contacts in red with ≈ inferred ranges, one bezel contact marked RNG — because its range was never measured
Plan view ≈ marks inferred · RNG — means not measured
◆ Deployment // Sovereign edge The corpus never leaves your hardware

One rugged edge computer.

MIMIR is not a sensor. It improves whatever sensors you already have, and it runs where they run: offline, air-gapped, no cloud, no foreign dependency. That is what makes learning from operational decisions legally tractable at all.

The MIMIR edge unit: a matte-black rugged compute box with recessed handles and a side vent grille
Edge unit // Industrial design concept
Hardware
NVIDIA Jetson AGX Thor
Network
None required for operation
Cloud
None. All inference is local
Install
Single container stack — one command
Rollback
Three commands. Decision history survives a downgrade
Shape
One box per watch position. Escalations shared across consoles
Top and underside of the edge unit, with the engraving: Designed in Gothenburg, Made in Sweden
Designed in Gothenburg // Made in Sweden
Macro of the unit's illuminated four-chevron glyph in a recessed well
Detail // Industrial design concept
◆ Interoperability // Standards-bound Sensor-agnostic by design

It speaks the standards you already field.

The picture arrives on a wire bound to STANAG 4774 / 4778 confidentiality labels, renders in MIL-STD-2525D and NATO APP-6D symbology, and leaves as Cursor-on-Target that ATAK, WinTAK and SitaWare read natively. Underneath: seven video backends behind one adapter interface, and a documented machine API generated from the code. MIMIR makes any perception feed adjudicable.

An uncrewed surface vessel cutting a wake through the Baltic archipelago
Baltic USV patrol
Uncrewed underwater vehicles at the waterline, seen from just below the surface
Underwater surveillance
A Baltic coastline at overcast dawn, one small uncrewed boat drawing a wake
Coastal approaches
An uncrewed ground vehicle on patrol in a misty Nordic pine forest
Uncrewed ground patrol
  • STANAG 4774 / 4778
  • MIL-STD-2525D · NATO APP-6D
  • MIL-STD-2525C
  • Cursor-on-Target → ATAK · WinTAK · SitaWare
  • OpenAPI — generated from the code
  • JSON · CSV · CoT export
◆ Proof // The engineering record

Built, not pitched.

68,690lines of production code
1,103automated tests
100CI-blocking reasoning evals
mypy --stricttype checking
3display modes, incl. NVG
2languages, Swedish first

Stated precisely, because credibility is the product

Capture is shipped and changes no model behaviour. Calibration and handover are designed and flagged, not built. No decision runs without a human click today. The corpus is accumulating; the handover has not begun.

Expertise is the scarcest input in defence surveillance.
MIMIR captures it, measures it, and scales it.

Request a briefing

Briefings under NDA · Live demonstration on real hardware