Trust at InnoQualis
InnoQualis operates an Electronic Quality Management System for regulated industries — medical devices, pharmaceuticals, and life sciences. This page documents our compliance posture, sub-processors, security stance, and audit-trail commitments so that customers and prospects can verify our claims without booking a sales call.
Current posture is mostly In Progress ahead of our Phase 26 cloud cutover. Items transition to Self-Attested as controls are implemented and to Validated as third-party audits complete.
Compliance posture
We target the following standards for the EQMS itself. Customers using InnoQualis to manage their own ISO 13485 / GMP programmes inherit our controls but operate under their own certifications.
| Standard | Status | Notes |
|---|---|---|
| ISO 9001 | In Progress | General QMS framework — controls in place, third-party validation targeted Phase 26+ (cloud cutover). |
| ISO 13485 | In Progress | Medical-devices QMS — controls in place, third-party validation targeted Phase 26+. |
| GMP | In Progress | Pharmaceutical Good Manufacturing Practice — controls in place, validation targeted Phase 26+. |
| 21 CFR Part 11 | Self-Attested | Electronic records and electronic signatures — append-only audit trails, soft-invalidation of signatures, six-eyes approval flows. See audit-trails section below. |
| GDPR | Self-Attested | Data minimisation, production hosting moving to Germany, right-to-erasure tooling. |
In Progress — we are targeting this standard; controls are partially or fully in place but no third-party validation has completed.
Self-Attested — we conform to the standard's requirements with documented controls; no third-party audit has occurred.
Validated — third-party auditor has reviewed and attested. None today; transitions expected after Phase 26.
Security overview
Encryption at rest
All persisted data — PostgreSQL, object storage, Stripe webhook secrets per Spec 21.2 — is encrypted with AES-256 via the platform's managed KMS. Encryption keys are rotated per the KMS provider's default schedule.
Encryption in transit
TLS 1.2 or higher is enforced on every public endpoint. Certificate expiry is monitored by the Spec 30.2 blackbox uptime + SSL probes. HSTS is on for all `*.innoqualis.com` hosts.
Vulnerability management
Dependency audit gates run on every PR (Renovate / Dependabot rules per the Phase 13.5.x hardening). Critical CVEs block merge. SAST scans the codebase on every push.
Secret management
Secrets never live in source. Production secrets are scoped per-environment in the platform secrets manager; rotation is automated for managed credentials (DB, KMS) and manual with reminders for third-party API keys.
Data residency
InnoQualis's production infrastructure is moving to OVHcloud, hosted in its Frankfurt (Limburg) data centre in Germany, in the European Union. The provider and region are decided and the migration is under way; this page will drop the migration language once the cutover is complete.
- Primary region — OVHcloud, Frankfurt (Limburg), Germany, where compute and storage for the production platform are being provisioned.
- Backups — as part of the same migration, backup copies will be kept independently of the primary hosting provider: a nightly off-site copy with Hetzner Online GmbH (Germany) and a secondary copy with Backblaze B2 (EU region), so a single provider incident cannot take out the primary data and its backups together.
- EU member-state residency — if your procurement requires data to stay in a specific EU member state, raise it with us early; we are set up to have that conversation.
- Sub-processor data flows that traverse non-EU jurisdictions (e.g. OpenAI inference in the US) are governed by the Standard Contractual Clauses in each sub-processor's DPA. See the sub-processors table below for the routing of every data flow.
- Tenants with strict residency requirements can disable AI-Compliance-Officer features (which route prompts through non-EU LLM providers) at the workspace level.
Sub-processors
Per GDPR Article 28(2), we publish the full list of third parties that process tenant data on our behalf. We update this list before onboarding a new sub-processor.
| Sub-processor | Location | Purpose | Data flows | DPA |
|---|---|---|---|---|
| Stripe Payments Europe Ltd. | Ireland (EU) | Payment processing for paid plans | Billing email, payment method (card), tax ID | DPA |
| OpenAI, L.L.C. | United States | Large language model inference (AI Compliance Officer) | Document text and prompts only — training opt-out enabled at the workspace level | DPA |
| Microsoft Ireland Operations Ltd. | EU (Ireland) | Transactional email delivery and optional SharePoint document integration | Transactional email content; SharePoint OAuth tokens; document metadata for ingest | DPA |
| OVH SAS | Germany — Frankfurt (Limburg) | Infrastructure hosting (compute, storage) — selected provider, migration in progress | All tenant data at rest and in processing, once migration completes. OVHcloud holds ISO/IEC 27001, 27017 and 27018 certification for its EU data centres — that certification is OVHcloud’s own, covering the infrastructure InnoQualis is moving its production workloads onto, not an InnoQualis certification. | DPA |
| Hetzner Online GmbH | Germany | Off-site backup storage, independent of the primary hosting provider — migration in progress | Nightly encrypted backup copies of tenant data, once migration completes | DPA |
| Backblaze, Inc. | European Union | Secondary backup copy, independent of both the primary hosting provider and the off-site backup provider — migration in progress | Monthly encrypted backup copies of tenant data, once migration completes | DPA |
| Cloudflare, Inc. | Global network, EU data localisation available | Content delivery network and access control for the platform — planned as part of the same rollout, not yet in front of production traffic | Network traffic metadata; request routing for public-facing pages and the control panel, once rolled out | DPA |
Audit trails and retention
Quality records and audit trails follow 21 CFR Part 11 §11.10(e): append-only, tamper-evident, retrievable for the regulatory retention period.
- Every state-changing action on a controlled record (document, deviation, CAPA, change control, audit, training assignment) emits an immutable audit-trail row scoped to the tenant.
- Electronic signatures use soft-invalidation (
invalidated_at+invalidation_reason) — never hard-delete. The full signing history of any record is always recoverable. - Default retention: 10 years post decommission. This matches the upper bound of common medical device regulations (e.g. EU MDR Article 10(8); 21 CFR Part 820 §820.180(b)). Tenants in other regulated industries can configure a longer retention via support.
- Audit trails are tenant-isolated — cross-tenant queries are impossible by construction (every query layer enforces a tenant scope; tested at the integration layer).
Vendor support access
InnoQualis engineering staff (“vendor support”) can access an operational control panel to support your workspace — troubleshooting, account setup, subscription management. This is the same relationship as a cloud provider’s support staff to your cloud project: scoped to operations and analytics, never to the content of your quality records.
- Who can get in. A vendor support account is a separate account type, gated on three independent checks: an
@innoqualis.comemail domain, two-factor authentication, and an optional IP allowlist. A tenant’s own Admin account can never satisfy this gate. - What vendor support can see. Aggregate analytics and user-management fields only: tenant name/plan/ active-user counts, record counts per module, and user directory entries (name, email, role). Vendor support does not see document bodies, deviation narratives, complaint descriptions, CAPA content, signature payloads, or any other quality-record content.
- The one exception. In-app support tickets your users submit through the feedback widget are, by design, addressed to InnoQualis support — support correspondence you initiated, not a quality record we’re reaching into.
- Every access is logged. Every request to the platform support surface writes an immutable, tamper-evident row to the same hash-chained audit-log table used for tenant records — operator identity, tenant touched, endpoint, method, and timestamp — kept distinct from your own audit trail. Available on request for an audit.
- Not yet built: time-bound access grants and proactive tenant notification of vendor access. On our roadmap; today the control is the access log above, available on request.
Incident history
No public-facing incidents to date.
Incidents that affect customer data, availability, or compliance posture are published at status.innoqualis.com (Phase 26.9 deliverable) with: short description, customer impact, timeline, root cause analysis, and remediation. We commit to publishing within 72 hours of incident resolution.
Compliance officer contact
General compliance
compliance@innoqualis.comAvailable after Phase 26 cutover. Until then, reach the founder team via the in-app feedback widget.
Data Protection Officer (GDPR)
dpo@innoqualis.comFor data subject requests (access, erasure, portability) and GDPR-specific queries.