Security and privacy
Unreleased campaigns, pricing and product names pass through this system. Rather than claim certifications we do not hold, here is how your content is handled at each layer and where the limits are. The long version is the security page on the site, and the privacy policy.
The security pack
The pages below answer the questions a security review asks, one subject per page. Each statement is something the service does today; where we cannot make a claim, the page says so.
- Controls we have: each control, what it means for you and how it is enforced, then what we do not have.
- Where your text goes when a model is used: the steps from upload to finding and what each AI provider receives.
- Sub-processors: every service that handles data for us, with its purpose and region.
- Backups, recovery and continuity: the backup schedule, retention, recovery points and the restore drill.
- Support and incidents: how to reach us and how we tell you about an incident.
- Status and uptime: where to see the service's state and what we promise about it.
- Data processing agreement: what the agreement covers and how to get it.
What we protect, and how
- Isolated by workspace. Profiles, glossaries, uploaded files, runs and reports belong to a single workspace. There is no shared pool of customer content, and one tenant cannot read another.
- Least data by default. We process your bilingual files to run the check and produce a report, and no more. The uploaded file is removed within 24 hours; the report stays in your workspace until a workspace admin deletes it or until the workspace's retention setting removes it, and a deleted report leaves our backups within 14 days. Our servers run on Railway in its europe-west4 region, in the Netherlands. An admin sets the retention in days in Settings under Security and data or through the API; a nightly sweep deletes the QA reports and the finalized LQA scorecards older than that, with their files, decisions, edits and sign-offs. A sweep deletes at most 2,000 reports a night, so a large backlog can take several nights. Uploaded files keep their 24 hour rule, and bake-off records are not covered yet. By agreement, we keep separate copies of uploaded originals for longer; we set the duration per workspace.
- Access is scoped. Sign-in is per workspace and roles decide what each member can reach. Translators see only their own runs. An assistant you connect by signing in gets access that lasts an hour at a time, stored only as a fingerprint, and you can disconnect it at any time.
- Enforced in the API. Hiding a page is a courtesy. Every permission is checked again server-side.
- Fails closed. An unmapped organisation, an unknown project or a bad signature is refused. A check that could not run reports as not checked, never as passed.
- An audit trail per workspace. Every workspace has an audit trail: who signed in, who changed a role or a key, who exported a report or downloaded a corrected copy, who changed a finding, raised or resolved a dispute, finalized or reopened a scorecard. The rows hold the action and the fields that changed, never the text of your segments, and they form a hash chain you can verify. People are named as they were at the time. An admin downloads it as CSV from the API (Audit trail). It is deleted with the workspace and is not covered by the retention setting: the rows that record a sweep are kept.
- Your file is not edited. We read the bilingual file. Corrections are made by a person in your own tool, or written into a copy you ask for.
- Known versions only. Every build installs the exact library versions in a hash-checked lock file; a build that would get a different version or a different file fails instead. The locked set is scanned for known vulnerabilities when it changes.
AI providers
The deterministic rules run without a model. When a model is used:
- Document text is fenced. Source and target text is wrapped as untrusted data before it reaches a model, with an instruction to assess it rather than obey it. A segment that contains instructions is content, not a command. This holds in the segment review and in the whole-file review alike, and an answer that copies a run of our own instructions or their marker is dropped before it is stored, a mitigation with limits rather than a guarantee. Where your text goes when a model is used has the steps.
- Not training data. Your segments are never used to train our models.
- A setting you control. Your workspace admin chooses which providers may receive its text, in Settings, AI review. New workspaces allow Google Gemini, OpenAI and DeepInfra. To keep all segment text on the platform, allow no provider: the rules still run.
- Platform keys. AI calls run on our own accounts with each provider, not on keys you supply.
- A person still signs. The model proposes and gives its opinion. A reviewer confirms or overrides, and no result is final without one.
Connectors
Connecting a platform means trusting us with a token. Connector secrets are encrypted in storage and never returned by the API, including to you. Webhooks are verified with your workspace's own secret inside a five-minute window with replay protection. A platform project belongs to exactly one workspace; a conflict routes to neither until resolved. Every rejection is answered the same way, so the webhook cannot be used to discover which projects are connected. We fetch the bilingual file for the locale in the event and modify nothing in your platform.
What we do not claim
We are a working product, not a certification. We are not claiming SOC 2 or ISO 27001, and we will not imply one is in progress to move a deal along. If a specific control matters to your procurement, ask and we will tell you exactly where we stand on it, including where the answer is no. Controls we have ends with the list of what we do not have. A data processing agreement is available for Business and Enterprise; the text is sent on request (Data processing agreement).
Known limits
Background work is shared across tenants, so a very large job can slow other tenants' queued work. Large platform-wide scans are capped and labelled partial. Some content formats are out of scope.
Responsible disclosure
Support and incidents has this paragraph too, with how we answer.
If you think you have found a security issue, tell us privately first, give us a reasonable window to respond and please do not access data that is not yours while testing. Use the contact form and it reaches a person.