Skip to content

API reference

The ORP core is organized into focused modules. This page lists each module and its responsibility. Exact exported types and function signatures should be generated from the core/ sources; they are tracked as TODO in OPEN-QUESTIONS.md until the source is available to introspect.

Device identity keypairs and the identity-rotation primitives behind ORP-004.

Source: core/identity

Canonical JSON serialization used as the stable input to signing and sealing.

Source: core/canonical

Detached signatures over canonical JSON.

Source: core/sign

Sealed-box encryption (control a): payloads the board cannot open.

Source: core/sealedbox

ICE candidate handling and the ICE transport policy (control b).

Source: core/ice

The static inner message layer carried inside the sealed channel.

Source: core/messagelayer

JSON Schemas for the wire frames and message payloads.

Source: core/schemas

Wire frame encode/decode, including the frame_kind routing tag.

Source: core/wire

The KEY/offer/answer state machine and rendezvous orchestration.

Source: core/protocol

The delivery acknowledgement layer (SPEC §11).

Source: core/deliverylayer

Identity and state migration support, related to identity rotation.

Source: core/migration

Neighbor propagation between board nodes (ORP-006).

Source: core/propagation

The time source / clock abstraction used for ordering and expiry.

Source: core/clock

Source: the core/ module exports. TODO: generate exported symbols and signatures, and confirm file paths and line anchors, from the repository (see OPEN-QUESTIONS.md).