Aller au contenu
PalmaPlan

Vos données, et nos preuves

Deux choses sur cette page. D'abord un résumé de ce que nous faisons de vos données, avec un lien vers la politique complète. Ensuite la liste de chaque affirmation des cinq pages de présentation de ce site (accueil, fonctionnalités, MCP, données, FAQ), et de ce qui la prouve — parce qu'un site qui affirme sans montrer demande qu'on le croie sur parole. Les pages Confidentialité et Mentions légales affirment aussi beaucoup de choses ; ce sont des documents juridiques qui citent leurs propres sources en interne, pas cette table.

Trois cookies, tous nécessaires, aucun traceur : c'est pourquoi il n'y a pas de bandeau. Votre mot de passe n'est jamais conservé, votre adresse IP n'est pas écrite dans le journal du serveur, et vous exportez ou supprimez votre compte d'un bouton — nous disons alors exactement ce qui part et ce qui reste. Une procédure écrite existe en cas de violation de données. Vos données sont stockées dans l'Union européenne — en France chez OVH, notre hébergeur, et à Paris chez Scaleway, pour le courrier et pour les copies de sauvegarde, chiffrées avant de quitter le serveur. Ce sont nos deux sous-traitants, sous contrat, et personne d'autre ne traite vos données pour nous. Une réserve, dite dans la politique : notre hébergeur peut accéder au serveur à distance depuis le Canada et le Royaume-Uni, deux pays reconnus adéquats par la Commission européenne.

Le détail complet est dans la politique de confidentialité : politique de confidentialité →

Ce que nous ne prétendons pas. PalmaPlan n'est pas « certifié RGPD » : ce label n'existe qu'au terme d'une procédure coûteuse que nous n'avons pas engagée. Ce que nous avons construit est le dossier qu'un organisme demanderait — le registre des traitements, les durées, la procédure de violation, la liste des sous-traitants. Nous appelons cela la certifiabilité, et nous ne l'appelons pas autrement. La base n'est pas chiffrée au repos, et nous le disons ici plutôt que de le laisser deviner.

Chaque affirmation, sa preuve

Une affirmation du site qui n'est pas une opinion porte une ligne ici, avec sa preuve — une recette de bout en bout (marquée R), un test, un document du dépôt.

