Confidentialité

La présente politique de confidentialité décrit comment FinitoApp collecte, utilise et protège vos données personnelles conformément à la nouvelle Loi fédérale sur la protection des données (nLPD) entrée en vigueur le 1er septembre 2023.

Dernière mise à jour : 20 juin 2026 · version 1.5 (durée de conservation : le désabonnement ramène à la formule gratuite sans supprimer aucune donnée — les données sont conservées tant que le compte existe ; suppression uniquement sur demande ; retrait de la rétention 120 jours et du mode lecture seule post-résiliation)

1. Responsable du traitement

Orestis Zacharakis — FinitoApp (entreprise individuelle de droit suisse)

Suisse

Protection des données : privacy@finitoapp.ch

Support général : support@finitoapp.ch

2. Données collectées

Nous collectons les catégories de données personnelles suivantes :

  • Nom et prénom
  • Adresse e-mail
  • Numéro de téléphone (facultatif)
  • Photos de chantier, plans PDF, signatures électroniques
  • Adresses de chantier et données de projets (réserves, lots, commentaires)
  • Contacts maîtres d’ouvrage (avec consentement explicite tracé)
  • Données de facturation (traitées par Stripe sur le web ou RevenueCat sur mobile)
  • Données d’utilisation, journaux d’activité et journaux d’audit administratif
  • Secret MFA TOTP optionnel (chiffré AES-256-GCM en base de données)

3. Finalités du traitement

Vos données sont traitées pour les finalités suivantes :

  • Gestion de projets de construction (création, suivi, collaboration)
  • Communication entre les membres d’un projet
  • Facturation et gestion des abonnements
  • Notifications et rappels automatiques
  • Amélioration du service via l’analyse interne anonymisée des journaux serveur (sans collecte d’événements supplémentaires — cf. § 9 et § 10.7ter des CGU)

4. Base juridique

Le traitement de vos données repose sur l’exécution du contrat conformément à l’art. 31 al. 2 let. a de la nouvelle Loi fédérale sur la protection des données (nLPD). Les données collectées sont nécessaires à la fourniture du service FinitoApp tel que décrit dans nos conditions générales.

Aucun consentement à un quelconque outil d’analyse comportementale n’est recueilli : l’Application n’en utilise aucun et n’en utilisera jamais (engagement définitif — cf. § 10.7ter des CGU).

5. Sous-traitants et transferts de données

Nous faisons appel aux sous-traitants suivants pour le fonctionnement du service :

Infomaniak Network SA(Suisse (Genève))
Hébergement VPS + Object Storage S3 + DNS + TLS + backupsDonnées stockées exclusivement en Suisse — ISO 27001
Stripe Payments Europe Ltd.(Irlande (UE))
Traitement des paiements et facturation (web)Décision d’adéquation CH-UE — PCI-DSS Level 1
Sendinblue SAS (Brevo)(France (UE))
Envoi d’e-mails transactionnels et marketing (avec consentement)Décision d’adéquation CH-UE
RevenueCat Inc.(États-Unis)
Gestion des abonnements in-app iOS/AndroidClauses contractuelles types (SCC) — cascade DELETE à la suppression de compte
Expo / EAS (650 Industries, Inc.)(États-Unis)
Relais des notifications push mobiles (le push token transite par l’infrastructure Expo avant remise par APNs / FCM)Clauses contractuelles types (SCC)
Sentry (Functional Software Inc.)(UE (région EU activée))
Détection d’erreurs applicativesStack traces scrubbées des tokens / passwords — décision d’adéquation CH-UE
Apple Inc. (App Store)(États-Unis)
Distribution mobile iOS + IAPSCC via contrat développeur Apple
Google LLC (Play Store)(États-Unis)
Distribution mobile Android + IAPSCC via contrat développeur Google
Let’s Encrypt (ISRG)(États-Unis)
Émission de certificats TLSHors scope données personnelles — nom de domaine uniquement

Pour les transferts vers les USA (RevenueCat, Expo, Apple, Google), des clauses contractuelles types (SCC) ou des garanties équivalentes sont mises en place conformément à l’art. 16 al. 2 let. d nLPD. La liste complète et à jour des sous-traitants est publiée sur la page dédiée : /sous-traitants.

Cascade de suppression : lorsque vous supprimez votre compte, une suppression en cascade est déclenchée chez RevenueCat (DELETE /v1/subscribers/:appUserId), Stripe, Brevo (listes de diffusion) et l’ensemble des fichiers stockés sur le bucket S3.

