Skip to main content

Pick a profile. Start a session. Drive it your way.

The whole product in three steps. You don't need to write code.

Learn three words and everything else makes sense.

Profile

A profile is one saved iPhone: it keeps its own logins, cookies and site data, so it stays signed in. Close it tonight, open it tomorrow: to a website it is the same visitor coming back, not a stranger.

Session

A profile, running live: an iPhone Safari browser in the cloud. Think of it as a browser tab. Your plan sets how many run at once.

Proxy

Your session's own internet exit, and every session needs one. Bring your own proxy or VPN: SOCKS5 on every plan, OpenVPN or WireGuard on paid plans. Attach one to a profile and it browses from wherever that connection comes out: Amsterdam, New York, Tokyo. Not from our data centre.

Every other word on this site is in the glossary.

From sign-up to a live session.

Pick an iPhone profile

Pick its iPhone, or take a random one. Paid plans run every iPhone model we offer; the trial runs the iPhone 13. Make one profile per account, per client or per job, and attach your own proxy or VPN.

Start a session

One click in the desktop app opens your profile in a session window. No hardware to buy. Developers start the same session with one API call.

Drive it your way

Tap, swipe, scroll and type, just like on a phone. Or describe the job in plain English and the AI agent drives while you watch. Your team can also drive the same sessions from code: see the QA page.

Read every step before it runs.

Describe the job in plain English. The agent turns it into a short list of steps, picked from a fixed set of actions. It cannot invent new ones. It stops for your OK when a step looks like a purchase, a payment or an account deletion. Watch its screenshots as it works. Each one can be viewed for up to 30 minutes, and none after the session ends. The AI agent is on every paid plan. Starter to Scale include AI credits each month, and you can add your own AI key instead. The free trial does not include the AI agent.

shop.example/cart

The agent’s plan · step by step

  1. { "kind": "navigate", "url": "https://shop.example/cart" } Opening
  2. { "kind": "wait", "condition": "idle" } Settling
  3. { "kind": "behavioral_pause", "reading_word_count": 38 } Reading — 38 words, at this persona’s pace
  4. { "kind": "interact", "action": "tap", "selector": "#promo" } Tapping
  5. { "kind": "interact", "action": "type", "value": "SPRING", "sensitive": false } Typing
  6. { "kind": "scroll", "direction": "down", "amount_px": 600 } Scrolling
  7. { "kind": "capture", "capture": "screenshot" } Captured
Every step above uses an action from the API’s fixed set — the agent cannot invent new ones.

Look at step three. The agent also stops to read, like a person, so pages that change while you read behave normally.

Every detail fits together.

A website never just asks which browser you are. It measures many small details, and the answers have to fit together. Driftstack takes them from measured iPhones, so they do.

Device profile

iPhone 15 / iOS 18.7 / Safari 26.5

  • Browser version matched
  • Graphics rendering matched
  • Graphics chip matched
  • Installed fonts matched
  • Time zone matched
  • Screen size matched
Every check above matches the iPhone this device profile is modelled on. That tells you what a website sees. It is not a promise about how any particular website will treat it.

The iPhone above is one of the models a paid plan can pick. New profiles get a randomly chosen iPhone model from those your plan includes that are open for new profiles; you can also pick a model yourself. 7 iPhone models, from the iPhone 13 to the 15 Plus, in Safari 26.4–26.6.1. The browser is built from WebKit, Safari's engine. We compare what websites can measure against real iPhones. Any difference counts as a bug in the engine.

A proxy that stops working says so.

See whether each saved proxy works and when it was last checked. Test gives you a fresh check any time.

The Test button shows how fast your proxy is. The full Test also shows the country and city it exits from, and whether calls and the newest web connections (HTTP/3) get through. Your session's traffic leaves only through your proxy or VPN, never around it.

Connection health4 proxies
Proxy Country Result Last test
residential-nl-01 NL ok · 62ms just now
residential-de-04 DE ok · 88ms just now
datacenter-us-11 US ok · 141ms · stale 6h ago
residential-fr-02 FR connection refused just now
A failing proxy tells you why, and an old result says how old it is instead of pretending to be current. Response times shown are an example.

One window for all your profiles.

Each profile is a small phone-shaped card. At a glance you see whether it is running and which city it browses from.

The Driftstack desktop app, Profiles view: eight iPhone profile cards, each drawn as a small phone showing its name — amsterdam shopper, tokyo sneakers, london checkout, paris fashion and more — the iPhone model it runs as, whether it is Live or Idle, the city it browses from (Amsterdam, Tokyo, Zurich, Berlin, London, Paris) and a Launch button, with the app's sidebar on the left.

Sort profiles into folders: by client, by region, by job. Tags cover anything folders don't. A green Live dot means that profile is running right now. Duplicate a profile. Delete one and it waits in the recycle bin for 7 days. Record a session and replay it later. Recordings stay on your computer.

Some jobs are pure repetition: check these listings, fill this form, collect these screenshots. Hand them to the AI agent. Run it in pair mode and you can take over any time, mid-task, with one click, then hand back.

See it work for yourself.

7-day free trial. No card needed.