Architecture
Sécurité
Une instance et une base par client, secrets chiffrés en AES-256-GCM et infrastructure applicative européenne.
La sécurité de vos données est un engagement quotidien. Cette page décrit l'architecture, les contrôles techniques et les processus que nous appliquons pour protéger les informations que vous nous confiez. Pour le cadre juridique et les droits des personnes concernées, voir notre politique de confidentialité et notre page nLPD.
Une instance par client
Chaque client dispose de ses propres conteneurs applicatifs et de sa propre base de données, sur un serveur partagé. Dans ark.flow Compta, les fichiers sont rangés dans un espace de stockage réservé au client, accessible avec sa propre clé. Il n'y a aucune mutualisation des données applicatives entre clients. Les conséquences concrètes :
- Isolation entre clients — les bases distinctes réduisent le risque qu'une requête applicative expose les données d'un autre client.
- Restauration individuelle — nous pouvons restaurer la base d'un client depuis ses sauvegardes sans toucher aux autres clients.
Chiffrement
Les secrets (clés d'API, jetons et identifiants de connexion à des services tiers) sont chiffrés au repos avec l'algorithme AES-256-GCM, à l'aide d'une clé maîtresse stockée hors de la base. Dans ark.flow Fiduciaire, cette clé maîtresse chiffre une clé propre à chaque client (envelope encryption) ; dans ark.flow Compta, chaque instance a sa propre clé maîtresse. Les données en transit passent en HTTPS par Cloudflare, puis jusqu'à nos serveurs avec un certificat d'origine Cloudflare. Les connexions HTTP nues sont systématiquement redirigées vers HTTPS.
Sauvegardes
Les bases de données sont sauvegardées chaque jour et archivées avec Borg sur une infrastructure propre à ark.swiss en Suisse, qui conserve :
- Quotidiennes — les 14 dernières.
- Hebdomadaires — les 8 dernières.
- Mensuelles — les 24 dernières.
Les fichiers d'ark.flow Compta sont archivés au moins une fois par semaine, et ses bases sont aussi répliquées en continu vers le site de secours d'Infomaniak à Genève. Les archives Borg sont chiffrées et stockées sur une infrastructure séparée des serveurs de production. À chaque cycle complet, un contrôle d'intégrité vérifie le dépôt et un fichier témoin est restauré.
Hébergement
L'infrastructure applicative est hébergée exclusivement en Europe. ark.flow Compta est opéré en production par netcup sur un serveur à Vienne (Autriche, Union européenne), avec un site de secours chaud chez Infomaniak à Genève. ark.flow Fiduciaire est opéré en production chez Infomaniak à Genève. Les sauvegardes indépendantes sont conservées sur l'infrastructure propre d'ark.swiss en Suisse.
Authentification et sessions
- Mots de passe — hachés avec bcrypt, un algorithme volontairement lent qui freine les attaques par force brute.
- Sessions — cookies HTTP-only et Secure (SameSite=Strict dans Compta, SameSite=Lax dans Fiduciaire), jetons rotatifs à chaque élévation de privilège.
- CSRF — jeton CSRF (double submit) vérifié sur toutes les requêtes mutantes.
- MFA — authentification TOTP (RFC 6238) disponible dans ark.flow Fiduciaire ; une fois activée, elle est exigée à chaque connexion.
Journalisation et audit
Les actions sensibles sont journalisées dans l'application : modifications d'utilisateurs et de droits, actions de l'assistant IA et, dans ark.flow Compta, modifications d'écritures. L'application ajoute des entrées à ces journaux sans jamais les modifier ni les supprimer ; ils sont conservés aussi longtemps que l'instance. Les journaux techniques des serveurs sont centralisés dans Grafana et conservés 14 jours. Un extrait peut être fourni au client sur demande écrite motivée.
Infrastructure et défense en profondeur
- Pare-feu hôte avec politique entrante restrictive par défaut ; administration par clés SSH à travers un réseau privé WireGuard.
- Cloudflare en amont, avec protection anti-DDoS.
- Limitation de débit applicative (rate limiting par IP) sur les endpoints d'authentification et d'inscription.
- Surveillance automatique : sondes de disponibilité avec alertes, erreurs applicatives remontées dans GlitchTip, certificats TLS gérés par Cloudflare.
Développement et chaîne d'approvisionnement
- Code et dépendances analysés — analyses Trivy et Semgrep sur notre forge à chaque build.
- Tests automatisés — batterie de tests front (Vitest), back (Go testing) et E2E (Playwright) lancée avant chaque mise en production.
- Secrets injectés par variables d'environnement, jamais dans le code source.
Divulgation responsable
Si vous pensez avoir identifié une vulnérabilité, écrivez-nous à security@ark.swiss. Nous accusons réception de votre message et vous tenons informé de son traitement. Merci de ne pas divulguer publiquement la vulnérabilité avant que nous ayons eu l'opportunité de la corriger.
Gouvernance et documents
Notre politique de confidentialité et notre page de conformité nLPD détaillent le cadre juridique applicable et les droits que vous pouvez exercer : Politique de confidentialité, Conformité nLPD, Conditions générales.