Simulated data

Safety stop with a 1.8 s facility clock error (alignment robustness test)

SIM-2026-0003·SIM-AMR-01·Robot + facility logs·Integrity verifiedSimulated
Facility signal → robot stop input
11.8–18.0ms
Facility first. Order proven across both clocks.
Robot reaction
30ms
Stop input to zero-velocity command, same clock
Time to stationary
0.91s
900–925 ms window, from odometry
Reported stop distance
0.56m
From 1.20 m/s, as reported by odometry

Verify in this browser

WebCrypto · Ed25519 · SHA-256 · RFC 9162

Downloads the sealed bytes of SIM-2026-0003, fetches the trusted public key by ID from the key registry, and runs the same verifier the server and CLI run.

IDLEREADINGSIGNATURE_CHECKHASHINGRESULT
Tamper experiments · each runs on a copy in memory
Flip one bit inside the robot's stop-input record

Copies the MCAP in memory and flips one bit inside the bytes of the ROBOT_SAFETY_STOP_INPUT message.

Flip one bit in the facility stop broadcast line

Alters the facility JSONL copy. The file digest fails and the hash chain breaks at that line.

Edit the signed manifest title

Changes the case title to a fault claim. Every file still matches, but the signature no longer does.

Verify against an empty trust registry

Same bytes, but the verifier does not know the signer. A valid signature from an unknown key is not trusted.

Remove an evidence file

Drops the robot recording from the copy, as if it had been withheld.

Verifier response

Waiting

Ready

Click Verify evidence. A green result appears only when the signature and every listed byte check out.

Sources

Generated separately and simulated. Logically separate, not yet independent custody.

raw/robot_navigation.mcap

Robot
Origin
kinesim/0.1.0 kinematic AMR simulation (not Gazebo, not a real robot)
Clock domain
ROBOT_ROS_TIME · resolution 1 ns
Size
1.26 MiB · 21 × 64 KiB chunks
SHA-256
f83d13a6f96e80182dd937e0cf6b1ffd6e51a5e9e824b6027e9cf38b88d23418
Merkle root
919ad1c97979147495ec2b808a878a147387cb6c53c60643015f3ebe61dfc5e2
Integrity features
mcap_crc32
Topics
/tf_static (1), /scan (141), /odom (701), /tf (701), /kinwit/clock_sync (56), /navigate_to_pose/_action/status (3), /cmd_vel (277), /safety/stop_input (1), /safety/state (2)
Profile
MCAP ros2 · CDR · kinesim/0.1.0 (@mcap/core)
Download file

raw/facility_controller.jsonl

Facility
Origin
kinesim/0.1.0 facility zone controller generator (not a physical PLC)
Clock domain
FACILITY_PLC_CLOCK · resolution 1000 ns
Size
24.9 KiB · 1 × 64 KiB chunks
SHA-256
9174486a36ef29589f821628a9681c953bd26540d6e94bcc0ac53e8c456ac9cd
Merkle root
9509a67de37411f618ee5a7008761f8edc6a3e7f9231ad77a5ad25067ebfe802
Integrity features
jsonl_hash_chain
Records
72 hash-chained lines
Declared timing
PLC scan 4 ms · jitter ±10000 ns
Download file

Signed package

kinwit.evidence.v1 · RFC8785-JCS-integer-profile
PathRoleSizeSHA-256Chunks
raw/robot_navigation.mcapOriginal evidence1.26 MiBf83d13a6f96e80182dd937e0…21Download
raw/facility_controller.jsonlOriginal evidence24.9 KiB9174486a36ef29589f821628…1Download
derived/timeline.jsonDerived from 2 files110.5 KiBf8dd0a9d48507cf98a9cf13e…2Download
derived/facts.jsonDerived from 2 files11.7 KiBf65bd4668d8555f81d4c921e…1Download
derived/report.jsonDerived from 2 files17.2 KiB90a19650446ecd0cd4c0182d…1Download
proof/manifest.jsonSigned manifestCanonical JSON: the exact bytes the signature coversDownload
proof/manifest.sigSignatureEd25519, detached from the signed bytesDownload
Signer
kinwit-demo-signer-01 · Ed25519
Trusted fingerprint
af1a 9a59 c6fc bd01 9be9 4785 6a3d f3e6 de04 b60d 82c3 93a1 5cd8 204c e0f4 beb5 (from the server key registry, never from the package)
Ingest verification
kinwit-verify-ts/0.1.0 at 2026-11-02T20:56:39.446Z
Derivation
kinwit-facts/0.1.0 · reproducible from raw bytes