16 questions you should ask before choosing a sandbox provider
A practical checklist for comparing sandbox providers across capabilities, lifecycle, access, security, networking, and scale.
Comparing sandbox providers is difficult because the important differences are not always obvious. These are the questions you should have answers to before making a decision.
Core capabilities
1. What are the minimum and maximum sandbox sizes?
These limits define how much of your use case a provider can cover. For simple code execution, you probably want the smallest possible size. For complex coding agents, you want a large ceiling. Databases may benefit from high disk with relatively low CPU. Be sure your ideal shape is available rather than paying for resources you do not need.
2. How flexible are sandbox sizes after creation?
Resizing matters in two ways. First, many providers offer only strict CPU x RAM x disk configurations, so custom sizing helps you get the ideal shape. Second, some providers let a sandbox grow after creation, such as adding memory when it runs out. This matters most for long-running workloads and much less for simple run-AI-code workflows. Very few providers allow for dynamic resize down after creation, if a provider does offer this it's important to ask about data stability during this transition.
3. What kind of virtualization do you use?
Virtualization type determines what the VM can do. Many providers use gVisor, which prevents them from supporting some syscalls and kernel features. Others use full hardware virtualization with a real kernel per VM. Understand what the model unlocks, what it makes impossible and whether compatibility claims rely on partial shims.
4. Which operating system and kernel capabilities are supported?
Be aware of support for Docker, FUSE, eBPF, Landlock, nested virtualization, modern syscalls such as clone3 and filesystems such as Btrfs, XFS or ZFS. Some platforms provide proper support, while others shim only part of a feature or use a very slim kernel. The important question is whether the capabilities your workload relies on are actually available.
5. How does the isolation model balance security and performance?
The isolation model determines both the security boundary and the overhead your workloads experience. Hardware virtualization with a hard kernel-per-VM boundary is the gold standard because untrusted code does not share a kernel with other customers. Be aware of what remains shared, how the boundary is enforced and what guarantees the provider makes against sandbox escapes. Also consider CPU, memory, disk and network overhead, tail latency, noisy-neighbor behavior and performance under sustained workloads.
6. What kinds of snapshots are available?
Some platforms support memory snapshots while others support only disk snapshots. Memory snapshots preserve process state as well as disk state, so they can resume browsers, CLIs, dev servers and other running tools instead of rebuilding them. Memory snapshots are a superset of disk snapshots, so a platform with full memory snapshots can also cover disk-only use cases.
State and lifecycle
7. How fast are startup and resume in practice?
Startup numbers often refer to different endpoints. One provider may stop the clock when an ID is returned, while another waits until the first command can run or an application can receive traffic. Be aware of cold starts, image starts, resumes and snapshot restores in the environment you plan to use, including tail latency during bursts.
8. Can sandboxes be copied or branched?
Copying a configured sandbox can be more useful than rebuilding the same environment repeatedly. Check whether a copy includes only the filesystem or also memory and running processes, whether the source must pause and whether the resulting branches are fully independent.
9. What happens when a sandbox becomes idle?
Most interactive sandboxes spend more time waiting than computing. A provider may keep billing the full machine, stop it and discard its processes, delete it or pause it with memory intact. Understand what counts as activity, how the sandbox wakes and what the first request after waking experiences.
Environment and access
10. What networking options are available?
Start with ingress. For a Lovable-style AI app builder, HTTPS ingress may be enough. More advanced products may need multiple ports, dedicated IPs, non-HTTP traffic or custom protocols. Then consider egress and private networking. Relevant capabilities include private sandbox networks, secure VPC connections to AWS or GCP, outbound traffic controls and network-level secret injection. These become especially important for enterprise customers that want to expose private infrastructure to your product without exposing it to the internet.
11. How customizable is the environment?
Some providers give you a narrow runtime or container image, while others provide something closer to a normal computer. Understand your control over the base image, packages, users, services, startup process and machine configuration. Missing flexibility becomes expensive when your workload falls outside the common path.
12. How do you interact with a running sandbox?
Running a command is the baseline, but long-lived environments need more. Examine output streaming, cancellation, reconnection, detached processes, file transfer, interactive terminals and SSH. These capabilities determine whether a sandbox remains usable and debuggable after something goes wrong.
13. How can end users safely access a sandbox?
Interactive products often need to give an end user access to a terminal, file, preview or service. Understand whether access can be narrowly scoped to one sandbox or capability, whether it expires and whether every interaction must be proxied through your own backend.
14. How are secrets handled?
Environment variables are simple, but untrusted processes can usually read them. More advanced systems can scope secrets to a process, mount them temporarily or inject credentials into outbound requests. Check how secrets interact with snapshots, branches and logs, and whether the workload must ever see the underlying credential.
Scale
15. How does the platform scale with your workload?
Scale includes more than the maximum sandbox count. It also covers creation rate, burst capacity, quota increases, control-plane responsiveness and fan-out from a snapshot or configured sandbox. Be aware of how quickly one starting point can become tens, hundreds or thousands of independent sandboxes, and whether that fan-out remains fast during bursts. A platform that can eventually run a large fleet is different from one that can create it quickly enough for an interactive product.
16. How do snapshots behave in practice?
Be aware of how long snapshots take to create and restore, whether the source must pause, how available they are and what they cost. A platform that takes 45 seconds to snapshot a VM is very different from one that takes 10 milliseconds. Also do not assume memory snapshots are automatically more expensive. Storage can be much cheaper than repeated memory and CPU time, so the snapshot cost may barely show up.
How Freestyle answers the checklist
Freestyle VMs are full Linux virtual machines designed for long-running, complex tasks. They are strongest when an agent needs a real computer, long-lived state, private networking, or snapshot-based branching.
| # | Freestyle answer | Docs |
|---|---|---|
| 1 | The smallest documented base is freestyle/busybox at 1 vCPU, 128 MiB RAM, and 1 GB disk. The default is 4 vCPU, 8 GiB, and 32 GB. Per-VM maximums are 4/8/32 on Free, 8/16/64 on Hobby, and 32/64/256 on Pro; Enterprise limits are custom and go much larger. | Pricing and Limits |
| 2 | CPU, memory, and storage are grow-only. CPU and memory can grow live on a running VM; changes apply on resume or start for paused and stopped VMs. Disk growth requires a running VM. To shrink, create a new VM. | VM Lifecycle |
| 3 | Freestyle provides hardware-virtualized, full Linux VMs. The Ubuntu base is a real Ubuntu 24.04 system with systemd as PID 1 rather than a repackaged container image. | Freestyle VMs |
| 4 | The documented platform capabilities include nested virtualization, FUSE, eBPF, and full Linux networking. The Ubuntu image includes Docker, normal Linux tooling, root access, users, services, and a real kernel environment. | Base Snapshots |
| 5 | The isolation boundary is a full VM while the guest retains normal Linux capabilities. Network access is default-deny: every packet path needs an explicit firewall allow rule, except separately authorized platform paths such as routed domains and SSH. | Firewall |
| 6 | Pausing freezes memory and resumes the same processes, open files, and in-memory state. Custom snapshots capture exact memory and disk from a running or paused VM. A stopped persistent VM keeps disk but discards memory. | VM Lifecycle |
| 7 | The docs report VM provisioning p99 under 400 ms and describe public base snapshots as starting in about a second. Paused or stopped VMs can wake on API calls or network traffic. | Freestyle overview |
| 8 | Snapshot a running or paused VM, then create independent VMs from that snapshot. The snapshot includes memory and disk, so it supports branching a configured or actively running environment; fleet size is subject to account quotas. | Base Snapshots |
| 9 | idleTimeoutSeconds pauses a VM after no network activity. It resumes on an explicit start or incoming traffic; PTY input also counts as activity and can wake it, while output alone does not. A paused VM releases concurrent compute capacity but remains a saved VM with disk and saved memory. | VM Lifecycle |
| 10 | Freestyle supports free style.dev and verified custom domains, HTTPS and named non-HTTP routes, direct TCP/UDP/ICMP firewall rules, dual-stack private VPCs, and WireGuard tunnels to private infrastructure. Firewall and TLS rules control ingress, egress, VM-to-VM traffic, and selected secret-injection paths. | Networking and domains |
| 11 | Start from BusyBox or Ubuntu, install packages, create users, run systemd services and Docker, resize upward, and capture the result as a reusable private snapshot. Freestyle exposes a normal Linux machine rather than a fixed runtime API. | Base Snapshots |
| 12 | Use one-shot exec with environment and stdin for commands up to five minutes; use the file APIs for text, binary, streaming, and resumable transfers; use PTY sessions for long-lived interactive work with detach, reattach, resize, and signals; or connect through scoped SSH and supported editors. | PTY Sessions |
| 13 | Client Sessions use identities and scoped tokens. A server can grant access to one VM and selected Linux users, then let a browser, end user, or agent call exec or open a PTY without receiving the team API key. Tokens and grants can be revoked independently. | Client Sessions |
| 14 | Do not bake long-lived secrets into reusable snapshots when the guest does not need them. TLS egress transforms can inject HTTP headers, Postgres credentials, or SOCKS5 proxy credentials at the edge; values are sealed, read back as redacted, and never need to be given to the VM. SSH and client access tokens also stay outside the guest. | TLS |
| 15 | Published Pro limits are 400 concurrent VMs, 4,000 saved VMs, and 12,000 snapshots, with separate aggregate resource budgets; Enterprise limits are custom. | Pricing and Limits |
| 16 | Custom snapshots include memory and disk, accept running or paused sources, are private, and return only once fully materialized and ready to boot. They persist until deleted and count against plan snapshot limits. | Base Snapshots |

