Aarloven

Use case · a robot vacuum for an office in Oslo

Test the robot on your floor. Keep the map to yourself.

A robot vacuum maps the office it cleans. This is how a buyer in Oslo tests one before accepting it, without the floor map ever reaching the robot maker. The office, the robot and every number here are synthetic.

  1. 1 Your office, Oslo

    The robot cleans and maps

    It drives itself on your real floor, on a test Wi-Fi you control.

    map: with you

  2. 2 Your laptop

    You lock the recording

    The sealer checks the sealed room first, then locks the files so only that room can open them.

    map: locked

  3. 3 Sealed room, Stockholm

    The tests run inside

    No disk and no login. It opens the files in memory, runs the agreed tests, then wipes them.

    map: in memory, then wiped

  4. 4 You and the robot maker

    Both get one receipt

    Pass or fail for each agreed test, signed. Your IT team can check the signature offline.

    map: not on it

The robot maker sends its firmware into the room (step 3) and gets the receipt (step 4). It never gets your map, your recording or a key to them.

What buyers ask before the first run.

The robot has arrived. How do we test it?

Put it on a test Wi-Fi network you control, lay 12 marked test patches of grit on the floor, and press start. The robot maps the office and cleans it, in about an hour. That run is the recording the tests use.

Does it run on its own, in a sandbox?

The robot drives itself on your real floor. A vacuum has to touch the real floor, so that part is not simulated.

Two things are sandboxed. Its network: the test Wi-Fi records every connection and refuses any place not on the agreed list. And its software: in the sealed room, the robot maker's firmware runs again on your recording and on simulated versions of your floor, with no network at all.

Do we scan our floor first?

Yes, and you need no separate scanner: the robot's first run is the scan. Do it with one pilot unit before the rest of the order ships. The same locked scan is then reused for every firmware update, with no new run on your floor.

Who sees our floor plan?

You, and the sealed room while it runs. Not the robot maker, not Aarloven, not AWS. Aarloven keeps fingerprints of the files, never the files. The full table

Day one · your office · firmware 4.2.1

Day one, the robot maps your office.

A robot vacuum knows little: where it is, which way it faces, what its sensors hear. Its lidar draws your floor plan as it drives, and that plan is the file to protect. Play the run.

Your floor, as the robot records it

10 cm cells · 28 × 16 m

Cleaned so far

0%of 0 m² it can reach
agreed: ≥ 95 %
Heading
0°
Drift
0.00°/min
Room
Reception
Dirt detected
0
Test patches
0 of 12
Bumps · stuck
0 · 0
Wi-Fi
0 connections

The recording, live

Rotation drift, each minute

How far the gyro's heading wanders from the lidar's, in degrees a minute. Agreed limit: 2.0.

Floor cleaned over the run

Share of the floor the robot can reach, cleaned so far.

What the robot recorded in this run

StreamWhat it holdsRateThis runSensitive because

Camera frames are not part of the recording: the robot's camera turns them into labels such as “cable” or “chair leg” on the robot, and only the labels are recorded. The rates are this illustration's; a real robot records lidar 5 to 10 times a second.

Your laptop · working today

You lock the map before it leaves your laptop.

Left, the map file as it sits on your laptop. Right, the same file locked. Outside the sealed room, nobody ever holds more than the right-hand picture. Both are made in this page, from the run above.

map.pgm, open. The usual robot map format: white is floor, black is a wall, grey is unknown. Anyone holding this file sees your office.
The same bytes, locked. Locked with AES-256-GCM in this page, under a throwaway key.

A new key gives new noise. The fingerprint of your file stays the same, and that fingerprint is what goes on the receipt.

The package

FileSizeFingerprint (SHA-256 of the open file)
  1. The sealer checks the room. It asks the room for a document signed by AWS's hardware, and checks that the room runs the exact code named in your contract, and that the answer is fresh.
  2. It locks the package. The file key is itself locked by AWS KMS under a rule that releases it only to that measured room code. The robot maker, Aarloven and AWS staff cannot open it.
  3. You keep it. The locked package stays with you. To test a firmware update later, you send the same package again; the room checks its fingerprint against the first receipt.

Sealed room · Stockholm · next, with design partners

The tests run where nobody can look in.

