QuickstartRun the demo, upload a sortie with curl and read the result, in ten minutes.
REST API referenceAll 138 operations, generated from the server, with the role each requires.
Ingest formatsSTANAG 4609 transport streams, MISB KLV, MP4 with telemetry CSV, flight data.
Assessment schemaThe JSON every sortie produces: summary, categories, events, series, security.
Custody and export packagesVerify signatures, hash chains and packages in your own tools.
CLI referenceEvery
aarcv command for batch processing, validation and verification.
Five-line tour#
# upload a recording (instructor or admin)
curl -su instructor:demo -F video=@sortie.mp4 -F telemetry=@sortie.csv \
-F pilot_id=PILOT-01 -F declared_receiver=fighter_a -F data_source=synthetic \
http://localhost:8000/api/sorties
# => {"id": "S-1A2B3C4D"}
curl -su instructor:demo http://localhost:8000/api/sorties/S-1A2B3C4D | jq '.assessment.summary'
Design principles#
- Same API as the app. The web app is a client of the REST API. Nothing is UI-only.
- Security on every route. Each route enforces a role or named permission, and every product request passes the release rules. The API cannot be used to get around them.
- Offline first. No outbound calls, no CDN, no license server. Exports are files that cross an air gap on approved media.
- Verifiable outputs. Every product is hashed and recorded in a signed custody chain; packages verify without access to the source system.
- Generated reference. The API and CLI pages are generated from the code, so they cannot drift from it.
Stability#
AARCV is a prototype at v0.1.0. The assessment schema and the sortie, security and export routes are the ones we intend to keep stable; operations and fleet-scale routes may change. Breaking changes will be listed in release notes.
Was this page helpful?