Legal
Subprocessors
UAB Silotech uses the providers below to run Formius. Each one processes personal data only to provide its service to us, under a data processing agreement. This list is part of our Data Processing Agreement.
- Last Updated:
- October 1, 2026
- Contact:
- privacy@silotech.xyz
| Provider | Purpose | Data it receives | Location | DPA |
|---|---|---|---|---|
| Supabase | Database, file storage and admin sign-in (one-time email codes) | All customer data: account email, form definitions, form responses, respondent email addresses, uploaded files (including ID document images), IP address and browser user agent of submissionsReceives form respondent data | EU (Frankfurt, Germany, AWS eu-central-1) | Supabase DPA |
| Vercel | Application hosting, serverless functions and scheduled jobs | All requests to the application pass through it, including form responses in transit, IP addresses and request logsReceives form respondent data | EU (Frankfurt, Germany, region fra1) for serverless functions; static files are served from the nearest Vercel edge location | Vercel DPA |
| Upstash (Vercel KV) | Key value store behind Vercel KV, used for rate limiting and short-lived AI form generation state | Short-lived rate-limit counters keyed by IP address or email address, and for about 5 minutes the prompt and form structure of an AI form generation in progress. No form answersReceives form respondent data | EU or US, per provider DPA | Upstash (Vercel KV) DPA |
| Resend | Transactional email: submission confirmation links to respondents, and new response and form deletion emails to form owners | Recipient email address, form title and the confirmation link. Form answers are not included in emailsReceives form respondent data | EU or US, per provider DPA | Resend DPA |
| PostHog | Product analytics | Usage events from signed-in customers. On public form pages: anonymous page and progress events, with nothing stored on the respondent device. For each submission: counts and the domain part of the respondent email address (for example "example.com"), with IP geolocation disabled on server events. Form answers are not sentReceives form respondent data | EU (PostHog EU Cloud) | PostHog DPA |
| Fly.io (self-hosted GlitchTip error monitoring) | Error monitoring. We run GlitchTip, a Sentry-compatible error tracker, ourselves on Fly.io. The Sentry SDK in the app sends its reports to that server, not to Sentry | Technical error reports, which can include the page address, browser details and diagnostic context such as account user IDs and form IDs. Default personal data collection is off; before sending, cookies and authorization headers are removed, email addresses are masked in error messages and diagnostic context, IP addresses and user agents in diagnostic context are removed, and error session replays mask all text and block all media | EU (Amsterdam, Netherlands) | Fly.io (self-hosted GlitchTip error monitoring) DPA |
| Stripe | Subscription billing, checkout, tax and customer portal | Customer billing details entered at checkout (name, email address, payment method, billing address). No respondent data | EU or US, per provider DPA | Stripe DPA |
| Google Cloud (Vertex AI, Gemini) | AI form generation and editing. Form generation runs on one provider at a time, chosen in configuration: this one, Anthropic or Vercel AI Gateway | The prompt the customer writes and the form structure being generated or edited. No respondent data | EU (Vertex AI EU multi-region) | Google Cloud (Vertex AI, Gemini) DPA |
| Anthropic | AI form generation, the form chat agent and its checks (Claude), and the fallback for lesson text generation. Form generation runs on one provider at a time, chosen in configuration: this one, Google Cloud or Vercel AI Gateway. Production uses this one through Vercel AI Gateway with inference pinned to the EU, so the model runs on Amazon Web Services Bedrock in Frankfurt. Also the fallback model for lesson text generation | The prompt the customer writes, the form structure being edited, files the customer attaches in the form chat and the lesson request the customer writes. No respondent data | EU in production (Vercel AI Gateway with EU inference, AWS Bedrock eu-central-1, Frankfurt) | Anthropic DPA |
| Amazon Web Services (Bedrock, through Vercel AI Gateway) | Runs the Claude model for form generation and the form chat agent when Vercel AI Gateway routes the request with EU inference | The prompt the customer writes, the form structure being edited and files the customer attaches in the form chat. No respondent data | EU (Frankfurt, Germany, eu-central-1) | Amazon Web Services (Bedrock, through Vercel AI Gateway) DPA |
| Vercel AI Gateway | Routing of AI model requests: form generation and the form chat agent (Claude, with inference pinned to the EU), lesson generation and lesson answer feedback | Customer prompts and lesson content; for optional lesson feedback, the learner answer, the lesson question and the saved rubric, without the learner email addressReceives form respondent data | EU or US, per provider DPA | Vercel AI Gateway DPA |
| OpenAI (through Vercel AI Gateway) | Not used by default since 2026-10-01, when lesson models moved to EU inference. Used only if a lesson model setting names an OpenAI model, which the EU inference option then refuses | The lesson request the customer writes; for optional feedback, the learner answer, the lesson question, the saved rubric and reference material, without the learner email address or other form responsesReceives form respondent data | EU or US, per provider DPA | OpenAI (through Vercel AI Gateway) DPA |
| Google Gemini (through Vercel AI Gateway) | Lesson text generation, optional AI feedback on lesson answers, and lesson illustration generation and validation, with inference pinned to the EU (Vertex AI EU) | The lesson request and prompts the customer writes; for optional feedback, the learner answer, the lesson question, the saved rubric and reference material, without the learner email address or other form responses | EU (Vercel AI Gateway with EU inference, Google Vertex AI EU) | Google Gemini (through Vercel AI Gateway) DPA |
Transfers outside the EEA
Form responses and uploaded files are stored in the EU (Frankfurt, Germany). Where a provider above processes personal data outside the EEA, for example in the United States, the transfer relies on an adequacy decision (including the EU-US Data Privacy Framework where the provider is certified) or on the Standard Contractual Clauses of Commission Implementing Decision (EU) 2021/914, included in that provider's DPA.
Changes to this list
We announce a new or replacement subprocessor at least 30 days before it starts processing customer data, by updating this page and emailing account owners. Customers can object during that period, as described in section 8 of the DPA.