The robot maker's firmware runs again on your recording, then on likely changes to your office written by an offline model. Code checks every result against the agreed limits.

Firmware under test

    Likely changes to your floor, written by the offline model

    what the variant changescleaned in the simulationfloor left uncleaneddirt placed

    The simulator must match your run before its variants count

    Floor cleaned over time: your recording, and the simulator driving the same firmware on your scanned floor.

    your recordingsimulator, same firmware, same floor

    Simulator trusted for this floor

    If the simulator could not reproduce your real run within these limits, the variants would not be scored, and the receipt would say so.

    Quality · firmware 4.2.1

    Tested on your real floor, and on twelve likely changes.

    Each criterion is scored on your real run and on every variant. It passes only if all of them pass. You and the robot maker agreed the limits before delivery.

    CriterionYour runYour run and the 12 variantsDecided by code

    your runa varianta variant that failsthe agreed limitHover a dot for its value.

    What the offline model does, and what it may not do

    It doesIt may notHow that is held
    Reads your scanned map, room names and your notes, then writes variants: chairs on a Monday, gravel in January, a rug you plan to buyChange what was measured on your floorYour run's scores come from your recording only. Variants are scored in a separate column
    Writes each variant as a short, typed proposalInvent rooms, stairs or walls that are not on your mapA gate checks every proposal against the map before it runs. In this case it refused 2 of 14
    Reads the results and writes flags for a person, in plain wordsDecide pass or failEvery verdict is a number compared with an agreed limit, by code. The receipt marks what a machine checked and what a person did
    Runs on the room's own processorsReach the internet, or keep anything after the runThe room has no network connection except to AWS KMS, and no disk. Its weights fingerprint and seed are printed on the receipt, so the same input gives the same variants again

    One signed receipt, the same for both sides.

    What the receipt says about your floor

    • Its area and its fingerprint
    • Counts and scores, never coordinates
    • The model's flags, written without positions

    What it never holds

    • The map, the path or the lidar scans
    • Camera frames, which never left the robot

    Who can see your floor plan.

    A floor map and camera images can show how a building is laid out and who is in it. Here is every copy, and who can open it.

    The dataYouRobot makerAarlovenAWSSealed room

    Nothing in this case goes to the robot maker except the receipt, so your floor never leaves the EEA. The room runs in AWS's Stockholm region. Norway's data protection authority, Datatilsynet, names strong encryption, with keys the foreign party cannot reach, as the central safeguard when data does cross a border: its guidance.

    Test before you accept, and before every update.

    Before the order ships

    Recommended. The fleet waits for one receipt.

    1. Week 0One pilot unit, or the maker's demo unit, arrives
    2. Day 1First run on your test Wi-Fi; you lock the recording
    3. Day 1The room tests your floor and the variants
    4. PassThe rest of the order ships, or the payment milestone is released

    On delivery

    When the whole order is already in your building.

    1. Day 0The fleet arrives; the units stay on the test Wi-Fi
    2. Day 1Unit 1 makes the first run; you lock it
    3. Day 1The room tests your floor and the variants
    4. PassAll units go live on your normal network

    Every update

    No new scan: the room reuses your locked floor.

    1. NoticeThe maker announces firmware 4.3.0; the fleet holds
    2. Day 1One unit updates on the test Wi-Fi and runs once
    3. Day 1The room tests 4.3.0 on your locked floor and the variants
    4. Pass or holdPass: the fleet updates. Fail: the update stays held, and the maker gets the receipt

    What works today, and what we build next.

    Working in the prototype

    • The sealed room runs in Stockholm (AWS Nitro Enclave, EU)
    • The key is released only to the room's measured code (AWS KMS)
    • You lock samples with a sealer you run yourself
    • The sealer checks the room before locking
    • A changed package is refused
    • Tests are decided by code
    • The receipt is signed in the room and checkable offline
    • A test room has run on a public robot dataset (17 Oct 2026)

    This page is an illustration. The office, the robot, the firmware versions, the recording, the model's text and every number are synthetic, made in your browser from a fixed seed, so they are the same on every visit. The locking (AES-256-GCM) and the fingerprints (SHA-256) are real computations on that synthetic data.

    Next · Try itRun a real case in the sealed room.