Private Runners
Host the TestVibe runner inside your firewall so tests run on your own infrastructure against fully private applications.
Last updated
Was this helpful?
Host the TestVibe runner inside your firewall so tests run on your own infrastructure against fully private applications.
A private runner is the same runner image TestVibe uses in the cloud, run by you on a machine inside your firewall. It exists for applications that are fully private and whose traffic must never leave your network: the tests execute on your own infrastructure and reach the app directly.
The connection is outbound-only: the runner dials out to TestVibe, picks up the next job, runs it locally, and uploads the results. Nothing inbound is opened.
Both targets let you test an app the public internet can't reach. They differ in where the test code runs:
Where the AI-generated test code runs
Your infrastructure
TestVibe's isolated sandbox
What you host
The runner image
The small tvtunnel agent
App traffic
Never leaves your network
Relayed to the sandbox (encrypted end-to-end)
On a private runner, the AI-generated test code runs on your infrastructure rather than in a TestVibe sandbox. Review and approve generated tests before running them on a private runner. Scope the runner machine's network access to the application under test, and keep its runner token rotated. If you'd rather keep the untrusted code inside TestVibe's sandbox, use a tunnel instead.
Fully private or on-prem app
The runner sits inside the network that hosts your app and reaches it directly.
Traffic must stay in your network
Nothing about the run transits TestVibe — only job metadata and uploaded results do.
Strict outbound-only posture
The runner dials out; no inbound firewall changes are needed.
A private runner is pull-based — it asks TestVibe for work rather than receiving it:
The runner registers with TestVibe and sends a periodic heartbeat (all outbound).
It long-polls for the next job assigned to your project.
When a job arrives, it runs the Playwright tests locally against your app.
It uploads screenshots, videos, traces, and logs to TestVibe's cloud, then posts the result.
Results, live status, and evidence appear in the Runs section exactly as they do for cloud runs.
Switch a project to the private-runner target, then point a runner at your project. While no runner is online, a run waits in preparing (TestVibe is waiting for an online runner) and times out with an error if none connects.
For choosing between targets, see Choose an execution target. To pick a project's default target, see Set a project's execution target.
Uptime
Run the runner as a service on a stable machine — a laptop that sleeps stops picking up jobs.
Network access
The runner only needs outbound access to TestVibe plus reach to the apps your tests target.
Tokens
Treat the runner token like any credential; rotate or revoke it from Settings → CLI & API keys if the machine is retired.
Last updated
Was this helpful?
Was this helpful?
