Reqlio

Security at Reqlio

Last updated 24 September 2026 · covers the application at <customer>.reqlio.eu

Reqlio holds the requirements, verification evidence and review history of engineering teams. This page says, in plain terms, where that data lives, who can reach it, what leaves the EU and why, what happens when something breaks, and what we have not done yet. The questionnaire at the end is pre-filled so your security review can start from answers rather than from a blank form.

One database per customerPostgreSQL, no shared tables, tenant bound into every session token
Frankfurt, Germanycreoline GmbH (ISO/IEC 27001:2022) in firstcolo FRA4 (ISO/IEC 27001:2022, DIN EN 50600 level 3)
MFA and SSOTOTP on every login, Google Workspace sign-in with domain restriction, admin-MFA policy per organisation
Your data leaves the EU only for AIAnd only when a project has AI switched on; never for training
Nightly backups, copied off-site, tested restoresPulled nightly to a second location outside the hosting provider; scripted restore drill, last run 9 September 2026
Exports always onReqIF, XLSX and CSV on every plan, during the trial and after cancellation

What we do not have. No ISO 27001 certificate of our own (our hosting provider and the data centre hold theirs), no external penetration test yet (one is planned for the first quarter of 2027), and no live database replica: recovery is restore from the nightly backup. We would rather you read that here than find it in the questionnaire.

On this page

  1. Architecture and tenancy
  2. Hosting and physical security
  3. Encryption
  4. Data location and sub-processors
  5. AI: what is sent, where, and how to turn it off
  6. Authentication and access control
  7. Secure development and change control
  8. Vulnerability management and disclosure
  9. Logging and monitoring
  10. Backups, recovery and continuity
  11. Incident response
  12. GDPR and the data processing agreement
  13. People and organisation
  14. Questionnaire (pre-filled)

1. Architecture and tenancy

Reqlio is a single-page web application talking to one API, backed by PostgreSQL. Each customer gets their own subdomain (yourcompany.reqlio.eu) and their own PostgreSQL database. There are no shared content tables and no tenant-id column that a missed WHERE clause could leak across; a query physically cannot reach another customer's data because it is connected to a different database.

Web, API and database run as separate containers on one virtual server, behind a TLS-terminating reverse proxy. There is no content delivery network and no edge cache: a request from your browser goes to Frankfurt and back.

2. Hosting and physical security

Production runs on virtual servers operated by creoline GmbH, Bergstraße 9a, 48341 Altenberge, Germany, certified to ISO/IEC 27001:2022 by TÜV SÜD (registration 12 310 69090 TMS, valid to March 2028) for the operation and maintenance of virtual servers and infrastructure. The hardware stands in the FRA4 data centre of firstcolo GmbH, Kruppstraße 105, Frankfurt am Main, which holds ISO/IEC 27001:2022 with data-centre operation in scope (TÜV Rheinland, registration 01 153 1700043, valid to February 2028) and is a TÜV-certified data centre level 3 against DIN EN 50600 (TÜV Saarland, valid to February 2027).

firstcolo provides the building, power, cooling and physical access control. It has no logical access to the servers or the data on them, and is therefore not a sub-processor. creoline's certificate and data processing agreement are available on request, or from creoline's own certification page.

Staging and the analytics server run on the same provider. The build server, source repository and code-quality scanner are self-hosted with the same provider on a separate operations network reachable only over VPN.

3. Encryption

In transitTLS on every hostname, certificates from Let's Encrypt, renewed automatically. HTTP is redirected to HTTPS and Strict-Transport-Security is sent on the application and the website. Internal traffic between the proxy, the API and the database stays on a private container network on the same host.
Credentials at restPasswords are stored as bcrypt hashes. TOTP secrets and stored Google OAuth tokens are encrypted with AES-256-GCM under a key held only in the server's environment, separate from the database. MFA recovery codes are 80-bit random values stored as salted bcrypt hashes. Personal access tokens are stored hashed and can be revoked instantly.
Content at restRequirement text, attachments and history are stored unencrypted at the application layer, on volumes inside the certified facility above. Column-level encryption is applied to credentials, not to content, so that search, diffing and export keep working on the database directly.
BackupsCompressed PostgreSQL dumps, staged on the production host and pulled nightly over VPN and SSH to a second location outside the hosting provider's infrastructure; see §10.
SecretsRuntime secrets live in an environment file on the server readable by root only, with an age-encrypted mirror in a private repository for recovery. No secret is baked into a container image or committed in clear.

