# Where Runs Execute

URL: https://docs.testvibe.com/runners

When you start a run, TestVibe executes your tests against your project's URL. Every project has an **execution target** that decides *where* the test code runs and *how* the run reaches your application.

There are three targets. Most projects use the default and never change it.

## The Three Execution Targets

| Target | Where test code runs | Use it when | **Cloud** (default) | TestVibe's isolated cloud sandboxes | Your site is reachable from the internet (public or staging). Nothing to install. | **Private runner** | A runner you host inside your firewall | Your app is fully private and must never leave your network. You run the runner image; the test code runs on your infrastructure. | **Tunneled** | TestVibe's isolated cloud sandbox, reaching a private app over a tunnel | Your app is private but you'd rather not host the runner. A small `tvtunnel` agent inside your network relays traffic; the test code stays in TestVibe's sandbox. 

info
The cloud target is the default and the only one most teams need. Reach for a private runner or a tunnel only when the application under test is not reachable from the public internet.

## What You Can Do

[Understand cloud sandboxes
Learn what a cloud sandbox is and how its lifecycle works.](/runners/what-are-runners) [Choose an execution target
Decide whether a project runs in the cloud, on a private runner, or through a tunnel.](/runners/choose-a-runner) [Host a private runner
Run the runner image inside your firewall for fully private apps.](/runners/self-hosted-runners) [Set a project's default target
Pick the execution target for a project and pin a tunnel device.](/runners/set-default-runner) [Fix execution issues
Resolve unreachable sites, offline runners and tunnels, and runs stuck in preparing.](/runners/troubleshooting-runners)

## Related Help

- [What are cloud sandboxes?](/runners/what-are-runners)
- [Tunnel devices](/account-settings/tunnel-devices)
- [Understand live run status](/run-tests/understand-live-run-status)