6. Durée de conservation

  • Période d’essai : à l’expiration de l’essai, le compte revient à la formule gratuite. Vos données sont conservées tant que le compte existe ; aucune suppression automatique n’est déclenchée.
  • Compte actif : vos données sont conservées pendant toute la durée d’existence du compte, quelle que soit la formule (gratuite, PRO ou MAX).
  • Après résiliation ou non-renouvellement d’un abonnement payant : votre compte revient simplement à la formule gratuite. Les fonctionnalités PRO/MAX sont désactivées, mais l’ensemble de vos données (chantiers, réserves, lots, plans PDF, photos, signatures) est intégralement conservé et reste accessible. La résiliation ne déclenche aucune suppression de données. Vos données ne sont supprimées que si vous le demandez vous-même via « Supprimer mon compte ».
  • Suppression volontaire : vous pouvez à tout moment, indépendamment de votre formule, supprimer immédiatement et définitivement la totalité de vos données via la section « Supprimer mon compte » (bouton ci-dessous). Les données sont alors retirées instantanément de nos serveurs, des statistiques administratives et des exports administratifs.
  • Chantier inactif : un chantier sans activité pendant 730 jours (2 ans) est automatiquement supprimé, après des alertes (notification in-app et e-mail) à J-60, J-30, J-7 et J-1 ; ouvrir le chantier réinitialise le délai.
  • Données de facturation : conservées 10 ans conformément aux obligations légales suisses (art. 958f CO).
  • Journaux métier (activity_logs) : 2 ans (SIA 118 art. 172 — garantie pour les défauts d’ouvrage).
  • Journaux d’audit administratif (audit_logs) : 3 ans anonymisés post-suppression du compte (Art. 12 nLPD — registre des actes du responsable de traitement).
  • Liens de partage temporaires : 7 jours TTL strict + révocation manuelle 1-clic possible à tout moment.
  • Tokens de réinitialisation de mot de passe : 1 heure, à usage unique.
  • Sauvegardes : versionnement S3 activé (récupération des versions supprimées/écrasées) + chiffrement GPG-AES-256 côté client ; rétention roulante (7 quotidiennes / 4 hebdomadaires / 3 mensuelles) + 7 jours en local.
  • Logs techniques (PM2 / nginx) : 30 jours.

6bis. Liens de partage temporaires (DPIA T-07)

Le Service permet de générer un lien de partage public temporairepermettant à un artisan ou intervenant non-inscrit de consulter une réserve spécifique pendant 7 jours. Ce traitement a fait l’objet d’une analyse d’impact relative à la protection des données (DPIA) conformément à l’art. 22 nLPD et à l’art. 35 RGPD — référence registre T-07.

Mesures de protection :

  • Token 32 octets aléatoires (256 bits d’entropie) ; affiché une seule fois au créateur
  • Stockage SHA-256 uniquement en base de données — le token brut n’est jamais sauvegardé
  • Expiration automatique stricte à J+7 ; révocation manuelle 1-clic possible à tout moment
  • Aucun cookie persistant, aucun fingerprint, aucun e-mail demandé au visiteur
  • En-têtes X-Robots-Tag: noindex, nofollow + Cache-Control: private, no-store — interdiction explicite d’indexation
  • Bannière de consentement nLPD/RGPD versée avant accès, hashée SHA-256 pour preuve
  • Rate-limit 30 requêtes/min/IP-prefix /24 contre les tentatives de bruteforce

Score de risque résiduel agrégé après mesures : 11 % (FAIBLE) selon la matrice CNIL PIA Guide v3.

7. Vos droits

Conformément à la nLPD, vous disposez des droits suivants :

  • Droit d’accès : obtenir une copie de vos données personnelles
  • Droit de rectification : corriger des données inexactes
  • Droit à l’effacement : demander la suppression de vos données
  • Droit à la portabilité : recevoir vos données dans un format structuré
  • Droit d’opposition : vous opposer au traitement de vos données

Pour exercer vos droits, contactez-nous à : privacy@finitoapp.ch

Nous répondons à toute demande dans un délai de 30 jours. En cas de désaccord, vous pouvez saisir le Préposé fédéral à la protection des données et à la transparence (PFPDT).

8. Sécurité

Nous mettons en oeuvre les mesures de sécurité suivantes pour protéger vos données :

  • Hachage des mots de passe avec argon2id (OWASP 2024) + vérification HIBP k-anonymity
  • Communications chiffrées via HTTPS / TLS 1.3 (HSTS preload en cours)
  • Tokens d’authentification JWT HttpOnly 15 min + refresh token hashé 180 jours
  • Session de longue durée (jusqu’à 180 jours), révocable à tout moment par réinitialisation du mot de passe (révoque tous les appareils) et par déconnexion
  • MFA TOTP optionnel — secret chiffré AES-256-GCM en base de données
  • Chiffrement au repos : AES-256 sur disque PostgreSQL ; backups GPG-AES-256 côté client + SSE-AES-256 côté S3 ; versionnement S3 activé (récupération des versions supprimées/écrasées)
  • Réinitialisation de mot de passe : invalide simultanément toutes les sessions ouvertes sur tous les appareils (mitigation OWASP A07:2021)
  • Protection contre les attaques CSRF et XSS (Helmet.js, CSP avec nonce per-request sur script-src et style-src)
  • Limitation du nombre de requêtes (rate limiting) ; lockout brute-force ; emails hashés SHA-256/12 dans les logs
  • Accès aux données restreint par rôle (RBAC) ; audit logs d’actions admin sensibles conservés 3 ans
  • Validation stricte des entrées (Zod) : téléphone format Suisse/international, e-mail RFC 5321, longueur max sur tous les champs texte (anti-DoS mémoire, anti-injection)
  • Uploads sécurisés : validation des magic bytes (whitelist JPEG/PNG/WEBP/GIF/PDF), re-encodage systématique des images via sharp (neutralise les payloads polyglotes embarqués dans les chunks ancillaires PNG/segments APP JPEG), strip EXIF/IPTC + métadonnées PDF, scan ClamAV optionnel avec mode fail-close, limite 30 mégapixels (anti-decompression-bomb), CSP sandbox + Content-Disposition attachment sur les PDF servis
  • Pre-commit hook gitleaks + scans CodeQL hebdomadaires + osv-scanner + semgrep + Dependabot + SBOM SPDX 2.3 retention 90j
  • Dépendances tierces : maintien continu à jour des paquets vulnérables (politique « 0 CVE high »), overrides pnpm sur les transitives sensibles
  • Notification de violation (Art. 24 nLPD) : procédure formelle documentée, notification au PFPDT dans les meilleurs délais ; objectif interne de 72h pour les violations à risque élevé (aligné sur le standard RGPD Art. 33)

