Build beyond
real devices
Isolated iOS and Android, on your fleet or in the cloud. Spawn it, hook it, throw it away.
One trunk.
Every device.
iOS emulators and simulators, Android on Cuttlefish, Ranchu and Goldfish. Jailbroken, rooted or stock, from one API. Pick a leaf.
Full iOS, emulated.
- Root shell and writable filesystem when jailbroken
- Screen, file browser and IPA sideload
- Snapshots before every risky step
See below
the surface.
Frida in the runtime, mitm on the wire, gdb in the kernel. Move the lens; click to pin it.
Branch without
losing the baseline.
Save any state. Restore it in seconds. Try the other path from there.
Detonate. Discard.
Regrow.
Every device sits on its own plot. Infect one and the rest of the orchard never notices; the snapshot grows it back clean.
hover to pause · click any tree to detonate it
One platform, four jobs.
The same devices, pointed at the work your team already does.
A device is
a line of code.
One selector across the Python and TypeScript SDKs, the CLI, and an MCP server for agents.
from orchard_sdk import Orchard oc = Orchard(api_key="orc_...") # spawn a rooted Android device on Cuttlefishdev = oc.sandboxes.create(platform="android", image="cuttlefish", rooted=True, tag="pentest")dev.wait_until("running") # intercept TLS through your own Burp over a reverse tunneldev.proxy.tunnel(to="127.0.0.1:8080") # bypass SSL pinning with a Frida script, stream the hooks backfor msg in dev.frida.stream(script="pinning-bypass.js"): print(msg["payload"])
Plant your
first device
Self-host free, or start in the cloud at 10 credits to the dollar.