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 prompts | héros, MCP, FAQ | packages/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 navigateur | héros, MCP, FAQ | Essai 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 jours | héros, MCP, FAQ | Essai 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 écrit | héros, MCP, vidéo | R 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 code | héros, FAQ | legal/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 plannings | héros, bêta, FAQ | README.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 geste | fonctionnalités | R 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ée | fonctionnalités | R recette-s4.ts, recette-s6.ts, recette-s13.ts (fermetures et absences) |
| Les dépendances poussent, ne tirent jamais ; un lien violé reste rouge | fonctionnalités | R recette-s5.ts (vingt blocs sur sept week-ends, oracle triple) |
| Le chemin critique s'allume d'une touche et s'imprime | fonctionnalités | R 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 écrit | fonctionnalités, MCP | R recette-s1.ts, recette-051.ts, recette-s10.ts |
| Le filtre et la recherche vivent dans l'adresse de la page | fonctionnalités | R recette-s6.ts (le filtre dans l'URL et son rechargement) |
| Actions par bloc en kanban ou liste ; l'avancement s'en déduit | fonctionnalités, MCP | R 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, PDF | fonctionnalités, FAQ | R 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 bureau | fonctionnalités | R 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, FAQ | R 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 px | fonctionnalités | R recette-s9.ts (contexte téléphone tactile 390 × 844) |
| L'écran en français ou en anglais | fonctionnalités | R recette-s9.ts ; deux tests garantissent la couverture des deux langues |
| La grille entière au clavier seul | fonctionnalités | R recette-s9.ts, recette-s10.ts |
| Thème clair et thème sombre complets | fonctionnalités, captures | R 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éseau | fonctionnalités | R recette-s8.ts, recette-s6.ts |
| Trois rôles jugés devant chaque route ; un étranger ne voit rien | fonctionnalités | R 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'instant | fonctionnalités | R recette-s11.ts, recette-s12.ts |
| Temps réel : l'écran de l'autre suit, la présence, les conflits dits | fonctionnalités | R recette-s12.ts — latence détaillée dans la ligne ci-dessus (banc-s17.md §4) |
| Historique paginé et filtré, avec Comparer | fonctionnalités, MCP | R recette-s13.ts (première page 293 entrées → 37 ms) |
| Fils de commentaires : le lecteur répond, l'éditeur résout | fonctionnalités | R recette-s13.ts |
| La cloche prévient ; un récapitulatif du soir peut partir par e-mail | fonctionnalités | R 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 secondes | fonctionnalités | R recette-s13.ts (423 LOCKED) |
| Publication en lecture seule, mot de passe facultatif, intégrable ou non | fonctionnalités | R recette-s11.ts |
| 10 resources et 5 prompts (avec les 101 outils) | MCP | R recette-s15.ts |
Une seule commande d'installation, vers https://palmaplan.com/mcp ; rien à installer chez le client | MCP | README.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 internes | MCP | R recette-s2.ts, recette-s6.ts (jouée entièrement par les libellés) |
| Il simule avant d'écrire | MCP | R recette-s7.ts |
| Il annule et rétablit son propre travail | MCP | R recette-s7.ts, recette-s10.ts |
| Il découpe une tâche en actions, les confie, les coche ; l'avancement suit | MCP | R recette-s10.ts |
| Il peut demander à être prévenu quand le planning change | MCP | abonnement.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'Historique | MCP, FAQ | R recette-s10.ts, recette-s11.ts |
| Un jeton en lecture seule ne peut pas écrire | MCP | R recette-s8.ts (403 SCOPE_INSUFFICIENT) |
| Le serveur MCP n'accepte que l'adresse sous laquelle il s'est déclaré | MCP | README.md (garde DNS-rebinding) ; http.test.ts |
| Trois cookies, tous nécessaires, aucun traceur — et pourquoi il n'y a pas de bandeau | sécurité, FAQ | legal/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ées | sécurité, bêta | legal/confidentialite.md §9 ; R recette-s8.ts |
| Votre adresse IP n'est pas écrite dans le journal du serveur | sé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'applique | sécurité, données, FAQ | legal/retentions.md §2 ; comparé par un script à legal/confidentialite.md §3 |
| Export complet d'un bouton, plannings réimportables tels quels | sécurité, FAQ | GET /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 anonymisation | sécurité, FAQ | DELETE /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 support | sécurité, données | apps/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égaux | sécurité | legal/violation.md |
| Certifiable, pas certifié ; aucun label ; la base n'est pas chiffrée au repos | sé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 nous | données, FAQ | legal/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 chargement | héros, données | Mesuré 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, FAQ | Aucun 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équats | données, FAQ | legal/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 paquet | bêta | note-0.27.0.md (tag v0.27.0) |
| Pas d'intégration continue hébergée : la chaîne tourne à la main avant chaque livraison | bêta | README.md « Commandes » |
| Le produit marche entièrement sans agent | FAQ | R 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 perte | FAQ | R recette-s7.ts |
| MCP est un protocole ouvert de découverte et d'appel d'outils | MCP, FAQ | Le 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 animation | héros, légende | scripts/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.