iPhone Safari fingerprints. Without the runtime tells.
Most stealth browsers modify JavaScript at runtime.
Detection vendors built their industry on catching exactly that.
We modify WebKit's C++ source instead. There's nothing at the JavaScript layer for detection to find — because nothing was changed there. The fingerprint your code reads is the fingerprint a real iPhone reads. Same engine, same primitives, same source of truth.
16 hours · 14-day window · used once per account.
import { Driftstack } from '@driftstack/sdk';
const ds = new Driftstack({ apiKey: process.env.DRIFTSTACK_API_KEY });
const session = await ds.sessions.create({
archetype: 'iphone-16-pro-ios-26-4-1',
proxy: { type: 'wireguard', config: '...' },
});
await session.navigate({ url: 'https://target.example' });
const challenge = await session.waitForChallenge();
await session.interact({ tap: '#submit' });
const state = await session.getState();
await session.destroy(); Cumulative rig
Bit-identical.
Detection systems read hundreds of small signals — screen size, font rendering, GPU details, JavaScript timing — to identify what kind of device a visitor is. Driftstack matches every one of those signals against a real iPhone, exactly.
Validated against the reference iPhone 16 Pro on iOS 18.7 / Safari 26.4. Every measured signal returns the exact reference value — not approximate, not within tolerance. A signal either matches the reference, or we treat the gap as a launch-blocker bug.
Methodology + signal categories at
/trust/cumulative-rig (when it lands).
Stack
Real WebKit. Real Core Text. Real iOS rendering.
Not a Chromium fork with a user-agent swap. Not Playwright with stealth plugins layered on. Driftstack runs Apple's WebKit C++ source — the same engine your target's iPhone visitors run. The fingerprint primitives your code reads are computed by the same code an iPhone runs.
Metering
Pay per concurrent session, not per call.
Concurrent = how many sessions run at the same time, like browser tabs you'd have open at once. That's the only thing we meter. Within your concurrent cap, run as many hours as you want — no per-call markup, no per-element fees, no hourly metering that turns idle browsers into surprise overage charges. Read 50 elements or navigate 200 pages on the same session — same line item, same price.
Compliance
EU-resident, customer-controlled egress.
Customer data hosted in the EU — compute, database, object storage. Session traffic exits through your network egress (the proxies and VPNs you configure to reach target sites), not ours. We never see your destination URLs. Session execution may run in supported regions outside the EU under SCCs and the EU-US Data Privacy Framework. Full sub-processor list at /trust/sub-processors.
→ SOCKS5 with UDP ASSOCIATE
→ WireGuard
→ OpenVPN
# Driftstack control plane
→ never sees destination URL
→ never sees response bodies
→ only orchestrates session
Built for two audiences
Manual or API. Same engine, different access surface.
Manual
For humans
Open the GUI client. Manage 10–200 persistent profiles. Drive sessions yourself with the keyboard and mouse — same WebKit, same fingerprint primitives, no code required. Account managers, agencies, and solo operators who keep multiple profiles alive across the workday.
- → Solo Manual $79/mo · Team $249/mo · Agency $699/mo
- → 1 / 3 / 8 concurrent sessions per tier
- → Unlimited hours within your concurrent cap
API
For code
SDK in your language (TypeScript, Python, Go). Programmatic session creation. Concurrent caps that scale with your fleet. Production automation, scraping pipelines, integration testing — anywhere a real iPhone Safari fingerprint matters and your code needs to drive it.
- → API Starter $149/mo · Builder $499/mo · Scale $1,499/mo
- → 2 / 8 / 24 concurrent sessions per tier; Enterprise custom
- → Bundled LLM, or bring your own API key from OpenAI / Anthropic, for AI-driven sessions (Builder+)
Not sure which fits? Both ladders share the same engine, the same archetypes, the same trial pack. Start with the $2.99 trial pack, evaluate the surface that matches your workflow, then subscribe.
Pricing
Two ladders. One trial pack to start.
$2.99 buys 16 hours of iPhone Safari sessions to evaluate the platform. Then choose: Manual from $79/mo for humans clicking in the GUI, or API from $149/mo for code calling the SDK. Same engine, same archetypes, different access surface. Annual contracts save 20%.
Self-hosted
Run Driftstack on your own infrastructure.
For privacy, sovereignty, or sustained high-volume use. We help you pick the right hardware, deploy the control plane, and operate the fleet. Three SKUs, annual contracts, hands-on onboarding.
See self-hosted →When self-hosted makes sense
- → Privacy-required workloads where session content must not leave your perimeter.
- → Sustained high-concurrency operations where owned hardware costs less than equivalent cloud-tier subscriptions.
- → Full data sovereignty over recordings, screenshots, and request artefacts.