Security & Data Protection
Version 1.2 · Last updated: November 9, 2026
Summary
PlaxorStack lets businesses build, train and deploy machine-learning models on their own data. One customer's training data is never mixed with another customer's. This page explains where data is processed, which security controls are in place, and where our commitments stop. It is not an independent audit report.
Need our Data Processing Agreement or Transfer Impact Assessment? Request them below. The companies that process data for us are listed here.
1. Platform architecture and data flow
Our main application, database and file storage are in Europe. The application and database run on Contabo in Germany. Uploaded files, trained models and result files are kept in Azure Blob Storage in an EU region. GPU training may run in other countries, including the US.
- File upload: files are uploaded from the browser directly to Azure Blob Storage. Our application server then reads them to check them and prepare them for training.
- GPU training: each training starts a new GPU worker on RunPod, which is destroyed when the training finishes. No storage is shared between trainings. The worker downloads the training file it needs, and our code deletes its temporary files when it is done with them.
- Other services: Cloudflare carries website traffic. The API connects directly to the main server. Google Workspace sends account email. Optional features, such as AI Brain, connected actions, the customer's own AI keys and the customer's own external systems, add further processing paths. Section 2 describes them.
2. AI services and data minimization
All managed AI requests, including Gemini models and the Data Advisor, go through OpenRouter. Zero data retention is required twice: on every request, and by our OpenRouter account settings. We confirmed this on live traffic on 6 November 2026. This is a configuration and provider-policy control, not a signed guarantee of zero retention. OpenRouter keeps request metadata, and safety-screening exceptions may apply.
Each model is limited to a list of approved hosts (see Sub-processors). A request is never sent to a host that is not on its model's list.
What the AI sees, and what it never sees
- Table model with AI Brain: the AI receives the model description, field names, chat messages, values the user types, prediction results and a short running summary of the chat. It never receives training files or dataset rows.
- Photo model with AI Brain: the AI receives the model description, chat messages and the model's result. It never receives the photo or training files.
- FAQ / semantic search: the AI receives the question, the chat messages and the article passages that match the question. Other articles are not sent.
- Data Advisor (home page): the AI receives what the person types about their business. No files are uploaded.
- Model without AI Brain: nothing is sent to any AI. Predictions run on our server in Germany.
Gemini note: Gemini models run on Google Vertex. Even with zero data retention, Google may keep a prompt that its safety screening flags, in order to investigate abuse. The Data Advisor uses Qwen 3.8 27B. It uses Gemini 3.5 Flash only if Qwen is switched off. Both go through OpenRouter with zero data retention required. If a customer uses their own AI key, their provider's terms apply, not our managed route.
3. Encryption
- In transit: TLS 1.2 or newer on the website, the API and the internal job queue. Older cipher suites were removed from the API on 6 November 2026. The link between Cloudflare and our server uses Full (strict) mode: it is encrypted, and Cloudflare checks our server's certificate.
- At rest: the database, Azure Blob Storage and the nightly backups are encrypted at rest with AES-256. Error logs are stored in the database, so they are encrypted at rest too. Customer credentials and connected keys stored by us are encrypted with AES-256-GCM. We do not claim encryption at rest for the temporary files on a GPU worker.
4. Customer separation and access control
- Data separation: uploaded files are stored under paths that belong to one subscription. A customer's data trains only that customer's models.
- Administrative access: only our system administrator has direct access to the database and storage, using SSH keys (password sign-in is off). Inside the app, viewing a customer's content needs a platform admin role, a verified second factor or passkey, and a stated reason. Administrative actions are written to an audit log, which the application cannot change. It is kept for 365 days and then deleted. The application does not support signing in as a customer.
- Customer sign-in: two-factor authentication, passkeys, and Google and Microsoft sign-in are offered. Accounts are locked for a while after repeated wrong passwords. API keys are stored as hashes and shown only once. A revoked key stops working within about one minute.
- Website widget: a widget key can be limited to the customer's listed websites. The server checks the page's origin when a visitor's session starts, and the browser is told which sites may frame the widget. Each widget key can use at most half of the plan's monthly messages and half of its predictions. This limits abuse of a copied public widget key, but origin headers can be spoofed outside browsers. Per-minute limits also apply.
- API limits: each API key has per-minute limits and at most eight predictions running at once. Webhooks we send are signed with HMAC-SHA256.
5. Data retention and deletion
- Uploaded files and trained models: kept until the customer deletes them.
- Website widget chats: deleted after 180 minutes without a message, and never kept more than 24 hours.
- App, API and MCP chats: not stored by the chat system.
- Result PDF/ZIP files: deleted after 7 days.
- Webhook delivery bodies: deleted after 30 days.
- Audit log / error logs: kept for 365 days / 90 days.
- Data Advisor unmatched requests / plans: deleted after 90 days / 365 days.
- Ended subscriptions: data is deleted 30 days after a trial ends and 90 days after a paid plan ends. We send warning emails 14 days and 3 days before.
- Backups: deleted data can remain in encrypted backups for up to 14 days, until those backups expire.
6. Backups and recovery
- Encrypted database backups run every night and are copied to a separate storage account in Europe, where each copy is kept for 14 days. The server can add a copy but cannot read or delete earlier copies.
- Our recovery target is 24 hours. Because backups are daily, up to 24 hours of data can be lost if the server fails.
- We completed our first restore test on 6 November 2026. Restore tests are scheduled monthly, the next by 6 December 2026.
7. Security operations
- Incident response: we have a written incident-response procedure. How and when we notify customers of a personal data breach is set out in the Data Processing Agreement.
- Patching: servers are patched monthly, with a target of seven days for critical fixes.
- Monitoring: server and service health are monitored continuously.
- Access reviews: privileged access is reviewed every quarter. The first review is due by 30 November 2026.
8. What we do not offer today
To be clear about our limits, the platform does not currently have:
- SOC 2 Type II or ISO 27001 certification.
- An independent third-party penetration test.
- SAML single sign-on.
- A choice of hosting region. The main application and storage are in Europe; GPU training and AI hosts may be elsewhere, as described above.
9. Sub-processors
These companies process customer data for us. Each is bound by a data processing agreement; transfers outside the EU are covered by Standard Contractual Clauses or the EU-US Data Privacy Framework.
| Company |
What it does for us |
Where |
| Contabo | Main application and database | Germany |
| Microsoft Azure | Storage for uploaded files, models, results and backups | EU region |
| Cloudflare | Website traffic and protection | US / global |
| Google Workspace | Account email | US |
| RunPod | GPU training workers, one per training | US / worldwide |
| OpenRouter | Routing of managed AI requests, zero data retention required | US |
OpenRouter passes each request to a host of the chosen AI model. Each model may only be served by the approved hosts below, each offering zero data retention. If none of them can answer, the request fails. It is never sent to another host.
| AI model |
Approved hosts |
| Qwen 3.8 27B | DeepInfra, Cerebras (US) |
| Qwen 3.8 2.4T | Novita, Venice (US) |
| Gemini 3.5 Flash | Google Vertex (global, US) |
| Gemini 3.1 Pro | Google Vertex (global) |
| OpenAI GPT-5.5, GPT-5.6 Sol | Microsoft Azure (EU first, then global) |
| Mistral Large | Mistral (EU) |
| Claude Opus 5 | Amazon Bedrock (EU, Ireland), Google Vertex (Europe) |
We give at least 30 days' notice before adding or replacing a sub-processor, as set out in the DPA.
Not sub-processors: Paddle bills you as Merchant of Record under its own terms. Integrations you switch on yourself, such as connected actions, webhooks to your systems, your own MCP servers or your own AI keys, send data to companies you choose and contract with.
10. Request the DPA and TIA
Our Data Processing Agreement (DPA) sets out how we process personal data on your behalf. Our Transfer Impact Assessment (TIA) covers data that leaves the EU, such as GPU training and AI hosts. Tell us who you are and we will email you the documents after a short review.