# Sensors & Spectrum

Component purpose, interfaces, evidence and verification.

# OpenRF

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenRF

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The radio registration, spectrum sensing, control and distributed RF processing capability for heterogeneous SDRs and radio utilities.

## Operational value

Provides one operational layer for registering radios, viewing spectrum, running utilities and publishing detections from edge nodes.

## Differentiators

Uses common SDR abstractions where practical, supports distributed edge processing, and connects RF observations to timing, semantics, tracks and tasking.

## Platform connections

- OpenPNT
- OpenSSA
- OpenTrack
- OpenAnalytics
- OpenCOP

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 224 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| path | `OPENRF.md` | `openrf` |
| path | `lib/openrf-controller/server.js` | `openrf` |
| path | `lib/openrf-controller/src/store.js` | `openrf` |
| path | `openrf/API.md` | `openrf` |
| path | `openrf/ARCHITECTURE.md` | `openrf` |
| content | `CHANGELOG.md` | `openrf` |
| content | `DEPLOY-GODADDY.md` | `openrf` |
| content | `OPENBUS.md` | `openrf` |
| content | `OPENCOP.md` | `openrf` |
| content | `OPENCYBERSEC-QUICKSTART.md` | `openrf` |
| path | `edge/openssa-sensor/reference/open-rf/app.js` | `open-rf` |
| path | `edge/openssa-sensor/reference/open-rf/index.html` | `open-rf` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

