# Lifo

A tiny Linux-like OS in TypeScript, for browsers, Node and serverless functions.

Source: https://wheredoirunthis.com/products/lifo · JSON: https://wheredoirunthis.com/api/products/lifo · Read on 2026-10-12

## At a glance

- Type: Sandbox
- Kind: Open source tool
- Isolation: Not disclosed
- Free tier: Not documented
- Starting price: Not disclosed
- GPU: No
- Regions: Not disclosed
- Coverage: 12 of 61 assessed capabilities supported
- Agent readiness: read 8 of 10 signals, drive 3 of 5 signals

## Links

- Homepage: https://lifo.sh/
- Docs: https://lifo.sh/docs
- Repository: https://github.com/lifo-sh/lifo

## Runtime

- **GPU & accelerators**: No — "No GPU-backed instances/passthrough documented for the TypeScript runtime." [source](https://lifo.sh/docs/introduction) (confidence: medium)
- **BYOC (Bring your own cloud)**: na — "Self-host process/browser execution, not a managed cloud-account deployment service." [source](https://lifo.sh/privacy) (confidence: high)
- **Secrets management**: Sandbox.create({env}) and commands.run({env}) inject environment variables visible to workload code. [source](https://lifo.sh/docs/sandbox-api)
- **Storage options**: POSIX-like in-memory VFS with providers, hash-addressed blob/content stores, optional IndexedDB and Node host mounts. [source](https://lifo.sh/docs/filesystem)
- **Supported workloads**: agent/user-generated JavaScript, browser IDEs and teaching, Vite/React development servers, Expo/Expo Router previews, Node-compatible npm CLI tools, serverless/edge shell utilities [source](https://lifo.sh/)
- **Persistence**: Optional browser IndexedDB persistence; Node in-memory by default with explicit host-directory mounts. [source](https://lifo.sh/docs/browser-vs-node)
- **Data jurisdiction**: na — "Placement belongs to the operator browser/Node host, not vendor regions." [source](https://lifo.sh/privacy) (confidence: high)
- **Resource limits & quotas**: No vendor session/usage caps; resource consumption is host-dependent. timeout/AbortSignal exist but are cooperative, with no hard CPU/memory quota documented. — "License says no session caps/usage limits; process/runtime docs describe cooperative cancellation and inability to stop a JS call stack externally." [source](https://lifo.sh/license) (confidence: high)
- **SDK languages**: TypeScript, JavaScript [source](https://lifo.sh/docs/quick-start)
- **Network & egress controls**: Guide says outbound fetch reaches what you allow; no concrete outbound allow/deny policy API is documented. — "SandboxOptions lists persist/env/cwd/files/terminal/mounts, not egress policy. CORS proxy host routing is not a hardened firewall." [source](https://lifo.sh/docs/untrusted-code) (confidence: low)
- **Snapshots & forks**: Portable tar.gz filesystem snapshots with cwd/env manifest; restore or clone into another box. No live process/memory checkpoints. [source](https://lifo.sh/docs/snapshots)
- **Deployment methods**: cli, sdk [source](https://raw.githubusercontent.com/lifo-sh/lifo/main/packages/cli/README.md)
- **Isolation**: Not disclosed — "Not a security boundary against the JS engine itself. Scripts execute via new Function in the host runtime, not VM/container/WASM. unknown means no matching isolation token, not an undisclosed VM." [source](https://lifo.sh/docs/untrusted-code) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| AI app builder | Not supported | "Expose two primitives — run a command, read/write files — and your agent has a" [source](https://lifo.sh/docs/agent-sandbox) |
| Autonomous QA agent | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Built-in coding agent | Not supported | "Expose two primitives — run a command, read/write files — and your agent has a" [source](https://lifo.sh/docs/agent-sandbox) |
| BYOK for LLMs | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Credential-injection proxy | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| LLM gateway | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| MCP client | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| MCP-server hosting | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| MCP server | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Model inference API (first-party) | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Preinstalled coding agent | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Not supported | "http://127.0.0.1:5000" [source](https://lifo.sh/docs/expose-ports) |
| Custom domains | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Direct public IPv6 | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Edge KV store | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Egress controls | Partially supported | "outbound fetch only reaches what you allow" [source](https://lifo.sh/docs/untrusted-code) |
| Email send / receive | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Public preview URLs | Supported | "tunnel 5173 (inside the shell)a public URLthe tunnel.lifo.sh relay, network, maybe auth" [source](https://lifo.sh/docs/expose-ports) |
| Private networking | Partially supported | "The virtual network is per-box. Two boxes don't share ports or sockets" [source](https://lifo.sh/docs/networking) |
| Built-in reverse proxy | Supported | "forwards HTTP and WebSocket traffic in both directions." [source](https://lifo.sh/docs/tunneling) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| BYOC | Not applicable | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Deploy into customers' VPCs | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Secrets management | Supported | "Extra env, merged with defaults." [source](https://lifo.sh/docs/sandbox-api) |
| Self-host / OSS core | Supported | "The Lifo runtime (@lifo-sh/core) and all packages under the lifo-sh GitHub organization are licensed under the MIT License." [source](https://lifo.sh/license) |
| Sharing | Supported | "outside the tab — a phone running Expo Go, a teammate's browser — can reach a dev" [source](https://lifo.sh/docs/tunneling) |
| SSO / SAML | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Teams | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Workload identity | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "npx lifo-sh" [source](https://raw.githubusercontent.com/lifo-sh/lifo/main/packages/cli/README.md) |
| E2B-compatible API | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Filesystem API | Supported | "sandbox.fs.writeFile(path, content): Promise<void>;" [source](https://lifo.sh/docs/sandbox-api) |
| Git deploy | Not supported | "git clone" [source](https://lifo.sh/docs/networking) |
| HTTP data API | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| OpenAPI spec | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Private container registry | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Public API | Supported | "Sandbox is the high-level entry point. Sandbox.create() builds a fully wired" [source](https://lifo.sh/docs/sandbox-api) |
| SDK | Supported | "Lifo ships as @lifo-sh/core — the same package works in a browser bundle and" [source](https://lifo.sh/docs/quick-start) |
| SSH access | Not supported | "A full shell environment with 60+ commands, powered by `@lifo-sh/core`:" [source](https://raw.githubusercontent.com/lifo-sh/lifo/main/packages/cli/README.md) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Desktop / computer-use sandbox | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| GPU compute | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Live-state (memory) snapshots | Not supported | "A snapshot is the whole box in one file: the filesystem, plus the working" [source](https://lifo.sh/docs/snapshots) |
| Multi-region | Not applicable | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Object storage | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Persistent disk | Supported | "IndexedDBPersistenceBackend — the browser default; the VFS is serialized" [source](https://lifo.sh/docs/filesystem) |
| Sandbox templates / custom images | Supported | "To leave session state out — publishing a template, say, where the author's cwd" [source](https://lifo.sh/docs/snapshots) |
| Scale to zero | Not applicable | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Selectable isolation runtime | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Snapshots / forking | Supported | "A snapshot is the whole box in one file: the filesystem, plus the working" [source](https://lifo.sh/docs/snapshots) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Ephemeral instant DB (no-signup) | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| First-party database | Not supported | "Supabase (tinbase)" [source](https://lifo.sh/) |
| Vector search | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Not applicable | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Built-in observability | Partially supported | "top — a live process view." [source](https://lifo.sh/docs/processes) |
| Preview environments | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Scheduled tasks | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Project template marketplace | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |
| Durable workflows | Not supported | "For browsers, Node and serverless functions." [source](https://lifo.sh/) |

## Agent readiness

### Read: 8 of 10 signals present

8/10 signals (6 full, 2 partial)

- Llms txt: partial — "https://lifo.sh/llms.txt — install/features plus website/repo/npm/demo links, but no docs/pricing links."
- Llms full txt: fail — "Apex and /docs/llms-full.txt HTTP 404; no modular full-text equivalent linked."
- Robots AI policy: partial — "https://lifo.sh/robots.txt — User-Agent:* Allow:/; no named AI user-agent policy."
- JSON LD: pass — "https://lifo.sh/ — SoftwareApplication with name, description, free Offer, codeRepository and MIT license."
- Sitemap: pass — "https://lifo.sh/sitemap.xml — 14 <url> entries; robots points here."
- Meta quality: pass — "https://lifo.sh/ — descriptive title/description and OpenGraph/Twitter metadata."
- Markdown negotiation: fail — "Accept:text/markdown at landing and /docs/sandbox-api returns text/html; /docs/sandbox-api.md HTTP 404."
- Content efficiency: pass — "https://lifo.sh/ — readable UTF-8 text 9,210 bytes / HTML 175,979 bytes = 5.23%; server-rendered substantive content."
- Docs discoverable: pass — "https://lifo.sh/ — first-class Docs header link to public /docs index."
- Pricing machine readable: na — "MIT self-host runtime has no hosted pricing ladder; /pricing HTTP 404, no commercial compute plans to grade."
- Anti bot: pass — "Landing/docs/legal/well-known requests fetched without challenges. Login fallback rendered ordinary sign-in with blocked:false."

### Drive: 3 of 5 signals present

3/5 signals (2 full, 1 partial)

- Public API: pass — "https://lifo.sh/docs/sandbox-api — documented Sandbox create/commands/fs/fetch API."
- Openapi spec: na — "No documented hosted HTTP control API; public API is in-process JS. OpenAPI/Swagger common probes HTTP 404."
- MCP server: fail — "/.well-known/mcp HTTP 404 and no documented Model Context Protocol server in docs/repo tree."
- SDK packages: partial — "Official @lifo-sh/core npm package in one JS/TS ecosystem; no multi-language SDK set."
- Auth docs: na — "Core Sandbox.create requires no credentials. Optional account/tunnel login is not workload provisioning auth."
- Agent self serve creds: na — "Local workloads need no vendor keys; no hosted compute signup/issuance path to grade."
- Webhooks: na — "No hosted workload lifecycle service; local filesystem callbacks are not HTTP webhooks."
- CLI tool: pass — "https://raw.githubusercontent.com/lifo-sh/lifo/main/packages/cli/README.md — official npx lifo-sh, npm latest 0.10.23."
- Error model: na — "No hosted JSON API error model. Local command API documents stdout/stderr/exitCode; internal dispatcher uses x-lifo headers."
- Rate limit docs: na — "No hosted core API quotas. Resource usage/timeout are host-runtime facts, not vendor API response-header limits."
- Agent config: fail — "/agents.md and /.well-known/agent HTTP 404; no AGENTS.md/agent skills in retained repo tree selection."

## Open source

- Repository: https://github.com/lifo-sh/lifo
- License: MIT
- Stars: 543
- Forks: 37
- Self-host methods: package-manager, source-build

## Company & presence

- Headquarters: Bangalore, India
- Privacy policy: https://lifo.sh/privacy
- Terms of service: https://lifo.sh/terms
- GitHub: https://github.com/lifo-sh/lifo
- npm core: https://www.npmjs.com/package/@lifo-sh/core
- npm CLI: https://www.npmjs.com/package/lifo-sh
- X/Twitter: https://x.com/lifo_sh
- Discord: https://discord.com/invite/WsjsUBHEs6
- Blog: https://lifo.sh/blog
- Browser demo: https://lifo.sh/demo
- Login: https://lifo.sh/login

## Nearby in the atlas

- [Agent Safehouse](/products/agent-safehouse.md)
- [Agent Sandbox](/products/agent-sandbox.md)
- [Agent Substrate](/products/agent-substrate.md)
- [Agent37](/products/agent37.md)
- [AgentNest](/products/agentnest.md)
- [Anthropic Sandbox Runtime (srt)](/products/sandbox-runtime.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