4. Data location and sub-processors

All customer data is stored in Germany. One thing leaves the EU, and it is optional: AI requests. This table is the authoritative sub-processor list referred to in our data processing agreement; we give 30 days' notice before adding to it.

ProcessorPurposeLocationData
creoline GmbH, Altenberge (DE)Hosting of application, database, backups, mail relay and monitoringGermany (Frankfurt)All customer data, at rest and in transit
Anthropic, PBC, San Francisco (US)Default AI model provider (Claude)United StatesOnly the text a project sends for an AI action: requirement text, glossary terms, review context. Not used for training. Retained by the provider for up to 30 days for abuse monitoring, then deleted. Only when a project has AI enabled.
Google Ireland Ltd, Dublin (IE)Optional AI model provider (Gemini, paid tier), chosen per projectEU/US per Google's termsSame as above. Paid-tier terms: not used to improve Google's models; retained up to 55 days for abuse monitoring. Only when a project selects Gemini.
Google Ireland LtdSign in with Google (optional per organisation)EUEmail address, name and avatar of staff who sign in with a Google Workspace account
Functional Software, Inc. (Sentry)Error monitoring, EU data residencyGermany (Frankfurt region)Application errors with a request id, the route template, the tenant name and the signed-in user's internal id. Passwords, tokens, cookies, email addresses and request bodies are scrubbed before sending.

Not sub-processors, for clarity: firstcolo GmbH (physical facility only, no data access); Plausible (self-hosted on our own server, cookieless, aggregate page counts under one label for the whole application, never per customer); Slack (only if you connect a workspace, in which case notifications go to your workspace on your instruction); email, which is sent from our own mail server through creoline's relay.

5. AI: what is sent, where, and how to turn it off

AI is part of the product: quality scoring against an INCOSE-style rubric, rewrite suggestions, decomposition, conflict and glossary scans, verification and risk suggestions, trace narratives and a project chat. Every one of those goes through a single code path with the following properties.

The MCP server (early access) lets an agent such as Claude work in your project through the same permission model as a user: it authenticates with OAuth 2.1 and PKCE, stops at an explicit consent screen, and holds a personal access token you can revoke at any time.

6. Authentication and access control

Sign-inEmail and password (bcrypt, minimum 8 characters, throttled per account and per source address with lockout), or Sign in with Google restricted to the Workspace domains you allow. An organisation can be SSO-only with password login disabled entirely. There is no self-service signup: accounts are created by an admin or on first SSO login from an allowed domain.
Two-factorTOTP (RFC 6238) with ten single-use recovery codes, enrolled by the user. An organisation policy can require a second factor for every admin; an admin without one is stopped at a full-page gate until enrolled. Google sign-ins count as second-factored because Workspace enforced it already.
Sessions15-minute access tokens and 7-day refresh tokens. Refresh tokens rotate on every use and belong to a family; presenting an already-rotated token is treated as theft and ends every session of that user. "Sign out everywhere" invalidates live access tokens immediately.
RolesOrganisation level: admin or member. Project level: admin, contributor or viewer, assigned per project. Reviewers, approvers and viewers do not consume editor seats. External suppliers get portal accounts scoped to the specifications you grant, with their own TOTP.
API accessPersonal access tokens for the API and the MCP server, hashed at rest, listed and revocable in settings, with creation and revocation in the security log. OAuth for the connector uses PKCE, single-use 256-bit codes bound to the user and redirect, and exact redirect-URI matching.
Our own accessOne named administrator (the operator) has SSH access, key-based, over VPN only; root login is disabled and failed attempts are banned. Deployments are made by the CI system through a separate deploy account pinned to the build runner's address. Routine inspection of production data uses a read-only database role. Nobody at the hosting provider has application-level access.