9. Cookies et stockage local

Engagement définitif sur la WebApp (app.finitoapp.ch) : aucun cookie tiers, aucun cookie analytique, aucun cookie marketing, aucun outil de suivi comportemental ne sont déployés. Cette absence est un choix éditorial pérenne et non une situation transitoire : ni Google Analytics, ni Mixpanel, ni PostHog, ni Matomo, ni aucun outil équivalent ne seront intégrés à la version web du Service.

Seuls des cookies strictement techniques sont utilisés pour le fonctionnement du Service : jeton d’authentification JWT (HttpOnly, Secure, SameSite=Lax, durée de vie 15 min), jeton de rafraîchissement (HttpOnly, restreint au chemin /api/v1/auth/refresh, 180 jours), et session admin (30 min coulissants) pour les seuls utilisateurs autorisés. Conformément à l’Art. 6 nLPD et à l’Art. 7 RGPD, ces cookies strictement nécessaires n’exigent pas de consentement ; aucune bannière cookies n’est donc affichée sur la WebApp.

Nous utilisons par ailleurs le localStorage du navigateur pour stocker localement les préférences (langue, thème, brouillons de réception) et IndexedDB (Dexie.js) pour la mise en cache hors-ligne des données chantier. Ces stockages restent sur votre appareil : aucune donnée n’est transmise à un tiers, aucun pixel de tracking, aucun script d’analyse externe.

Sur l’application mobile, le stockage local de l’appareil peut inclure des photos en attente d’envoi, une file d’échecs (dead-letter) et des créations hors-ligne pouvant contenir des coordonnées de contact (nom, téléphone, e-mail). Ces données sont conservées sur l’appareil jusqu’à leur synchronisation réussie avec nos serveurs ou jusqu’à votre déconnexion, puis sont purgées au logout et à la suppression du compte.

10. Outils d’intelligence artificielle

Des outils d’intelligence artificielle peuvent être utilisés en interne à des fins d’optimisation technique, d’audit de sécurité et d’amélioration continue du Service (revue de code, détection d’anomalies, analyse de performance).

Aucune donnée personnelle des Utilisateurs n’est transmise à ces outils, ne fait l’objet d’un traitement automatisé par IA, ni n’est utilisée pour l’entraînement de modèles tiers. Les contenus saisis dans l’Application (chantiers, réserves, photos, commentaires) demeurent intégralement hors de tout périmètre d’entraînement ou de génération automatique.

11. Modifications de cette politique

Nous nous réservons le droit de modifier cette politique de confidentialité à tout moment. En cas de modification substantielle, vous serez notifié(e) par e-mail ou via une notification dans l’application au moins 30 jours avant l’entrée en vigueur des changements.

La poursuite de l’utilisation du service après notification vaut acceptation des modifications.

12. Supprimer mes données

Droit à la suppression — nLPD (Suisse) / RGPD

Conformément à la nLPD et au RGPD, vous pouvez à tout moment demander la suppression complète de votre compte et des données personnelles associées.

Quand l'exercer

  • Les données ne sont plus nécessaires à leur finalité initiale
  • Vous retirez votre consentement
  • Vous vous opposez au traitement
  • Les données sont traitées de manière illicite

Procédure

Cliquez sur le bouton ci-dessous et confirmez avec votre mot de passe. La suppression est immédiate et irréversible. Vous pouvez également nous contacter par écrit à privacy@finitoapp.ch en précisant les données concernées.

Délais

En Suisse (nLPD), les demandes écrites sont traitées dans un délai de 30 jours. Sous RGPD, le délai est d'un mois. La suppression via le bouton ci-dessous est effectuée immédiatement.

Limites

Le droit à la suppression n'est pas absolu. Certaines données peuvent être conservées pour satisfaire des obligations légales (ex : comptabilité, facturation), l'intérêt public ou la liberté d'expression.

FinitoApp — Constat. Travaux. Finito !