Security at Flowen
How we protect your data, your business, and your trust
1. Our security philosophy
Flowen is built on EU infrastructure, by a Swedish company, with no foreign ownership. Customer data stays within the EU/EEA. Strong cryptography is the default rather than an option.
This page describes the measures we have in place today, and the ones we are working on. We would rather tell you what is not finished than imply that everything is.
2. Hosting and infrastructure
Production: OVHcloud
France. ISO 27001 certified data centres. Application servers and the production database.
Backup location: Hetzner
Germany. Encrypted database backups and a nightly copy of uploaded files. The file copy is not yet encrypted as a whole; see section 3.
Backup location: Storegate
Sweden. Encrypted copies of the database and of uploaded files.
- EU hosting. Production data is stored and processed on servers in the EU: OVHcloud in France, with backups at Hetzner in Germany and Storegate in Sweden. Two services in the chain are run by US-owned companies: email is sent through Microsoft 365 (Microsoft Ireland, EU Data Boundary), and receipt scanning, when used, runs on Azure Document Intelligence. These companies can in principle be subject to US law such as the CLOUD Act.
- DDoS protection through OVH's always-on mitigation infrastructure.
- Three locations. Production at OVHcloud in France, a nightly mirror to Hetzner in Germany and a daily encrypted backup to Storegate in Sweden, so the loss of one site does not mean the loss of your data.
- Network isolation. Administrative endpoints are restricted, and internal services are not reachable from the internet.
We are honest about what this is and is not: the German site holds nightly backups, not a live standby. An encrypted daily backup also goes to Storegate in Sweden. Recovery from a total loss of the French site means restoring from the most recent nightly backup, not an instant failover.
3. Encryption
In transit
All traffic to and from Flowen is encrypted with TLS 1.2 or later, using modern cipher suites. Certificates renew automatically well before expiry.
Backups
Database backups are encrypted with age (X25519 + ChaCha20-Poly1305) before they leave the production server. The private key is held outside both the production environment and the backup location, so an attacker who compromises either server can create backups but cannot read them.
Uploaded files
Most customer-uploaded files (documents, project files and team files) are encrypted at rest with AES-256-GCM, an authenticated mode protecting both confidentiality and integrity, with a unique key and initialisation vector per file. Some file types are not yet encrypted at rest: CRM attachments, receipts, signed PDFs and images in chat and tickets. Encrypted copies of all files are kept at Storegate. The nightly mirror to Hetzner is not yet encrypted as a whole. Closing these gaps is part of our current work (section 12).
Passwords
Never stored in plaintext. We use bcrypt with cost factor 12, in line with current OWASP guidance. A stolen database would not reveal passwords directly; weak passwords could still be guessed offline, which is why we offer two-factor authentication.
Working equipment
Devices with access to customer data use full-disk encryption.
4. Authentication and access control
- Email verification is required before an account is activated.
- JWT-based authentication with separate access and refresh tokens.
- Role-based access control at team and resource level. Each customer is a separate space, and every data request is checked against the user's active team. We test this continuously and fix gaps as we find them.
- Password reset through signed, time-limited tokens sent by email.
- OAuth for integrations (Microsoft Graph, LinkedIn, Facebook), delegating authentication to the provider.
- Deleted projects are kept in a recoverable state, so accidental deletion can be undone on request.
Multi-factor authentication — available today
Users can enable time-based one-time passwords (TOTP) with any standard authenticator app, and receive single-use recovery codes for the case where the device is lost.
5. Infrastructure hardening
- SSH key authentication only — password login is disabled.
- fail2ban blocks brute-force attempts automatically.
- Secrets are managed in a self-hosted Vaultwarden instance in our own EU environment. We do not use third-party password managers internally.
- Security updates are applied to production servers on a regular basis.
- Zero-downtime deploys through PM2 reload, so patches can be applied without interrupting the service.
- Interactive access to the production server is limited to the application owner. Deployments run through an automated pipeline with its own key.
6. Backup and recovery
- Nightly backups of the database, taken at 03:00 and encrypted before leaving the production server. Uploaded files are copied nightly as well (see section 3).
- Three locations within the EU: the production server in France, a server in Germany and Storegate in Sweden.
- Automatic verification. Each database backup is checked for plausible size and correct encryption before it is transferred, and file archives are checked for size at the destination. If a check fails, the run stops and an alert is raised rather than overwriting a working backup with a broken one.
- Retention: database backups are kept 7 days on the production server and 30 days in Germany. Encrypted copies at Storegate are not deleted automatically, and the file mirror in Germany keeps files that have been deleted in Flowen. Backups are used only for restoration.
- Restore testing. A full restore of the database is tested every three months against a separate environment, never against production. The most recent test was on 7 November 2026. Restores of uploaded files and chat data will be included from the next test.
We do not currently offer point-in-time recovery. Recovery is to the most recent nightly backup.
7. Subprocessors
We use the following subprocessors. The list is kept current, and customers are notified at least 30 days before a new subprocessor is engaged.
| Subprocessor | Purpose | Location |
|---|---|---|
| OVH SAS (OVHcloud) | Server operation and storage | France |
| Hetzner Online GmbH | Encrypted database backups and a nightly copy of uploaded files | Germany |
| Storegate AB | Encrypted backups of the database and uploaded files | Sweden |
| Microsoft Ireland Operations Ltd | Sending email from the customer's own Microsoft 365 mailbox, and Flowen's own service email | EU/EEA |
| Microsoft Ireland Operations Ltd (Azure) | Receipt and document scanning (OCR), for customers using receipt capture | EU |
| Mistral AI SAS | Language model for assistant features | France |
| Fortnox AB | Transfer of invoice data, for customers using the integration | Sweden |
| Ongoing Warehouse AB | Warehouse and delivery integration, for customers using the integration | Sweden |
Every subprocessor is a company established within the EU. Microsoft Ireland is part of a US-owned group; see section 2. Fortnox and Ongoing are engaged only for customers who have activated the respective integration.
Development tools. Our source code is hosted on GitHub, deployments run through GitHub Actions, and AI assistants from Anthropic are used in development under rules that prevent them from reaching production. These are not subprocessors for customer data.
8. Monitoring
Flowen logs application errors internally, with the context needed to investigate them. We do not use third-party error tracking that would send potentially sensitive data outside the EU.
Web analytics are self-hosted with Umami at analytics.flowen.eu, which uses neither cookies nor tracking pixels.
9. Compliance
GDPR (EU 2016/679)
We act as a data processor for customer data. A data processing agreement is part of our agreement with every customer and is available on request from privacy@flowen.eu.
EU AI Act (EU 2024/1689)
Aligned with the transparency obligations in Article 50. See our AI Act page.
Swedish Bookkeeping Act
Accounting records are retained for the statutory seven years.
NIS2
We are assessing how the Swedish implementation applies to Flowen, and are aligning our controls with ISO/IEC 27001 in the meantime.
Cyber Resilience Act
The CRA applies to products with digital elements. We are assessing which parts of Flowen are in scope.
10. Incident response
We have a documented procedure for personal data breaches. In short:
- Containment — immediate steps to limit the impact.
- Assessment — which data and which customers are affected.
- Notification — affected customers are informed without undue delay, and in any case in time for them to meet their own 72-hour deadline.
- Regulatory notification — the Swedish Authority for Privacy Protection (IMY) is notified within 72 hours where we are the controller. Where the customer is the controller, we provide the information they need to report.
- Follow-up — root cause analysis within two weeks, followed by preventive measures.
The full procedure is provided to customers on request and at audit.
In October 2026 we handled three security incidents. On 3 October, files were lost through a faulty cleanup job, and most were restored from backup. The incident mainly affected our own company; the two external teams that lost files have been informed directly. On 11 October, an internal search index was found exposed to the internet; it contained no customer data. On 12 October, we found a file route that could be reached without signing in, and removed it. Each incident led to documented changes.
11. Vulnerability disclosure
We welcome reports from the security community.
Email: security@flowen.eu
security.txt: /.well-known/security.txt (RFC 9116)
Response time: we aim to acknowledge reports within 48 hours.
Coordinated disclosure: please give us reasonable time to investigate and fix before publishing.
12. What we are working on
We would rather name the gaps than imply the current state is complete.
Persistent rate limiting
Login endpoints are throttled per IP and per account today; we are moving the limits to shared storage so they survive restarts.
Security audit logging
Logging of authentication events, permission changes and access to sensitive data, for customer audit needs. Changes to shared files, expenses and deals are already logged.
Independent backup credentials
Our third backup copy is in place; we are moving its credentials off the production server so that a compromised server cannot delete it.
Encryption of all file types
Encryption at rest for the file types that are not yet covered: CRM attachments, receipts, signed PDFs and images in chat and tickets.
Encrypted file mirror
Encrypting the nightly copy of uploaded files to Germany, as is already done for the copy in Sweden.
Envelope encryption
File keys wrapped with a master key held outside the database, so that a copy of the database alone cannot decrypt files.
HSTS and security headers
Strict Transport Security and further security headers on all responses.
External penetration testing
A third-party assessment as Flowen grows.
13. Documents
14. Contact
Security issues
security@flowen.euPrivacy questions
privacy@flowen.euData protection
dpo@flowen.euProvider
Industrinät Nordiska Nätlösningar AB
Reg. no. 556886-5835
Stenmursvägen 56
428 34 Kållered, Sweden
Questions about a specific control, or need the full incident procedure for an audit? Write to security@flowen.eu.
Last updated 7 November 2026.