Affirmation Où Preuve
Le serveur MCP expose 101 outils, 10 resources et 5 promptshéros, MCP, FAQpackages/mcp/src/http.test.ts:268 (expect(tools.length).toBe(94)) ; R recette-s15.ts (les 94 descriptions et schémas lus par un vrai client MCP)
Claude Code se branche par HTTP, s'enregistre, obtient votre accord dans le navigateurhéros, MCP, FAQEssai réel (CLI 2.1.81) : 401 + WWW-Authenticate, deux .well-known, POST /oauth/register 201, PKCE S256, consentement, POST /oauth/token 200 ; R recette-s13.ts
Le jeton issu est nommé, visible dans les préférences, révocable, valable trente jourshéros, MCP, FAQEssai réel (jeton « MCP · Claude Code », read+write, 30 j) ; R recette-s13.ts, recette-s11.ts
L'écran suit en direct pendant qu'un agent écrithéros, MCP, vidéoR recette-s12.ts (deux navigateurs, un client MCP) ; la diffusion elle-même reste sous la milliseconde dans les deux bancs — la latence perçue dépend de la charge : 24,6 ms pour le 50e client sur un seul planning actif (S12, flux.perf.test.ts), 83,4–84,6 ms de médiane (p95 jusqu'à 95,9 ms) sous vingt plannings actifs en parallèle — la situation normale d'une instance à plusieurs utilisateurs —, à cause de la file d'écriture unique de better-sqlite3 (S17, banc-s17.md §4, machine de développement partagée)
Sur invitation, et pas auto-hébergeable aujourd'hui : le code n'est pas publié ; le service est sur palmaplan.com, où l'on entre avec un codehéros, FAQlegal/mentions-legales.md §5 (code non publié, sans licence) ; deploy/compose.yaml (PALMAPLAN_SIGNUP_MODE=codes par défaut) ; R recette-beta.ts (/signup refuse sans code)
Bêta gratuite, avant la version 1.0 ; 1.0 est la bascule de l'auteur sur ses propres planningshéros, bêta, FAQREADME.md « Positionnement » ; aucun code de facturation dans packages/ ni apps/ (vérifié)
On dessine un bloc en cliquant-glissant ; on le déplace, le rallonge, en bouge trois d'un gestefonctionnalitésR recette-s4.ts (oracle double : colonnes de dates et pixels du canvas)
Les durées sont en jours ouvrés ; week-ends, fériés, fermetures nommées ; un bloc garde sa duréefonctionnalitésR recette-s4.ts, recette-s6.ts, recette-s13.ts (fermetures et absences)
Les dépendances poussent, ne tirent jamais ; un lien violé reste rougefonctionnalitésR recette-s5.ts (vingt blocs sur sept week-ends, oracle triple)
Le chemin critique s'allume d'une touche et s'imprimefonctionnalitésR recette-s9.ts (liseré rouge lu dans les pixels et le SVG, après rechargement)
Tout se défait ; 56 types de commandes réversibles ; Ctrl+Z défait aussi ce qu'un agent a écritfonctionnalités, MCPR recette-s1.ts, recette-051.ts, recette-s10.ts
Le filtre et la recherche vivent dans l'adresse de la pagefonctionnalitésR recette-s6.ts (le filtre dans l'URL et son rechargement)
Actions par bloc en kanban ou liste ; l'avancement s'en déduitfonctionnalités, MCPR recette-s10.ts (« 0/3 » puis « 33 % » lus dans les pixels et le SVG)
Sorties, par votre agent MCP (export_schedule, render_schedule) : v23 en aller-retour, CSV, classeur, SVG, PNG, PDFfonctionnalités, FAQR recette-s7.ts, recette-s9.ts, recette-s8.ts — ces recettes prouvent que le produit sait produire ces formats par ses tools MCP, pas qu'un humain les obtient depuis l'écran (aucun bouton de téléchargement dans apps/web)
Entrées, par votre agent MCP (import_schedule) : v23, CSV, un agenda, l'XML d'un logiciel de planification de bureaufonctionnalitésR recette-s7.ts ; tests d'import de packages/core pour l'agenda et le XML
L'aperçu imprimable, prêt pour le PDF du navigateur (Ctrl+P)fonctionnalités, FAQR recette-s8.ts (/s/:id/print, un PDF d'une page produit par un vrai navigateur)
Le doigt et le stylet ; une vue Liste | Timeline sous 900 pxfonctionnalitésR recette-s9.ts (contexte téléphone tactile 390 × 844)
L'écran en français ou en anglaisfonctionnalitésR recette-s9.ts ; deux tests garantissent la couverture des deux langues
La grille entière au clavier seulfonctionnalitésR recette-s9.ts, recette-s10.ts
Thème clair et thème sombre completsfonctionnalités, capturesR recette-s14.ts, écrite avant le code ; contrastes AA mesurés ≥ 4,5
La file de gestes survit à l'onglet fermé pendant une coupure de réseaufonctionnalitésR recette-s8.ts, recette-s6.ts
Trois rôles jugés devant chaque route ; un étranger ne voit rienfonctionnalitésR recette-s11.ts ; droits.test.ts énumère chaque route (22 routes × 5 appelants) ; acces.test.ts rejoue les opérations réservées sous cinq écritures d'URL, encodées comprises, et un test échoue si une route du serveur manque au tableau des opérations (depuis 0.21.1)
Invitation par lien ou e-mail, transfert, accès retiré visible à l'instantfonctionnalitésR recette-s11.ts, recette-s12.ts
Temps réel : l'écran de l'autre suit, la présence, les conflits ditsfonctionnalitésR recette-s12.ts — latence détaillée dans la ligne ci-dessus (banc-s17.md §4)
Historique paginé et filtré, avec Comparerfonctionnalités, MCPR recette-s13.ts (première page 293 entrées → 37 ms)
Fils de commentaires : le lecteur répond, l'éditeur résoutfonctionnalitésR recette-s13.ts
La cloche prévient ; un récapitulatif du soir peut partir par e-mailfonctionnalitésR recette-s13.ts (sept sortes de notifications, un faux SMTP — un vrai serveur SMTP n'est pas encore joué)
Édition exclusive : la main se prend, et se rend en dix secondesfonctionnalitésR recette-s13.ts (423 LOCKED)
Publication en lecture seule, mot de passe facultatif, intégrable ou nonfonctionnalitésR recette-s11.ts
10 resources et 5 prompts (avec les 101 outils)MCPR recette-s15.ts
Une seule commande d'installation, vers https://palmaplan.com/mcp ; rien à installer chez le clientMCPREADME.md « Serveur MCP » (la même commande, vers une instance locale) ; deploy/jour-j.md §2, étape 8 (vers palmaplan.com, jouée le jour de la mise en ligne)
L'agent parle par libellés, jamais par identifiants internesMCPR recette-s2.ts, recette-s6.ts (jouée entièrement par les libellés)
Il simule avant d'écrireMCPR recette-s7.ts
Il annule et rétablit son propre travailMCPR recette-s7.ts, recette-s10.ts
Il découpe une tâche en actions, les confie, les coche ; l'avancement suitMCPR recette-s10.ts
Il peut demander à être prévenu quand le planning changeMCPabonnement.test.ts (resources/subscribe) ; R recette-s13.ts — aucun client connu ne s'abonne aujourd'hui
Ce qu'un agent écrit est signé à son nom dans l'HistoriqueMCP, FAQR recette-s10.ts, recette-s11.ts
Un jeton en lecture seule ne peut pas écrireMCPR recette-s8.ts (403 SCOPE_INSUFFICIENT)
Le serveur MCP n'accepte que l'adresse sous laquelle il s'est déclaréMCPREADME.md (garde DNS-rebinding) ; http.test.ts
Trois cookies, tous nécessaires, aucun traceur — et pourquoi il n'y a pas de bandeausécurité, FAQlegal/confidentialite.md §7 ; legal/registre.md §4.1
Le mot de passe n'est jamais conservé (scrypt, sel par personne) ; une sauvegarde par jour, quatorze gardéessécurité, bêtalegal/confidentialite.md §9 ; R recette-s8.ts
Votre adresse IP n'est pas écrite dans le journal du serveursécuritéTesté sur une vraie connexion TCP (embarquement.test.ts) ; R recette-s16.ts point 7
Chaque durée de conservation est publiée avec le bout de programme qui l'appliquesécurité, données, FAQlegal/retentions.md §2 ; comparé par un script à legal/confidentialite.md §3
Export complet d'un bouton, plannings réimportables tels quelssécurité, FAQGET /api/v1/me/export (packages/api/src/http/rgpd.ts) ; R recette-s16.ts point 3
Suppression du compte d'un bouton ; ce qui reste est dit, et ce n'est pas appelé une anonymisationsécurité, FAQDELETE /api/v1/me (packages/api/src/http/rgpd.ts) ; la pierre tombale, « Utilisateur supprimé » ; R recette-s16.ts points 4–6
Les droits d'accès, de portabilité et d'effacement, exerçables dans le produit sans ticket ni supportsécurité, donnéesapps/web/src/composants/Profil.tsx : l'export en un clic (« Exporter mes données ») ; l'effacement derrière la saisie de son e-mail et deux confirmations (« Supprimer mon compte » → « Supprimer » → « Supprimer définitivement mon compte », pas « en deux clics ») ; R recette-s16.ts points 3 et 4
Une procédure écrite en cas de violation, avec les délais légauxsécuritélegal/violation.md
Certifiable, pas certifié ; aucun label ; la base n'est pas chiffrée au repossécuritélegal/registre.md §7
Deux sous-traitants, nommés et sous contrat : OVH (l'hébergement) et Scaleway (le courrier, les copies de sauvegarde chiffrées) ; personne d'autre ne traite vos données pour nousdonnées, FAQlegal/sous-traitants.md §2 et §5 (les deux contrats, case par case) ; legal/confidentialite.md §6
Ce site ne pose aucun cookie et ne contacte aucun tiers au chargementhéros, donnéesMesuré par la recette de ce sprint : aucun cookie posé après visite des sept pages, dans les deux langues
Pas de page tarifs, aucun moyen de paiement demandébêta, FAQAucun code de facturation dans le dépôt (vérifié)
Vos données sont stockées dans l'Union européenne : en France chez OVH, à Paris chez Scaleway ; une réserve, l'accès à distance de l'hébergeur depuis le Canada et le Royaume-Uni, deux pays reconnus adéquatsdonnées, FAQlegal/sous-traitants.md §2 et §4 (la localisation écrite dans les contrats, et ce qui n'y est pas) ; legal/confidentialite.md « Où sont vos données » et §2
4 804 tests, trente-trois recettes de bout en bout, couverture mesurée par paquetbêtanote-0.27.0.md (tag v0.27.0)
Pas d'intégration continue hébergée : la chaîne tourne à la main avant chaque livraisonbêtaREADME.md « Commandes »
Le produit marche entièrement sans agentFAQR recette-s3.ts, recette-s4.ts, recette-s6.ts (un vrai navigateur, aucun client MCP)
Un fichier v23 exporté ressort égal à sa forme canonique ; un rapport nomme chaque perteFAQR recette-s7.ts
MCP est un protocole ouvert de découverte et d'appel d'outilsMCP, FAQLe serveur est écrit sur le SDK MCP officiel (packages/mcp), .well-known suivant les RFC 8414 et 9728
La vidéo montre un vrai client MCP, pas une animationhéros, légendescripts/captures-identite.ts (rejouable en une commande)

58 affirmations, qui couvrent les cinq pages de présentation (accueil, fonctionnalités, MCP, données, FAQ) — pas les deux pages juridiques (confidentialité, mentions légales), qui citent leurs propres sources à l'intérieur du document. La plupart des 58 sont adossées à une recette de bout en bout (marquée R) ; les autres à un banc ou un chiffre mesuré, à un essai réel documenté, ou à un document juridique écrit contre le code qui l'applique.

Certifiabilité, pas encore certifié

Ce que nous avons construit est le dossier qu'un organisme demanderait : le registre des traitements, les durées de conservation prouvées par du code qui tourne, une procédure de violation, une liste de sous-traitants, une politique de confidentialité, et les droits d'accès, de portabilité et d'effacement, exerçables dans le produit sans ticket ni support — l'export en un clic, l'effacement derrière une saisie de votre e-mail et deux confirmations. Nous appelons cela la certifiabilité.

Ce que nous n'avons pas, et ne prétendons pas avoir : aucune certification, aucun label, aucune attestation d'un tiers. Une certification — Europrivacy, par exemple — porte sur une organisation autant que sur un produit, coûte de plusieurs milliers à plusieurs dizaines de milliers d'euros, et n'a de sens qu'une fois qu'il y a une activité commerciale à protéger. C'est une décision de Xavier Baril, après la commercialisation.