7. Secure development and change control

8. Vulnerability management and disclosure

9. Logging and monitoring

Security logSign-ins (success, failure, MFA failure), token reuse, MFA enabled or disabled, password changes, role changes, project membership changes, requirement and baseline exports, API token creation and revocation, and organisation setting changes. Each row records who did it, whom it concerns, the source address and user agent. Kept for 400 days, visible to your admins in Settings → Admin → Security, exportable as CSV.
Change historyEvery requirement edit is versioned with author and timestamp; baselines freeze a state and record drift against it.
Application logsContainer logs are shipped to a log store on our operations network (same provider, VPN-only) and rotate on the host. They carry request ids, not request bodies.
ErrorsServer-side 5xx errors and browser crashes are reported to Sentry's EU region with secrets, credentials, email addresses and bodies scrubbed first, so a fault is seen before a customer reports it.
UptimeAn external probe on a separate host checks the health endpoint of production and staging, which itself pings the database; consecutive failures alert the operator.
AnalyticsPage-level product analytics on our own cookieless Plausible instance, recorded under one label for the entire application. No per-customer profile, no IP stored, no third party.

10. Backups, recovery and continuity

What is backed up. Every tenant database, nightly at 02:00 UTC, as a compressed PostgreSQL dump. New tenants are picked up automatically. Retention on the host is tiered: 7 daily, 4 weekly (Sundays) and 6 monthly copies. At 02:30 the dumps, all file attachments, the database roles and the configuration needed to rebuild the service are staged into one export.

Off-site copy. Every night at 03:30 a machine outside the hosting provider's infrastructure pulls that export over the VPN and SSH. The pull is one-way: the backup machine holds a read-only key pinned to its own VPN address, and the production server cannot reach the backup machine at all, so a compromised server cannot alter or delete the copies. The hosting provider additionally keeps daily full-server images for seven days.

Restore is tested, not assumed. A scripted drill restores a production dump into a throwaway database on the staging host and checks row counts, latest baseline and latest review. Last run 9 September 2026: 3.6 MB dump, 94 tables, 583 requirements, restore in 14 seconds end to end. The drill is repeated quarterly and after any change to the backup script or the database version; the log is kept in the repository.

Recovery model. Production is one virtual server in one facility; there is no live replica. Recovery from a host failure is restore from the latest nightly dump onto a fresh server, so the realistic data-loss window is up to 24 hours and the recovery time is a few hours. We say this plainly because a questionnaire will ask, and because the plans at this price do not include a multi-site database.

Continuity, in writing. Reqlio is built and operated by a small company. The following are commitments, and they appear in the data processing agreement:

11. Incident response

12. GDPR and the data processing agreement

For the data you put in Reqlio, you are the controller and we are the processor. We sign a data processing agreement under article 28 GDPR with every customer, in English (an AVV in German usage; the terms are the same). It contains:

Request the current version, the TOMs and creoline's own DPA and certificate from info@reqlio.eu. The privacy policy for this website, where we are the controller, is a separate document: privacy.html.

13. People and organisation

Reqlio is developed and operated by Holtstiege Consulting, Amsterdam. One person has production access. A single operator is a real question on a questionnaire, so here is the honest answer and what compensates for it:

No data protection officer is appointed, and none is required (article 37 GDPR). Our supervisory authority is the Dutch Autoriteit Persoonsgegevens.

14. Questionnaire

Pre-filled answers to the questions security reviews usually ask, grouped the way the Cloud Security Alliance's CAIQ-Lite groups them. If your template asks something not here, send it; we answer questionnaires as part of the sales process, not as a paid extra.

Application and interface security

