SELF-HOSTED APPLICATION BACKPLANE

GIVE IDEAS
A PLACE
TO RUN.

Beamhall is the infrastructure beneath the apps people and AI agents create.

A place to build, provision, run, connect, and use software—with permissions, isolation, and an audit trail built into the path.

FREE & OPEN SOURCE APACHE 2.0 NO REQUIRED CLOUD SERVICE
FIG. 01 / SYSTEM CUTAWAY LOGICAL LAYERS
Beamhall, opened up Four logical layers: people and agent interfaces; Beamhall’s policy and orchestration; isolated apps with managed capabilities; and the Linux infrastructure operated by you. These are logical relationships, not a physical hardware stack. APP A APP B DATA BEAMHALL BUILDERS MCP USERS + AGENTS 04 / YOUR HOST 04 03 / APPS + CAPABILITIES 03 02 / POLICY + ORCHESTRATION 02 01 / PEOPLE + INTERFACES 01
ASSEMBLED / EXPLODED

SELECT A LAYER TO INSPECT ITS ROLE.

SECTION 02—02

Beamhall does the privileged work.

The MCP surface passes requests to policy checks and the orchestrator. Roles, scope, quota, and lifecycle state govern operations. Decisions and outcomes are recorded in the audit chain.

beamhalld · policy · orchestrator · audit
THE APPLICATION IS YOURS TO IMAGINE. THE INFRASTRUCTURE HAS A DEFINED WAY TO WORK. BEGIN HERE ↓
01 / THE IDEA INTENT → CAPABILITY → APPLICATION

CREATION SHOULD
NOT REQUIRE
THE KEYS TO
EVERYTHING.

An agent can write an app. Running that app means making decisions about data, identity, networking, deployment, and who gets to use it.

Beamhall gives those decisions a home. A builder describes what the application needs. The platform performs the infrastructure work within rules set by the people operating it.

The result can be a web app, an API, an internal service, or a tool another agent uses. The purpose comes from you. The platform supplies a repeatable way to run it.

BEAM

One application, with its source, releases, runtime, and capabilities.

WORKSPACE

A group of apps with memberships, quotas, and a security profile. Called a beamhall in the API.

YOU + YOUR AGENT Define the application.

Write the logic. Choose what it should do.

BEAMHALL Provide the machinery.

Build, provision, run, route, and record.

YOUR OPERATORS Set the ground rules.

Control access, resources, exposure, and release.

02 / THE ASSEMBLY PARTS CATALOG / IMPLEMENTATION

OPEN THE CASE.
MEET THE PARTS.

A Go control plane coordinates a set of supporting services. Your application code runs in separate workloads.

The installation includes more than the binary: a Linux host, build services, a gateway, data services, and an identity provider.

FIG. 02 / PROCESS BOUNDARY CONTROL PLANE → SUPPORTING SERVICES
People + agents Authenticated requests
beamhalld SINGLE GO PROCESS
MCPIdentity AuthorizationPermission OrchestratorExecution
↳ SQLite state ↳ Secret vault ↳ Audit chain
Build services Buildpacks + registry Isolated workloads Docker / runc / gVisor Backing services Postgres / Caddy / IdP
One control plane coordinates the installation. App processes, builds, and backing services do not all run inside the Go binary.
01 Identity & tool surface Who is asking, and what can they ask for?

MCP gives coding agents a defined set of operations. OAuth/OIDC establishes the caller’s identity. Builders, operators, and app users have different paths through the system.

MCP server / OAuth / OIDC Locate in the implementation ↗
02 Policy & orchestration Turn an allowed request into real infrastructure.

Policy checks permissions. The orchestrator checks resource and lifecycle constraints, provisions capabilities, and reconciles the running app. The control plane’s state is stored in SQLite.

Policy enforcement / orchestrator / SQLite Locate in the implementation ↗
03 Source, build & runtime Your code becomes an isolated workload.

A managed Git repository feeds a dedicated Buildpacks build service and internal registry. The runtime driver starts the app with IT-defined hardening and resource limits.

Git / Cloud Native Buildpacks / runc or gVisor Locate in the implementation ↗
04 Managed capabilities The app gets facilities, not a pile of setup work.

Postgres, secret files, OIDC sign-in, S3-compatible object storage, and brokered email are provisioned under policy. Provider credentials stay in their appropriate platform boundary.

Postgres / age vault / identity / email / storage Locate in the implementation ↗
05 Gateway & relay Reach the app. Control what the app can reach.

Caddy handles app routing and TLS. Workload egress is default-deny. Specific apps may use each other’s tools through an IT-granted relay; they do not receive general network access to their peers.

Caddy / egress rules / app-tool broker / peer grants Locate in the implementation ↗
06 Audit & operation A system you can inspect and take responsibility for.

Policy decisions and operation outcomes go into a tamper-evident audit chain. Operators control identity, policy, host maintenance, backup, keys, and retention.

Hash-chained audit / backup & restore / admin tools Locate in the implementation ↗

The parts work together. Expand any row to see its responsibility and where it lives in the project.

03 / THE OPERATIONS INPUT / CHECK / EFFECT / RESULT

FOLLOW
ONE REQUEST.

How does an instruction become an actual change? Pick an operation and follow it through the machinery.

These traces explain the implementation. They do not provision anything or run a live agent.

