Politique de Confidentialité & RGPD
1. Responsable du traitement
Le Service est édité à titre non professionnel sous le nom PulsiForms. Conformément à l'article 6-III-2 de la LCEN, l'éditeur — personne physique agissant à titre non professionnel — a communiqué son identité à l'hébergeur (Netlify, voir CGU) et reste joignable à l'adresse ci-dessous.
Responsable du traitement et contact en matière de protection des données : [email protected].
Conformément au Règlement (UE) 2016/679 (RGPD) et à la loi Informatique et Libertés. Aucun délégué à la protection des données (DPO) n'est désigné, cette désignation n'étant pas obligatoire pour les traitements concernés ; vous pouvez nous contacter à l'adresse ci-dessus pour toute question relative à vos données.
2. Données collectées
- Données d'identification : adresse email, nom d'affichage, avatar
- Données de projet : projets PulsiForms (.pfp), contrôles, scripts générés
- Données de connexion : adresse IP (logs Netlify, durée 30 jours ; traitée également par Cloudflare à des fins de sécurité), timestamps de connexion
- Données de collaboration : identifiant utilisateur visible des collaborateurs d'un projet partagé
- Données d'usage de l'IA : lorsque vous utilisez l'assistant IA, des métadonnées d'usage sont journalisées (identifiant utilisateur, modèle, nombre de jetons, projet concerné) à des fins de quota, de prévention d'abus et d'amélioration. Le contenu de vos requêtes IA n'est pas conservé par PulsiForms.
- Clés API IA (BYOK) : jamais stockées côté serveur. Côté client : mémoire volatile pure par défaut, ou sessionStorage chiffré AES-256-GCM dérivé du JWT si l'option « Mémoriser » est activée (expiration 8 h, effacement à la déconnexion)
3. Finalités du traitement
- Authentification et gestion du compte (base légale : exécution du contrat)
- Sauvegarde et synchronisation des projets cloud (base légale : exécution du contrat)
- Fourniture de l'assistant IA et suivi de la consommation (base légale : exécution du contrat)
- Collaboration en temps réel — partage de votre identifiant, curseur et commentaires avec les participants d'une session (base légale : consentement, recueilli par action positive lors de la création ou de la participation à une session de collaboration)
- Sécurité, prévention des abus et détection de fraudes, y compris protection anti-robot (base légale : intérêt légitime)
- Amélioration du Service (base légale : intérêt légitime)
4. Sous-traitants et destinataires
PulsiForms fait appel aux sous-traitants suivants (article 28 RGPD). Certains traitent des données hors de l'Union Européenne, avec les garanties appropriées de l'article 46 — Clauses Contractuelles Types (CCT/SCC), complétées le cas échéant par l'EU-US Data Privacy Framework (DPF) :
| Sous-traitant | Rôle | Localisation | Garantie de transfert |
|---|---|---|---|
| Supabase, Inc. | Authentification, base de données | AWS us-east-1 (USA) | CCT (art. 46) |
| Netlify, Inc. | Hébergement, fonctions serverless (relais des requêtes) | USA | CCT / DPF |
| Cloudflare, Inc. | CDN, pare-feu applicatif (WAF) et protection anti-robot — traite l'adresse IP de tous les visiteurs | Réseau mondial | CCT / DPF |
| Cloudflare Turnstile | CAPTCHA anti-robot sur les formulaires de connexion / inscription | Réseau mondial | CCT / DPF |
| Google Ireland Ltd / Google LLC | Connexion via Google (OAuth) — uniquement si vous choisissez ce mode de connexion | UE / USA | CCT / DPF |
| Mistral AI | Assistant IA (BYOK) — génération de code | Union Européenne (France) | Aucun transfert hors UE |
| Anthropic, PBC | Assistant IA (BYOK) — génération de code | USA | CCT / DPF |
| Resend | Envoi d'e-mails transactionnels (le cas échéant) | USA | CCT / DPF |
Assistant IA — « apportez votre clé » (BYOK) : la génération par IA n'est possible que si vous fournissez votre propre clé API (Mistral ou Anthropic). Sans clé, aucune donnée n'est transmise à un service d'IA. Lorsque vous l'utilisez, votre requête (la description que vous saisissez) transite par nos fonctions serveur puis est transmise au fournisseur d'IA sous votre compte. Conformément aux conditions d'API de ces fournisseurs, vos requêtes ne sont pas utilisées pour entraîner leurs modèles.
En vous inscrivant, vous reconnaissez avoir été informé(e) de ces sous-traitants et des transferts hors UE encadrés par les garanties ci-dessus.
5. Durée de conservation
- Données de compte : conservées pendant la durée de vie du compte. La suppression du compte — réalisable vous-même depuis votre espace (droit à l'effacement, RGPD art. 17) — efface immédiatement votre compte, vos projets et vos accès. Une trace technique de la demande (identifiant, email) peut être conservée jusqu'à 30 jours à des fins de preuve, puis effacée.
- Projets : conservés tant que vous les gardez dans votre espace. Lorsque vous supprimez un projet, la suppression est immédiate et définitive — aucune corbeille ni restauration n'est proposée. Pensez à exporter vos projets en local avant toute suppression.
- Historique de versions : tant qu'un projet existe, des versions antérieures peuvent être conservées pour vous permettre de restaurer un état précédent ; elles sont supprimées avec le projet.
- Logs techniques : 30 jours (Netlify)
- Sauvegardes : le Service ne conserve aucune copie de sauvegarde restaurable des projets supprimés. Des sauvegardes techniques temporaires peuvent subsister au niveau de l'infrastructure de notre hébergeur de base de données, sans mécanisme de restauration proposé par PulsiForms.
6. Vos droits (RGPD articles 15 à 22)
Vous disposez des droits suivants, exercables à [email protected] :
- ✅ Accès — obtenir une copie de vos données
- ✏️ Rectification — corriger des données inexactes
- 🗑️ Effacement — supprimer vous-même votre compte et vos données à tout moment depuis votre espace (bouton « Supprimer mon compte »), avec effet immédiat ; ou nous en faire la demande par email
- 📦 Portabilité — exporter vos projets au format JSON/.pfp
- ⛔ Opposition — s'opposer au traitement à des fins de prospection
- 🔒 Limitation — demander la suspension temporaire du traitement
- ↩️ Retrait du consentement — à tout moment, sans effet sur les traitements antérieurs
Délai de réponse : 30 jours. Réclamation possible auprès de la CNIL (cnil.fr).
7. Cookies et technologies similaires
PulsiForms n'utilise aucun cookie de tracking, de publicité ou d'analyse d'audience. Les cookies déposés sont strictement nécessaires au fonctionnement et à la sécurité du Service :
| Nom | Type | Durée | Finalité | Base légale |
|---|---|---|---|---|
pf_session |
HttpOnly · Secure · SameSite=Strict | 7 jours | Maintien de la session d'authentification. Le cookie est illisible par JavaScript (protection XSS). Il ne contient que les tokens Supabase chiffrés. | Strictement nécessaire — exécution du contrat (article 82 loi Informatique et Libertés, directive ePrivacy) |
__cf_bm / cf_clearance |
Cookie tiers Cloudflare | ≤ 30 min / 1 an | Déposés automatiquement par Cloudflare (pare-feu / CDN devant le Service) pour la protection anti-robot et la sécurité du réseau. Ne contiennent aucune donnée de session PulsiForms et ne servent à aucun pistage publicitaire. | Strictement nécessaire — sécurité (exemption de consentement) |
pf_cookie_notice |
localStorage (pas un cookie) | 1 an | Mémorisation de la prise de connaissance de la notice cookie. Valeur : horodatage uniquement. | Intérêt légitime (UX) |
pf_ck / pf_mk |
sessionStorage chiffré AES-256-GCM (pas un cookie) | 8 h max — effacé à la déconnexion | Clés API IA (BYOK) chiffrées côté client, uniquement si l'option « Mémoriser » est activée par l'utilisateur. Illisibles sans le JWT de session actif. | Consentement explicite (opt-in) |
ℹ️ Consentement non requis : conformément aux recommandations de la CNIL (délibération n°2020-091), le cookie pf_session (authentification) et les cookies de sécurité de Cloudflare (anti-robot) sont exemptés de consentement car strictement nécessaires à un service explicitement demandé par l'utilisateur et à sa sécurité. Vous en êtes simplement informé(e).
Préférences d'interface (thème, disposition) : stockées en localStorage — jamais transmises à des tiers.
Aucune donnée n'est transmise à des régies publicitaires ou outils d'analyse tiers.
8. Sécurité des données
Les données sont chiffrées en transit (TLS 1.3) et au repos (AES-256 via Supabase/AWS). L'authentification supporte le MFA (TOTP). Mesures de sécurité applicatives :
- 🔒 Cookie HttpOnly
pf_session— inaccessible à JavaScript, protégé contre le vol XSS - 🧠 JWT en mémoire volatile — le token d'accès n'est jamais écrit dans le DOM storage (localStorage/sessionStorage)
- 🔄 Rotation automatique — le token est renouvelé toutes les heures ; le cookie est mis à jour côté serveur (PATCH via Netlify Function)
- 🚪 Révocation à la déconnexion — le cookie est effacé côté serveur (Max-Age=0) à chaque logout
- 🛡️ Content Security Policy (CSP) stricte — aucun script inline autorisé (
'unsafe-inline'absent descript-src) ; chargement limité aux origines explicitement whitelistées (esm.sh, cdnjs, Cloudflare Turnstile) - 🔗 Isolation cross-origin — en-têtes COOP (
same-origin-allow-popups), CORP (same-site) et HSTS (max-age=31536000) actifs sur toutes les pages - 🌐 CORS géré dynamiquement — origine strictement whitelistée côté serveur (Netlify Functions), jamais de
*
9. Décisions automatisées & intelligence artificielle (Article 22 RGPD)
L'assistant IA de PulsiForms (BYOK — Anthropic Claude / Mistral) est un outil d'aide à la génération de code PowerShell/WinForms. Il n'effectue aucune décision automatisée ayant un effet juridique ou significatif sur les utilisateurs (pas de scoring, pas de profiling décisionnel). L'utilisateur reste seul décisionnaire du code produit et de son exécution. En conséquence, les dispositions de l'article 22 RGPD relatives au droit de ne pas faire l'objet d'une décision automatisée ne s'appliquent pas dans ce cadre.
Transparence IA (article 50 du Règlement (UE) 2024/1689 « AI Act ») : le code et les interfaces proposés par l'assistant sont générés par un système d'intelligence artificielle. Il s'agit d'un usage à risque limité (aide à la création de code), sans profilage ni décision à effet juridique. Vos requêtes ne sont pas utilisées pour entraîner les modèles des fournisseurs (voir section 4).
10. Mineurs
Le Service n'est pas destiné aux personnes de moins de 15 ans. Conformément à l'article 8 du RGPD et à la loi Informatique et Libertés, un mineur de moins de 15 ans ne peut créer de compte sans le consentement du titulaire de l'autorité parentale. Si nous avions connaissance de la collecte de données d'un mineur sans cette autorisation, ces données seraient supprimées.
11. Modifications
Cette politique peut être mise à jour. Toute modification substantielle fera l'objet d'une notification par email avec un préavis de 30 jours.
Dernière mise à jour : 6 juillet 2026 — Version 1.5 (consentement collaboration recueilli par action positive dans l'application · durée de conservation alignée sur le comportement réel : suppression de projet immédiate et définitive, sans corbeille ni sauvegarde restaurable · suppression de compte en libre-service (art. 17) avec effet immédiat + trace ≤30 j · cohérence avec les CGU v1.2 : service gratuit et expérimental, sans don)
Version 1.4 (21 juin 2026) : sous-traitants complétés (Google OAuth, Cloudflare, Turnstile, Mistral/Anthropic BYOK, Resend) · cookies Cloudflare déclarés · responsable de traitement non professionnel · données d'usage IA · transparence AI Act art. 50 · clause mineurs)