Skip to main content

Your traffic goes through your proxy. Your keys can't be read back. Live video is never saved.

This page is security in plain terms. The deep technical posture — parameter by parameter, control by control — lives at /trust/security-overview.

What we protect, and how.

01 · Transport

Everything between you and us travels encrypted.

All connections to us are encrypted (HTTPS only).

02 · Proxies

Sessions use your own proxy or VPN.

Per-profile SOCKS5 on any plan, OpenVPN or WireGuard on paid plans; the Test button shows what to expect from a proxy before you launch.

A profile can attach a SOCKS5 proxy at a public address as its exit to the internet (egress), or an OpenVPN file (.ovpn) or WireGuard file (.conf) — VPN exits are on paid plans — so websites see that address instead of ours. Before the session starts we check the proxy details and that a SOCKS5 proxy can be reached with a real connection through it, and website address lookups go through the proxy too, so they do not reveal your real location. A VPN file is checked before it is accepted: Driftstack does not run scripts from VPN configs. An OpenVPN file that carries a script directive is refused with the line named; from a WireGuard file only the keys, addresses, endpoint, allowed IPs, DNS and MTU are read — its PostUp/PreUp hooks are never used. Proxies on private or local addresses (for example localhost or a home network address) are not accepted. A VPN tunnel carries everything the profile does, including WebRTC and HTTP/3. On a SOCKS5 proxy, whether WebRTC and HTTP/3 traffic can use the proxy depends on your proxy's UDP support: the Test button shows what to expect before you launch, and a running session shows whether HTTP/3 is actually in use. On a proxy that cannot carry HTTP/3, it is switched off. Your session's traffic leaves only through your proxy or VPN, never around it. The desktop app launches a profile only through the proxy or VPN you chose for it and never picks one for you (a profile with none chosen does not launch), and every agent session names one of your saved proxies when it is created. Driftstack does not route your traffic through a shared exit of its own. Steps are stored without page text (a step held for your approval keeps the words of the control it would press): an AI session's transcript keeps your messages and the AI's replies as written (a reply can quote a page), with card numbers, secret parameters in web addresses and the passwords and codes of four or more characters a step typed into a recognised password or code field masked, and each step with the site it was on, stored encrypted (not end-to-end) and shown on no staff screen. See /trust/security-overview for the full picture.

03 · API keys

We couldn't read your keys if we tried.

Stored only as one-way scrypt hashes — never readable.

API keys are scrambled one-way with scrypt — a deliberately slow algorithm that makes guessing impractical — before they ever touch the database. The readable key is shown exactly once, when you create it; after that nobody at Driftstack — admin, support or operations — can recover it. A database breach would expose scrambled values, not keys. Keys can be rotated with a 24-hour overlap and revoked at any time. The desktop app signs in with a short code you approve in the dashboard, so it receives its own restricted sign-in credential without a key being copied by hand.

04 · Webhooks

Every webhook proves it came from us.

Signed (HMAC-SHA256) · stale messages rejected.

A webhook is a message we send to your systems when something happens — say, a session finishing. Webhooks are signed, so you can check they came from us. Your code checks it with one SDK helper, verifyWebhookSignature (a constant-time compare, built to resist timing tricks). Messages older than the default 5-minute timestamp tolerance are rejected, so an intercepted copy can't be re-sent later ("replay"); secrets rotate per-endpoint without touching the rest of your account.

05 · Team roles (RBAC)

Your whole team can look. Only admins can change.

Admin and member roles; only admins can make changes.

Invite teammates by email from the desktop app or the dashboard; each invitation link works for seven days. Members can view the owner's profiles, past browser sessions, audit log and settings, but only admins can change anything or work in a live session (role-based access control). Sessions, profiles, webhooks, API keys, email preferences — every change is permission-checked before it runs. Audit entries record who acted (the member) separately from whose account it was (the owner). Owners can review recorded activity in the dashboard's audit log, or download it as a CSV export.

06 · Live-media handling

Live video and the network log are never stored.

Live session media is encrypted in transit (DTLS-SRTP); there is no built-in way for Driftstack staff to join your session.

Driftstack keeps what your account needs to run, including your account and plan details, the profiles you save (with their saved browser state), your proxy and VPN settings, session records (id, status, timestamps), AI-agent step records and aggregate usage counts. The Privacy Policy describes how this data is kept. Live-session streams are encrypted in transit, used to deliver the session to you, and dropped when the session ends. The network log is held in memory only and is never written to disk. Driftstack staff have no built-in way to join a customer's live session. Screenshots, page snapshots and PDFs you request through the sessions API are returned directly in the API response and are not stored. In an AI-agent session the screenshot from each step is kept in server memory so the desktop app can show it: at most 20 per session, served only while the session is running and for no more than 30 minutes after it was taken, then dropped. It is never written to disk. Your desktop recordings stay on your own computer and are not uploaded.

Honest scope.

  • No SOC 2. Driftstack is not SOC 2 certified. The current compliance basis is documented in the trust center; we do not imply certification through vague "enterprise-grade" language.
  • No ISO 27001. Driftstack is not ISO 27001 certified. The trust center documents the controls and evidence currently in place.
  • Sub-processors are published. The live register lists every provider with its purpose, region, and transfer mechanism, including conditional services. Read it at /trust/sub-processors.
  • Account data in the EU, sessions in the US or the Netherlands. Servers and database are in the EU (Hetzner, Germany; Neon EU). Uploaded files (avatars, for example) are on Cloudflare R2, which can keep copies outside the EU. The sessions themselves run on Macs hosted in the US (MacStadium), under the EU's Standard Contractual Clauses (SCCs) and the EU-US Data Privacy Framework, or in the Netherlands (Green Mini host). Details in the sub-processor list.

Specific question your security team is asking?

Email your security team's question. We answer in writing, no NDA needed.