#QuestionAnswer
AIS-1Do you follow a secure development lifecycle?Yes. One pipeline gates every release: lint, full test suite on a real database, type check, dependency audit (fails on high/critical), SonarQube security gate, browser end-to-end suite. Staging before production.
AIS-2Is input validated and output encoded?Yes. Schema validation at the API boundary, parameterised SQL via an ORM, sanitised rich-text rendering, formula neutralisation in spreadsheet exports, hardening headers via Helmet.
AIS-3Do you perform penetration testing?Internal adversarial review of the auth surface in September 2026 with all findings fixed. External test by an EU firm scheduled for Q1 2027; letter to be published here.
AIS-4Are APIs authenticated and rate-limited?Yes. Bearer tokens (15-minute) or hashed personal access tokens; per-IP request limits, per-account login throttling with lockout, AI routes limited per user.

Business continuity and resilience

#QuestionAnswer
BCR-1Are backups taken, and how often?Nightly, every tenant database, 7 daily / 4 weekly / 6 monthly retention.
BCR-2Are backups stored off-site?Yes. Databases, attachments and configuration are pulled nightly to a second location outside the hosting provider, one-way over VPN and SSH with a read-only pinned key; the server cannot reach the backup machine. The provider keeps daily full-server images for seven days on top.
BCR-3Are restores tested?Yes. Scripted drill, quarterly, last run 9 Sep 2026, 14 seconds for the reference tenant. Log in the repository.
BCR-4What are your RPO and RTO?RPO up to 24 hours (nightly dump). RTO a few hours (rebuild on a fresh host from the repository, the off-site export, which includes configuration and secrets, and the dump). No live replica.
BCR-5Do you offer an SLA?Availability is monitored externally and reported on request; contractual availability commitments are agreed per contract on the Business and Enterprise plans.
BCR-6What happens to our data if you cease operations?Exports always available; read-only access for twelve months after cancellation; escrow on Enterprise; everything needed to rebuild the service is in the repository and the encrypted secrets mirror.

Change control

#QuestionAnswer
CCC-1Are changes tested before production?Yes, automatically on every commit and on staging; see AIS-1.
CCC-2Can changes be deployed manually, bypassing controls?Production is deployed by the CI deploy account, which is pinned to the build runner. The operator's own access is for inspection and recovery, not for releases.
CCC-3Are database changes controlled?Yes. Versioned SQL migrations in the repository, applied by the deploy job; failure aborts the release.

Data security and privacy

#QuestionAnswer
DSP-1Where is customer data stored?Frankfurt, Germany. One PostgreSQL database per customer.
DSP-2Is customer data logically separated?Yes, by database, not by row. Tenant is bound into each token and resolved from the hostname.
DSP-3Does any data leave the EU?Only AI requests (requirement text) to Anthropic (US) or, if a project selects it, Google (Gemini). Per project, switchable off. Nothing else.
DSP-4Is customer data used to train models?No. Neither by us nor by the providers; commercial API terms exclude training.
DSP-5How is data returned or deleted at contract end?Self-service export (ReqIF/XLSX/CSV) at any time; database deleted at the end of the read-only period or on request; ages out of backups within six months.
DSP-6Do you sign a DPA / AVV?Yes, article 28 GDPR, with annexes for TOMs and sub-processors. Sent on request.
DSP-7Do you use customer data for analytics or marketing?No. Product analytics is aggregate, cookieless, self-hosted and not per customer. No advertising or profiling of any kind.

Encryption and key management

#QuestionAnswer
EKM-1Is data encrypted in transit?Yes, TLS on all public endpoints with HSTS; Let's Encrypt certificates renewed automatically.
EKM-2Is data encrypted at rest?Credentials yes (bcrypt, AES-256-GCM, salted bcrypt). Content and the on-host backup dumps are stored unencrypted at the application layer within the certified facility. Full-disk encryption of the virtual server is not claimed. Backups leave the host only over the VPN and SSH.
EKM-3How are keys managed?Runtime keys in a root-only environment file on the host, mirrored age-encrypted in a private repository. Never in images or source.

Governance and compliance

#QuestionAnswer
GRC-1Are you ISO 27001 or SOC 2 certified?No. Our hosting provider (creoline, ISO/IEC 27001:2022, TÜV SÜD) and the data centre (firstcolo FRA4, ISO/IEC 27001:2022, DIN EN 50600 level 3) are. We will certify when a contract requires it.
GRC-2Do you have written security policies?This page and the DPA annexes are the written policy set; the operational runbooks (backup, restore, monitoring, auth, dependency hygiene) are maintained in the repository.
GRC-3Who is your supervisory authority?Autoriteit Persoonsgegevens (Netherlands). Company: Holtstiege Consulting, Amsterdam, KvK 99282240.