No component-specific WebSocket endpoint was associated by the scanner.

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `ADDRESS` | — | openrf/agent/functions/probe-n310.sh |
| `API_BASE` | — | open-rf/app.js, public/open-networks/app.js, public/open-rf/app.js |
| `BASE` | http://127.0.0.1:3000 | DEPLOY-GODADDY.md, OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, UPGRADE-v0.14.0.md |
| `BASE_PATH` | — | open-rf/app.js, public/open-rf/app.js, third_party/ontowiki/application/scripts/travis/install-services.sh |
| `BUILD` | — | edge/openpnt-linuxptp/SELF-TEST.sh, edge/openssa-sensor/install/install-native-uhd.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `BUILD_DIR` | $ENGINE/build | edge/openssa-sensor/install/install-native-uhd.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `CONFIG` | — | drivers/install_openpnt_agent.sh, edge/opencybersec/install.sh, edge/openssa-sensor/install/check-sensor.sh, edge/openssa-sensor/install/install-sensor.sh |
| `CORE_DIR` | — | openrf/agent/functions/start-5g-core.sh, openrf/agent/functions/status-5g-core.sh |
| `DATA_DIR` | path.join(ROOT | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, RELEASE-MANIFEST-v0.14.0.json, UPGRADE-v0.14.0.md |
| `ENGINE` | — | edge/openssa-sensor/install/install-native-uhd.sh |
| `EUID` | $(id -u | drivers/install_openpnt_agent.sh, edge/opencybersec/install.sh, edge/opencybersec/uninstall.sh, edge/openpnt-linuxptp/install-linuxptp.sh |
| `GNB` | — | openrf/agent/functions/start-5g-ran-b210-50mhz.sh, openrf/agent/functions/start-5g-ran-n78-n310.sh |
| `HERE` | — | edge/openpnt-linuxptp/SELF-TEST.sh, edge/openpnt-linuxptp/install-linuxptp.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `HOME` | /tmp | lib/openllm/pipeline-engine.js, openrf/agent/functions/start-5g-core.sh, openrf/agent/functions/status-5g-core.sh, third_party/ontowiki/.travis.yml |
| `HOST` | 0.0.0.0 | server.js, lib/openrf-controller/server.js |
| `OPENCYBERSEC_AGENT_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_OPERATOR_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENRF_5G_CORE_DIR` | $HOME/5g/magic-core | openrf/agent/functions/start-5g-core.sh, openrf/agent/functions/status-5g-core.sh |
| `OPENRF_AGENT_OFFLINE_SECONDS` | 70 | lib/openrf-controller/server.js |
| `OPENRF_AGENT_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `OPENRF_BASE_PATH` | /open-rf | lib/openrf-controller/server.js |
| `OPENRF_DATA_DIR` | path.join(DATA | server.js, lib/openrf-controller/server.js |
| `OPENRF_DISPATCH_LEASE_SECONDS` | 90 | lib/openrf-controller/server.js |
| `OPENRF_OPERATOR_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md, openrf/README-UPSTREAM-v0.3.0.md |
| `OPENRF_PYTHON` | /usr/bin/python3 | openrf/agent/src/openrf_agent/util.py |
| `OPENRF_RADIO_ADDRESS` | 192.168.20.2 | openrf/agent/functions/probe-n310.sh |
| `OPENRF_RADIO_ID` | N310-01 | openrf/agent/functions/start-5g-ran-n78-n310.sh |
| `OPENRF_READ_TOKEN` | — | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `PORT` | 3000 | server.js, edge/openssa-sensor/local_server.js, lib/openrf-controller/server.js |
| `PYTHONUNBUFFERED` | 1 | openrf/agent/systemd/openrf-agent.service |
| `ROOT` | — | edge/opencybersec/install.sh, edge/openpnt-linuxptp/SELF-TEST.sh, edge/openpnt-linuxptp/install-linuxptp.sh, edge/openssa-sensor/install-demo-sensor.sh |
| `RUN_GROUP` | — | openrf/agent/install.sh |
| `RUN_USER` | — | openrf/agent/install.sh |
| `SUDO_USER` | $USER | edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh, openrf/agent/install.sh |
| `UHD_INCLUDE_DIRS` | — | edge/openssa-sensor/native/uhd_spectrum_engine/CMakeLists.txt |
| `UHD_LIBRARIES` | — | edge/openssa-sensor/native/uhd_spectrum_engine/CMakeLists.txt |
| `USER` | — | edge/openssa-sensor/SENSOR_INSTALL.md, edge/openssa-sensor/install-demo-sensor.sh, edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh |

## Service candidates

| Service | ExecStart | Source |
| --- | --- | --- |
| openrf-agent.service | `/usr/local/bin/openrf-agent --config /etc/openrf/openrf-agent.json` | `openrf/agent/systemd/openrf-agent.service` |

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| ${req.headers.host | `http://${req.headers.host/` | `lib/openrf-controller/server.js` |
| controller-ip | `http://controller-ip:8075/open-rf/` | `openrf/README-UPSTREAM-v0.3.0.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `CHANGELOG.md` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->

# OpenSSA

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenSSA

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The spectrum situational-awareness view for live RF visualization, detections, registered sensors and geospatial correlation.

## Operational value

Converts raw edge RF data into a shared operational picture instead of forcing users to operate isolated laboratory tools.

## Differentiators

Combines high-rate edge processing with selective real-time transmission and ties spectrum observations to registered radio location and time.

## Platform connections

- OpenRF
- OpenPNT
- OpenCOP
- OpenTrack
- OpenAnalytics

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 107 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| path | `OPENSSA-DEMO-DEPLOYMENT.md` | `openssa` |
| path | `OPENSSA.md` | `openssa` |
| path | `UPGRADE-OPENSSA-v0.5.0.md` | `openssa` |
| path | `data/openssa.json` | `openssa` |
| path | `edge/openssa-sensor/API.md` | `openssa` |
| content | `CHANGELOG.md` | `openssa` |
| content | `DEPLOY-GODADDY.md` | `openssa` |
| content | `MERGE-v0.13.1.md` | `openssa` |
| content | `OPENCYBERSEC.md` | `openssa` |
| content | `OPENPNT.md` | `openssa` |
| path | `edge/openssa-sensor/public/open-ssa/app.js` | `open-ssa` |
| path | `edge/openssa-sensor/public/open-ssa/index.html` | `open-ssa` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

No component-specific WebSocket endpoint was associated by the scanner.

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `ALT` | — | edge/openssa-sensor/install-demo-sensor.sh |
| `BASE` | http://127.0.0.1:3000 | DEPLOY-GODADDY.md, OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, UPGRADE-v0.14.0.md |
| `BUILD` | — | edge/openpnt-linuxptp/SELF-TEST.sh, edge/openssa-sensor/install/install-native-uhd.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `BUILD_DIR` | $ENGINE/build | edge/openssa-sensor/install/install-native-uhd.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `CFG` | — | edge/openssa-sensor/install-demo-sensor.sh |
| `CONFIG` | — | drivers/install_openpnt_agent.sh, edge/opencybersec/install.sh, edge/openssa-sensor/install/check-sensor.sh, edge/openssa-sensor/install/install-sensor.sh |
| `DATA_DIR` | path.join(ROOT | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, RELEASE-MANIFEST-v0.14.0.json, UPGRADE-v0.14.0.md |
| `DRIVER` | — | edge/openssa-sensor/install-demo-sensor.sh, edge/openssa-sensor/install/check-sensor.sh, edge/openssa-sensor/install/install-ubuntu-deps.sh |
| `ENGINE` | — | edge/openssa-sensor/install/install-native-uhd.sh |
| `HERE` | — | edge/openpnt-linuxptp/SELF-TEST.sh, edge/openpnt-linuxptp/install-linuxptp.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build-simulation.sh, edge/openssa-sensor/native/uhd_spectrum_engine/build.sh |
| `LAT` | — | edge/openssa-sensor/install-demo-sensor.sh |
| `LON` | — | edge/openssa-sensor/install-demo-sensor.sh |
| `NATIVE_SOURCE` | — | edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh |
| `NODE_ID` | COMPILED_DEPLOYMENT.nodeId | server.js, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENBUS_API_TOKEN` | [REDACTED] | OPENKNOWLEDGE-OPENTASK.md, OPENLVC-DEMO.md, OPENLVC-RTI.md, demo_simulator.py |
| `OPENCYBERSEC_AGENT_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_OPERATOR_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENSSA_ACTIVE_TIMEOUT_S` | 900 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_EMITTER_HISTORY_LIMIT` | 2000 | edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_EMITTER_SIGHTING_LIMIT` | 500 | edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_GEOLOCATION_HISTORY_LIMIT` | 100 | edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_ITU_REGION` | 2 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_LOCATION_PROFILE` | — | edge/openssa-sensor/drivers/ssa_sensor.py |
| `OPENSSA_SENSOR_TOKEN` | [REDACTED] | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/local_server.js, edge/openssa-sensor/demo/run_streaming_demo.py |
| `OPENSSA_UHD_SPECTRUM_ENGINE` | — | edge/openssa-sensor/drivers/ssa_sensor.py |
| `PORT` | 3000 | server.js, edge/openssa-sensor/local_server.js, lib/openrf-controller/server.js |
| `ROLE` | — | edge/openssa-sensor/install-demo-sensor.sh |
| `ROOT` | — | edge/opencybersec/install.sh, edge/openpnt-linuxptp/SELF-TEST.sh, edge/openpnt-linuxptp/install-linuxptp.sh, edge/openssa-sensor/install-demo-sensor.sh |
| `RUN_ID` | — | OPENCYBERSEC.md |
| `SERVICE_GROUP` | — | edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh |
| `SERVICE_USER` | — | edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh |
| `SITE_ID` | COMPILED_DEPLOYMENT.siteId | server.js, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `SSA_API` | — | edge/openssa-sensor/public/open-ssa/app.js, open-ssa/app.js, public/open-ssa/app.js |
| `SUDO_USER` | $USER | edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh, openrf/agent/install.sh |
| `TOKEN` | — | edge/openssa-sensor/install-demo-sensor.sh, rocketchat/outgoing-webhook-test.sh |
| `UHD_INCLUDE_DIRS` | — | edge/openssa-sensor/native/uhd_spectrum_engine/CMakeLists.txt |
| `UHD_LIBRARIES` | — | edge/openssa-sensor/native/uhd_spectrum_engine/CMakeLists.txt |
| `USER` | — | edge/openssa-sensor/SENSOR_INSTALL.md, edge/openssa-sensor/install-demo-sensor.sh, edge/openssa-sensor/install/install-sensor.sh, edge/openssa-sensor/install/update-existing-sensor.sh |
| `WORK` | — | edge/openssa-sensor/install-demo-sensor.sh |

## Service candidates

No component-specific service definition was associated by the scanner.

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| ${req.headers.host | `http://${req.headers.host/` | `edge/openssa-sensor/lib/openssa.js` |
| ${req.headers.host | `http://${req.headers.host/` | `edge/openssa-sensor/tests/e2e_server.js` |
| ${req.headers.host | `http://${req.headers.host/` | `lib/openssa.js` |
| ${req.headers.host\|\| | `http://${req.headers.host\|\|/` | `edge/openssa-sensor/local_server.js` |
| ${req.headers.host} | `http://${req.headers.host}/` | `edge/openssa-sensor/tests/test_openssa.js` |
| ${req.headers.host} | `http://${req.headers.host}/` | `tests/openssa/test_openssa.js` |
| example.invalid | `https://example.invalid/` | `edge/openssa-sensor/tests/test_profile_tool.py` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `CHANGELOG.md` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->

# OpenISAC

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenISAC

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The integrated sensing-and-communications capability for using communications waveforms and radio infrastructure as coordinated sensing resources.

## Operational value

Allows deployed communications infrastructure to contribute observations without adding a completely separate sensing stack.

## Differentiators

Sensing results can use the same timing, semantic and operational integration fabric as communications and C5ISR applications.

## Platform connections

- OpenRF
- OpenPNT
- OpenAnalytics
- OpenTrack

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 96 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| content | `CHANGELOG.md` | `openisac` |
| content | `DEPLOY-GODADDY.md` | `openisac` |
| content | `EXTERNAL-SERVICES.md` | `openisac` |
| content | `MERGE-INSTRUCTIONS-v0.8.1.md` | `openisac` |
| content | `OPENBUS.md` | `openisac` |
| path | `open-isac/index.html` | `open-isac` |
| path | `public/open-isac/index.html` | `open-isac` |
| content | `API.md` | `open-isac` |
| content | `MERGE-INSTRUCTIONS-v0.8.1.md` | `open-isac` |
| content | `README.md` | `open-isac` |
| content | `WALLACECORP-DEPLOYMENT.md` | `open-isac` |
| content | `index.html` | `open-isac` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

No component-specific WebSocket endpoint was associated by the scanner.

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `BASE` | http://127.0.0.1:3000 | DEPLOY-GODADDY.md, OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, UPGRADE-v0.14.0.md |

## Service candidates

No component-specific service definition was associated by the scanner.

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| bss.dev | `https://bss.dev/live/fpv-ctl/` | `index.html` |
| bss.dev | `https://bss.dev/live/isac/` | `tools/integrate_opensof_service_entries.py` |
| bss.dev | `https://bss.dev/live/isac/\nOPENLVC_PUBLIC_URL=\nAEGIS_SENTINEL_LABEL=AEGIS-SENTINEL\nOPENMAIL_PUBLIC_URL=\nOPENFILES_PUBLIC_URL=\n` | `tools/integrate_opensof_service_entries.py` |
| isac.edge.example.test | `https://isac.edge.example.test/` | `tests/external_integrations_smoke_test.py` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `API.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `CHANGELOG.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `README.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/api/tracks` | `README.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/open-cop/\nhttps://loammhpng4.c36.airoapp.ai/open-isac/\nhttps://loammhpng4.c36.airoapp.ai/open-lvc/\nhttps://loammhpng4.c36.airoapp.ai/open-mail/\nhttps://loammhpng4.c36.airoapp.ai/open-files/\nhttps://loammhpng4.c36.airoapp.ai/api/integrations\n` | `tools/integrate_opensof_service_entries.py` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->