Browser & Companion
Vue dashboard and Android Companion present controls and show node state.
Explore frontend →How the browser, Rust backend, rootless apps and protected host fit together. Follow each layer to the source that owns it.
The node presents one web surface. Each layer has its own owner and trust boundary.
Vue dashboard and Android Companion present controls and show node state.
Explore frontend →Serves the UI and routes RPC and app traffic to the right local service.
Routing contract →Owns API, sessions, desired app state, reconciliation and update decisions.
Explore API source →Systemd user services and Podman run manifest-driven containers and networks.
Lifecycle contract →App state lives under /var/lib/archipelago. Cleanup and upgrades follow explicit data contracts.
Debian and systemd own boot, packages and protected OS maintenance.
Presence in source or on a node does not by itself establish an accepted release.
apps/<id>/manifest.yml is a development input. On published nodes, a verified signed catalog can supply the embedded manifest that wins over disk.
Rootless app processes do not own host packages, unrestricted container-engine access or live storage cleanup. Backend and protected executor paths enforce those boundaries.
Source checks, disposable integration, signed artifacts, installed-node evidence and physical acceptance are distinct gates.
These are source and contract entry points. Read the exact handler and tests before changing behavior.
This page maps current source. It does not certify an installed node, installer or OTA. Use the release and testing index for the exact acceptance boundary, and the text architecture guide for more detail.