Human resources

#QuestionAnswer
HRS-1How many staff have access to customer data?One: the operator. No contractors, no offshore support.
HRS-2Are staff bound by confidentiality?The operator is the contracting party and bound by the DPA directly.
HRS-3Is access revoked on leaving?Not applicable with one operator; the continuity terms cover the case of the operator ceasing.

Identity and access management

#QuestionAnswer
IAM-1Is SSO supported?Google Workspace, with allowed-domain restriction, on every plan. SAML on request for Enterprise. Microsoft Entra planned.
IAM-2Is MFA supported and enforceable?Yes. TOTP with recovery codes for every account; org policy to require it for admins; Google sessions count as second-factored.
IAM-3Is there role-based access control?Yes: org admin/member; project admin/contributor/viewer per project; scoped external portal accounts.
IAM-4What is your password policy?Minimum 8 characters, bcrypt storage, throttled with lockout per account and source address. Organisations can disable passwords entirely and require SSO.
IAM-5How is privileged provider access controlled?VPN-only SSH with personal key, root disabled, fail2ban; deploys by CI only; read-only DB role for inspection.
IAM-6Can we see who accessed what?Security log for authentication, role, membership, export and token events, 400 days, self-service CSV export; full requirement history.

Infrastructure and virtualisation

#QuestionAnswer
IVS-1Where are your servers?firstcolo FRA4, Frankfurt, operated by creoline GmbH. Staging and analytics with the same provider.
IVS-2Is production separated from development and test?Yes: separate hosts and networks; staging is VPN-only; development uses local databases.
IVS-3Is there network segmentation and a firewall?Yes. Host firewall exposes 80/443 and VPN only; admin, build, monitoring and staging traffic on private VPC networks; containers on an internal network.
IVS-4Do you use a CDN or edge provider?No. Requests terminate in Frankfurt.

Logging and monitoring

#QuestionAnswer
LOG-1Are security events logged and retained?Yes, 400 days, see IAM-6.
LOG-2Is the service monitored for errors and availability?Yes: Sentry EU for errors with scrubbing; external uptime probe on a separate host; logs shipped to a private log store.
LOG-3Are logs protected from tampering?Security events are database rows written by the service; container logs are shipped off the container to a store on a separate VPN-only host.

Security incident management

#QuestionAnswer
SEF-1Do you have an incident response process?Yes: detection via monitoring, handling by the operator, customer notification within 24 hours of confirming a breach, post-incident summary.
SEF-2How quickly do you notify customers of a breach?Within 24 hours of confirmation.
SEF-3How can we report a security issue?security@reqlio.eu; /.well-known/security.txt; acknowledgement within two working days.

Supply chain and sub-processors

#QuestionAnswer
STA-1Who are your sub-processors?creoline GmbH (hosting, DE); Anthropic (AI, US); Google (optional AI; optional SSO); Sentry (errors, EU region). Full table in §4.
STA-2How are sub-processor changes communicated?30 days' notice by email to the customer's named contact, with a right to object.
STA-3Are third-party dependencies monitored?Yes: audit on every pipeline fails on high/critical production advisories; weekly full report including dev tooling.

Threat and vulnerability management

#QuestionAnswer
TVM-1Do you scan for vulnerabilities?Dependencies on every build; static analysis with a security gate; container image scan reported in CI. A continuous external scanner is planned before self-serve billing opens.
TVM-2How quickly are vulnerabilities patched?High/critical production advisories block the next release until fixed, so they are fixed before anything else ships; the September 2026 baseline cleared four highs in one day.
TVM-3Is anti-malware used on uploads?No. Attachments (up to 50 MB) are stored as opaque files and are never executed or rendered server-side.

Questions about anything on this page: info@reqlio.eu. Vulnerability reports: security@reqlio.eu.