Skip to content
qaitai
Menu
Get started

Draft · not in force · pending review by counsel

DRAFT — not legal advice. Requires review by counsel before publication. Placeholders in [[DOUBLE_BRACKETS]] must be filled first; see docs/legal/README.md.

Subprocessors

Last updated: [[EFFECTIVE_DATE]]

This page lists the third parties that [[LEGAL_ENTITY]] ("qaitai", "we") uses to process customer personal data for qaitai Cloud (app.tryqaitai.com). It is Annex III of our Data Processing Addendum.

Self-hosted qaitai is different. If you run qaitai yourself, we are not a processor and none of these services receive your data from us. Your instance talks only to the services you configure.

Bring your own key (BYOK). When your workspace uses your own model or browser key (for example an Anthropic, AI Gateway, Bedrock, OpenAI-compatible, Steel, Browserbase, Kernel, Anchor or Browser Use key), that provider processes the data under your agreement with them, not as our subprocessor. We only pass the data through to the provider you chose.

Active

These are in use on qaitai Cloud today.

SubprocessorPurposeData it receivesLocation
Vercel, Inc. (AI Gateway)Routes model calls to the model provider; spend tracking and provider fallbackEverything sent to the model (see "What the model sees" below)[[VERCEL_GATEWAY_REGION]] (US by default)
Anthropic, PBCAI model that drives the test agent (called through Vercel AI Gateway, or directly when the Gateway is not configured)What the model sees (below)US
Steel (Steel.dev)Cloud browsers the agent drives; live view of a runFull browser session with the app under test: every page, request and response, including test credentials typed into the pageUS ([[STEEL_REGION]])
GitHub, Inc.Sign-in, repository access through the qaitai GitHub App, pull request checksYour GitHub identity; we read repository metadata, pull requests, deployments and (read-only) contents you grant; we write check results (run summary, findings, links) to your PRsUS
[[DATABASE_PROVIDER]]Primary database (Postgres)All account and run data: users, workspaces, prompts, run steps, findings, audit log; secrets and BYOK keys stored encrypted[[DATABASE_REGION]]

"What the model sees": your journey prompt, the page URL, accessibility snapshots of the page, JPEG screenshots of the page (only the two newest stay in the conversation), results of the agent's actions and the model's own reasoning. Test secret values are never sent to the model: the agent refers to them by name (@secrets/login) and a tool types the value into the page. Secret values are also redacted from snapshots and recorded reasoning. A screenshot is a picture of the page, so if your app displays a secret on screen, it can appear in a screenshot.

Planned

Not yet in use. Each will move to "Active" with at least 30 days' notice (see below) before it receives customer personal data.

SubprocessorPurposeData it will receiveLocation
Vercel, Inc. (hosting)Hosting the web app and API (apps/web)All traffic to app.tryqaitai.com, and so all data above in transit[[VERCEL_HOSTING_REGION]]
Fly.io, Inc.Short-lived machines that run each test worker (agent + browser), and fallback web hostingThe job for that worker: prompt, target URL, the secrets that prompt references (decrypted in memory only), the browser sessionRegion nearest the target app, else US (iad); Enterprise can pin a region
Amazon Web Services, Inc. (KMS)Managed key that wraps the per-value data keys used to encrypt secrets and BYOK keysWrapped (encrypted) data keys only; never plaintext secrets or other customer data[[AWS_KMS_REGION]]
Cloudflare, Inc. (R2) — or AWS S3Storage of run screenshots and replays (recordings)Screenshots and replays of the app under test, which show whatever the page showed[[STORAGE_REGION]]
Hatchet Technologies, Inc. (Hatchet Cloud) — only if we use the hosted service; we may self-host Hatchet insteadJob queue and schedulingTask metadata only: workspace ID, run and worker IDs, a focus label. No prompts, page content or secrets[[HATCHET_REGION]]
Stripe, Inc.Subscription billing, invoices, taxBilling contact name and email, billing address, payment method (collected by Stripe directly; we never see full card numbers), plan and usage totalsUS
Resend (Plus Five Five, Inc.)Transactional email: sign-in links, invitations, run notificationsRecipient email address, email content (for example a run summary and link)US
Functional Software, Inc. (Sentry)Error monitoringError reports and stack traces with personal data scrubbed (no request bodies, cookies, auth headers, query strings, emails or IPs; tokens masked); may include user or workspace IDs[[SENTRY_REGION]]
PostHog, Inc.Product analytics (qaitai Cloud only; off by default when self-hosted)Pseudonymous user ID, pages viewed (without query strings or share tokens) and product events with IDs only; no session recordings, no page content from apps under test[[POSTHOG_REGION]] (EU or US)
Langfuse GmbHTracing of model calls for quality and costModel, token counts, latency and cost for every traced call; model inputs and outputs with secret values and screenshots redacted, only for managed-key runs and for BYOK runs of workspaces that opt in[[LANGFUSE_REGION]] (EU or US)
TypeSafe AI (Jev, via Vercel AI Gateway)Evaluation model that double-checks findings and risky actionsJourney prompt, the agent's proposed finding or action, and page context; may include screenshots[[TYPESAFE_REGION]]

Not subprocessors

  • Google (sign-in with Google): an identity provider you choose to use; it receives only what the Google sign-in flow sends it.
  • Your own infrastructure (remote runners you host, BYOK providers you choose, your SMTP server on self-hosted instances).

Changes to this list

  1. We update this page and the "Last updated" date at least 30 days before a new subprocessor starts processing customer personal data.
  2. We email the billing and admin contacts of paid workspaces, and anyone who subscribes at [[SUBPROCESSOR_NOTICE_SIGNUP]].
  3. You can object in writing to privacy@tryqaitai.com within that 30 days. We will try to find a reasonable alternative; if we can't, you may terminate the affected service and get a pro-rata refund of prepaid fees.

In an emergency (for example a provider outage) we may add a replacement sooner and will notify you as soon as we can.

Engineering rule: adding a model provider, browser provider or any external service to qaitai Cloud production config requires a PR that updates this page. See the checklist in README.md.