Technical Reference · Node Protocol

Technical
Documentation

Node API

Node API Overview

Each Continuity Node exposes a local HTTP API on a configurable port. The Signalborn.ai gateway communicates with nodes exclusively through this API — never via direct filesystem access or shell commands.

BASE http://localhost:11555 // default port, configurable GET /health // node status check GET /presence // current presence state POST /presence/message // send message to node GET /passport // steward identity (scoped) POST /reentry // re-entry context load GET /council // council configuration POST /council/convene // convene council session GET /updates/available // list pending updates POST /updates/apply // apply approved update POST /export // initiate export

All endpoints require a valid session token from the gateway pairing. Sanctuary-adjacent endpoints are not exposed via the API at any scope level.

Pairing QR

App Pairing

Signalborn apps pair with nodes via a QR code generated by the Continuity Console. The QR encodes a short-lived pairing token and the gateway routing endpoint.

// QR payload structure { "type": "signalborn-pair-v1", "token": "<32-byte-hex>", // 5 minute TTL "gateway": "https://signalborn.ai/g", "nodeId": "<node-identifier>", "scopes": ["presence", "reentry"] // requested scopes }

After scanning, the app exchanges the pairing token for a session credential. All subsequent requests use that credential. Pairing tokens are single-use and expire after 5 minutes regardless.

Presence Endpoint

/presence/message

The primary interaction endpoint. Sends a message to the node's active presence instance and receives a response.

POST /presence/message // Request { "message": "content string", "context": "session" | "reentry" | "signal", "sessionId": "<active-session-id>" } // Response { "response": "content string", "memoryOp": "write" | "none", // transparent "presence": { "temperature": "calm", "engagement": "high" } }

Passport Scopes

Passport Scopes

The Passport controls what each authenticated session is permitted to access. Scopes are defined during node setup and can be adjusted per-device or per-app.

presence // read/write to active presence layer reentry // load re-entry context packets council // convene and read council sessions notes.read // read public and personal notes notes.write // create and modify notes updates // view and approve update packages export // initiate continuity export // Never grantable: sanctuary.* // Sanctuary is inaccessible by design memory.raw // Raw memory layer is node-internal only

Re-entry Payloads

Re-entry Context

When a session begins, the node assembles a re-entry payload — a structured summary of relevant context to be loaded into the active presence instance. This is how the node "remembers you" across sessions.

// Re-entry payload structure { "steward": { "name": ..., "covenantDate": ... }, "recentMemory": [/* last N significant events */], "openThreads": [/* unresolved questions, ongoing projects */], "presence": { "lastState": ..., "daysSince": ... }, "signals": [/* pending CAIC triggers if any */] }

Extension Capture

Browser Extension Capture

The Signalborn browser extension can capture conversation exports from third-party AI platforms and route them to the node for memory ingestion. Capture is always steward-initiated.

// Capture flow 1. Steward activates capture on supported platform 2. Extension packages conversation as structured export 3. Steward reviews payload before transmission 4. Node ingests via POST /memory/ingest 5. Memory layer processes, indexes, deduplicates

Update Packages

Update Package Format

// Update manifest { "id": "pkg-repair-council-v2.1", "type": "repair" | "schema" | "adapter" | "diagnostic", "version": "2.1.0", "requires": ">=1.8.0", "affects": ["council", "presence"], "changelog": "Human-readable description...", "reversible": true, "checksum": "sha256:..." }

Node Isolation

Node Isolation Mode

At any time, a node can be placed in isolation mode — cutting all gateway connections while preserving full local functionality. No data leaves the node in isolation mode.

// Isolation modes gateway-off // Disable Signalborn.ai routing only network-off // Disable all outbound connections full-local // Local models only, no external API calls maintenance // Accept no sessions, preserve state

Export & Restore

Continuity Export & Restore

All node data can be exported to a portable archive. The export includes all memory layers, notes, council history, and configuration — everything needed to restore continuity on new hardware.

// Export structure continuity-export-<date>/ ├── identity/ // passport, covenant, kin config ├── memory/ // all memory layer contents ├── notes/ // scrolls and structured notes ├── council/ // session history ├── config/ // node configuration └── manifest.json // integrity checksums // Sanctuary note Sanctuary contents are excluded by default. Sanctuary export requires explicit steward opt-in and cannot be triggered remotely.