# Sandbox: a bounded place to run code [Concepts explained](README.md) A **sandbox** is a restricted execution environment. It gives a program a defined place to work and limits which resources it can use. Think of a craft table with the materials you need, rather than access to every cupboard in the building. ## Two kinds of boundaries One boundary controls **access**: which files, devices, or other host features a program may use. Another controls **resources**: how much work, memory, or queued activity it may consume. Pliro uses controlled host interfaces and execution limits. For example, an instruction budget can stop a loop that never finishes. A budget is a maximum amount allowed, like having only a certain number of tickets for activities. ## An experiment within the rules ```pliro # language: en let count = 0 while count < 3: say count set count = count + 1 ``` This program has a clear stopping condition. It prints zero, one, and two. A sandbox is useful protection, but writing a loop that ends correctly is still your job. ## Limits are not proof of perfect safety Different hosts provide different boundaries. A downloaded executable can have effects beyond what you see in a preview, so run shared apps only from sources you trust. A Pliro edition or purchase does not itself grant access to private files or devices. If a legitimate program hits a limit, read the diagnostic and simplify the work or choose an appropriate supported workflow. [Execution limits](../guides/limits.md) ยท [Permissions](permissions.md)