OurBox OS is a local-first application platform that runs on user-owned hardware (or user-owned cloud VMs) and presents a mobile-first, phone-like web experience for launching and using self-hosted apps.
It is called an "OS" because it behaves like a cohesive operating environment:
- a home screen ("Launcher")
- a set of canonical first-party apps (Email, Notes, Contacts, Photos, Messaging, Settings, etc.)
- an app catalog / installation model
- shared identity, permissions, and data foundations
...but it is not an operating system distribution or kernel.
- Downstream consumer surfaces
- App authoring guide
- Apps repository contract
- Application catalog repository contract
- Repository layout and authority
- Artifact publish record contract
- Requirements management guide
OurBox OS uses OCI artifacts + digests as the distribution substrate for the platform contract and related components.
- Decision: ADR-0009
- Boundary decision: ADR-0011
- Plan: RFC-0001
- Integration reference: Artifact distribution and integration contract
- Target integration contract: Reference
- New hardware target checklist: Reference
- Matchbox consumer reference:
img-ourbox-matchboxplatform contract consumption - Woodbox consumer reference:
img-ourbox-woodboxplatform contract consumption
The model is one lane, explicit trust: everyone uses the same artifact mechanics; trust is layered through signer/policy choices over time.
This repository now produces a platform contract bundle from platform-contract/ as a tarball
that can be published to GHCR as an OCI artifact.
- Build locally:
./tools/platform-contract/build.sh - Publish:
./tools/platform-contract/publish.sh [tag] - Pinned digest output:
dist/platform-contract.ref
The build always uses the in-repo demo-apps fixtures as render inputs.
No external catalog ref is required.
A GitHub Actions workflow publishes:
edgeon pushes tomainv*tags as versioned contract tags