Tinycloud’s execution unit is a TypeScript/JavaScript HTTP worker behind the RuntimeProvider contract. Product workloads run only in jailed Firecracker microVMs on Linux/KVM servers.

What a microVM receives

its immutable artifact
short-lived workload and user identity tokens
explicitly declared raw secrets
access to the capability broker and the data service

What it does not receive

Per-VM TAP/nftables rules permit those two destinations and nothing else.

Current target support

Builds require an installed build image, Postgres requires a configured cluster, and direct egress allowlists require an operator to enable them.
Where one of those is absent, the provider reports it in capabilities() so a plan refuses instead of a deploy failing halfway.
See Firecracker worker plane for the host and guest contract.

The in-process provider is a test fixture

packages/provider-local remains in the repository solely as an injected test fixture for provider-contract and application tests. It is never selected by the server and is not exposed by the CLI. The same is true of LocalBuildRunner, which reports isolated: false so the Builder refuses it unless a test opts in explicitly.
There is no local runtime fallback and no tiny dev command. Product code does not import the local provider, select it, or expose a command that starts it.