create_database

An app needs somewhere to keep its data. The agent asks for a capability; Beamhall provisions it and delivers the connection to the workload.

REQUEST TRACE / 1 OF 5

The builder asks for a database by name.

The MCP call identifies the workspace, app, and database. It does not ask the model to choose a database provider or invent host credentials.

agent → MCP
Read the complete operation
  1. Request: The builder asks for a database by name.

    The MCP call identifies the workspace, app, and database. It does not ask the model to choose a database provider or invent host credentials.

  2. Authorize: Check membership before provisioning.

    The policy layer checks whether this identity can create a database in this workspace. The orchestrator also checks the app and database quota.

  3. Provision: Create scoped data infrastructure.

    The Postgres provisioner creates the database and role. The orchestrator seals its connection string in the secret vault and records the app resource.

  4. Deliver: The app gets the connection. The agent gets a reference.

    The call returns a secret key such as MAIN_URL. On the next deployment, the workload reads the connection from /run/secrets/MAIN_URL. Preview and live use separate data resources.

  5. Record: Keep the decision and outcome inspectable.

    Authorization and operation outcomes are recorded with actor, workspace, app, and action. If provisioning fails, the orchestrator attempts cleanup and reports the failure.

04 / THE BOUNDARIES BUILD ≠ USE ≠ CONNECT

SAME PLATFORM.
DIFFERENT PERMISSIONS.

Being able to use an app does not make you its builder. Being able to build one app does not give it access to another.

Change the condition below. The boundary determines whether the request can proceed.

CHANGE ONE RULE. WATCH THE PATH.

Can this builder attach a database?

A builder role applies inside the workspace where it was granted.

Builder’s agent create_database
MEMBERSHIP Platform check
Database provisioner Request can proceed
ALLOWED

The builder can request a database in this workspace. The platform still checks the app and resource quota before provisioning.

Switch membership off. The same request stops at authorization, before a database is provisioned.

A teaching model of one boundary at a time. Assumes valid authentication, required token scopes, a running target where relevant, and available capacity. No backend requests are made.

THE MODEL HAS LIMITS

Permission to use a tool is not permission to trust its code.

Apps must verify signed caller assertions and implement their own authorization. Audience checks govern discovery and brokered calls; web URLs need appropriate gateway and app sign-in controls.

THE ENVIRONMENT HAS LIMITS

Self-hosted apps do not automatically mean local AI.

Your chosen model provider may process prompts and tool results. You still operate the host, review generated code, and decide which outbound destinations are permitted.

Read the boundaries and residual risks ↗
FIELD NOTE / THE APP LIFECYCLE RELEASES ARE NOT DATABASE COPIES

EXPERIMENT HERE.
KEEP LIVE STEADY.

Preview and production are two channels of the same app. Promote a reviewed build, then keep developing without moving production underneath your users.

Promotion is governed by IT policy. Where two-person approval is enabled, a different authorized operator must approve the requested release.

ONE APP / ONE SOURCE HISTORY
r1 r2 r3
PREVIEW CHANNEL

Keep experimenting.

r3 Current preview build

A changing preview URL, its own data resources, and a pause/resume lifecycle.

▤ PREVIEW DATABASE
Promote a
reviewed build
IT policy applies
LIVE CHANNEL

Keep production steady.

r2 Pinned live release

A stable address and separate live data. New preview work does not move this pin.

▤ LIVE DATABASE
Promotion adds or updates the live channel; it does not turn preview into production. Rolling back re-pins a previous release—it does not undo database changes.
05 / YOUR SYSTEM OPEN SOURCE / NO LOCK-IN

OWN
THE GROUND
YOU BUILD ON.

APACHE 2.0 FREE SOFTWARE

Beamhall is free, open-source software for anyone to run on infrastructure they control. No required Beamhall account, subscription, or hosted control plane.

You have the code and the data. Standard foundations—Git, PostgreSQL, OIDC, SMTP, and S3-compatible storage—give you familiar ways to work with them. Moving an app elsewhere means replacing its Beamhall runtime integrations.

YOU CAN

Inspect the source.
Modify the platform.
Run it with your provider.
Contribute your changes.

YOU OPERATE

The host and its updates.
Identity and access policy.
Keys, backups, and recovery.
Capacity and audit retention.

YOU CHOOSE

What to build.
Which agents to connect.
Who can use each app.
Where your infrastructure runs.

The software is free. Hosting, storage, email, and AI services may have costs from the providers you choose.

PUT IT TO WORK START WITH ONE WORKSPACE

BRING A HOST.
MAKE IT YOURS.

Prepare Linux and DNS. Install the appliance. Connect identity, define a workspace, and give an agent its first bounded place to build.

Open the installation guide ↗
HOST BASELINE

Ubuntu 24.04+ / Debian 12

4 vCPU / 8 GiB RAM recommended

Wildcard DNS + a TLS strategy

PROJECT STATUS / PRE-1.0

Built. Lab-validated. Still evolving.

Runtime, source deployment, Postgres, secrets, identity, email, storage, app tools, peer relay, approvals, and audit are implemented. Validation in design-partner environments is the next milestone.

WHAT COMES NEXT

Queues, more internal-system connectors, microVM isolation, and further supply-chain and egress controls remain on the roadmap.

Read the changelog ↗