RelevéPro

Accueil › Confidentialité

Pourquoi votre relevé ne part nulle part

La plupart des convertisseurs de relevés bancaires fonctionnent ainsi : vous téléversez votre PDF, il est traité sur un serveur, puis le résultat vous est renvoyé. Votre relevé — votre nom, votre IBAN, chacune de vos dépenses — a alors quitté votre ordinateur.

RelevéPro ne fonctionne pas ainsi. Cette page explique techniquement pourquoi, et comment le vérifier sans nous croire sur parole.

Ce qui se passe réellement quand vous déposez un fichier

  1. Votre navigateur lit le fichier depuis votre disque, en mémoire, via l'API File du navigateur. Aucun envoi n'a lieu à cette étape.
  2. Le PDF est décodé par pdf.js, la bibliothèque de Mozilla qui fait aussi tourner le lecteur PDF de Firefox. Elle est servie depuis notre propre domaine, jamais depuis un service tiers, et elle s'exécute chez vous. Elle descend à l'ouverture de la page, avec le reste du site : au moment où vous déposez un fichier, il n'y a plus rien à aller chercher — voyez l'encadré ci-dessous.
  3. L'analyse des colonnes, des dates et des montants est du code JavaScript exécuté par votre processeur.
  4. Le CSV ou le fichier Excel est fabriqué en mémoire, puis remis à votre navigateur sous forme de Blob local. Le téléchargement ne passe par aucun serveur.

Vérifiez-le en dix secondes, sans nous faire confiance :

  1. Ouvrez le convertisseur et laissez la page finir de charger.
  2. Coupez votre connexion internet (mode avion, Wi-Fi éteint) — avant d'avoir converti quoi que ce soit.
  3. Déposez votre relevé et exportez-le. Tout fonctionne, hors ligne.

Un outil qui envoie votre fichier sur un serveur ne peut pas faire ça. Il n'a pas besoin de vous mentir pour échouer ici : il lui manque simplement le réseau.

Pourquoi couper avant marche. Le lecteur de PDF — 1,7 Mo de code, dont 1,31 Mo pour le processus de travail — est téléchargé au chargement de la page, avec le reste du site, et non au moment où vous déposez un fichier. Une fois la page affichée, il n'y a plus rien à aller chercher.

C'est l'épreuve que nous passons nous-mêmes sur cette production, dans un navigateur neuf au cache vide : connexion coupée avant toute conversion, 68 lignes converties, 0 requête réseau. Vous devriez obtenir la même chose ; si ce n'est pas le cas, c'est nous qui avons tort.

Cette page a longtemps demandé de convertir une première fois avant de couper. C'était l'aveu d'un vrai défaut, corrigé le 26 août 2026 : le lecteur de PDF n'était téléchargé qu'au premier dépôt, et qui coupait sa connexion avant obtenait un échec — accompagné d'un message qui accusait son fichier d'être abîmé. La seule réserve qui subsiste : si vous coupez pendant que la page se charge, le moteur peut ne jamais arriver. Vous aurez alors un message qui dit la vérité — que c'est notre composant qui manque, pas votre relevé — et il suffit de recharger.

Variante pour les plus méfiants : outils de développement (F12), onglet Réseau, laissez la page finir de charger, videz la liste, puis convertissez. Rien ne s'y ajoute. Pas une requête — ni vers notre domaine, ni vers un autre. La seule ligne qui peut apparaître commence par blob: : ce préfixe désigne la mémoire de votre propre navigateur, pas le réseau, et c'est ainsi que notre lecteur de PDF démarre son processus de travail. Sur notre dernière mesure en production, cette liste contenait 0 requête réseau et 1 lecture blob:.

Ce que nous recevons — la liste complète

Quatre choses, et rien d'autre. Nous préférons les écrire ici que de laisser croire à un « zéro » qui serait faux. Les trois premières partent d'un geste que vous faites — vous pouvez les voir arriver dans l'onglet Réseau de votre navigateur. La quatrième part à l'arrivée, sans geste : c'est celle que vous ne pouvez pas découvrir seul, et c'est précisément pour ça qu'elle est écrite ici.

Ce qui ne nous parvient à aucun moment :

Pendant une conversion, rien ne part. Trois des quatre envois ci-dessus ont lieu sur un geste délibéré — vous cliquez un format verrouillé, vous validez le formulaire, vous choisissez un logiciel dans la liste — et aucun n'est déclenché par le fait de déposer un fichier. Le quatrième, la marque du lien suivi, part au chargement de la page, avant que vous ayez rien fait : c'est le seul qui ne dépende pas de vous, et c'est pourquoi il est écrit.

Le reste est enregistré localement, dans le localStorage de votre navigateur, sur votre appareil. Vider les données du site les efface :

Les formats d'import comptable — FEC, CFONB 120, OFX, QIF — sont fabriqués exactement comme le CSV : dans l'onglet, à partir du relevé que vous venez de déposer, sans qu'aucune donnée ne sorte. Un mot sur la politique de sécurité de contenu de ce site (connect-src 'none'; form-action 'none'), parce que la formulation exacte compte : elle interdit au navigateur fetch, XMLHttpRequest, WebSocket, EventSource, sendBeacon et la soumission de formulaire — y compris contre notre propre code. Nous ne l'avons pas assouplie pour pouvoir compter des clics ; c'est le sens de toute cette page.

Ce qu'elle n'interdit pas, et par où passent donc les quatre envois décrits plus haut. La même politique autorise une image venant de notre propre domaine (img-src 'self'). C'est ce que nous utilisons : cliquer un format verrouillé demande une image à l'adresse /c?f=fec, et envoyer le formulaire demande /c?m=votre@adresse. Le mot voyage dans l'adresse, il n'y a pas de fichier joint, et vous pouvez lire ces deux lignes dans l'onglet Réseau au moment où elles partent. Un traitement de texte dirait que c'est un détail ; un expert-comptable qui vérifie mérite de l'avoir écrit.

Nous avons écrit ici, pendant plusieurs semaines, que cette politique interdisait « toute connexion sortante ». C'était un mot de trop dans les deux sens, et l'onglet Réseau l'aurait montré avant nous.

Le jour où la version Pro sera en vente, une seule adresse extérieure sera autorisée — celle du processeur de paiement, appelée uniquement au moment où vous collez votre clé de licence, jamais pendant une conversion — et cette page le dira noir sur blanc.

Combien de temps nous gardons ces deux choses — et ce que nous ne savons pas faire

120 jours, puis plus rien. Ce n'est pas une politique que nous promettons d'appliquer : la date d'expiration est inscrite dans l'enregistrement au moment où il est créé, et le stockage l'efface tout seul quand elle est atteinte. Personne n'a de geste à faire, et nous n'avons pas la possibilité de la prolonger après coup.

L'adresse demandée Quand Ce qui est enregistré Combien de temps
/c?f=format quand vous cliquez un format encore verrouillé le nom du format et l'heure — ni adresse IP, ni identifiant, ni cookie, ni le nom ni le contenu de votre relevé 120 jours, puis effacement automatique
/c?m=votre@adresse quand vous envoyez le formulaire de la version Pro l'adresse que vous avez tapée, et l'heure. Rien d'autre. 120 jours, puis effacement automatique
/c?l=cegid quand vous désignez un logiciel dans la liste le mot choisi dans la liste, et l'heure. Il part dans une requête distincte de celle de l'adresse, et rien ne les recoud côté serveur — mais soyons exacts : leurs deux heures sont voisines à la seconde près, donc le rapprochement resterait à notre portée. Nous ne le faisons pas ; nous ne pouvons pas prouver que nous ne pourrions pas. 120 jours, puis effacement automatique

L'adresse voyage dans une adresse web. Elle apparaît donc aussi dans les journaux techniques de notre hébergeur, comme n'importe quelle page demandée. Ne la saisissez pas si cela vous gêne : rien d'autre sur ce site ne la réclame, et le convertisseur fonctionne entièrement sans.

Vos droits, et la limite que nous avons aujourd'hui. Vous pouvez demander l'effacement de votre adresse avant les 120 jours. Mais ce site ne publie encore aucune adresse de contact — et sans elle, nous n'avons aucun moyen de recevoir votre demande ni de vous répondre. Nous préférons l'écrire que de vous renvoyer vers un formulaire qui n'existe pas. C'est exactement pour cette raison que la conservation est courte et qu'elle s'éteint seule : c'est la seule chose que nous puissions tenir sans vous mentir. Le jour où une adresse existera, elle sera publiée dans les mentions légales, et ce paragraphe changera.

Et l'hébergeur ?

Comme tout site, celui-ci est servi par un hébergeur, qui voit donc que votre navigateur a demandé cette page — comme n'importe quel site que vous consultez. Mais l'hébergeur ne reçoit jamais le contenu de votre relevé : ce fichier n'est jamais mis dans une requête. La différence est là, et elle est totale.

Nous lisons de cet hébergeur un seul chiffre : le nombre de pages servies par tranche de cinq minutes, à l'échelle du site entier. Il ne contient ni adresse IP, ni navigateur, ni page demandée, ni rien qui distingue deux visiteurs — nous ne pourrions pas savoir qui vous êtes même en le voulant. C'est le seul moyen que nous ayons de savoir si quelqu'un vient, et nous préférons ce chiffre grossier à un outil de mesure d'audience installé dans votre navigateur.

Et une page technique de ce site — qui n'est citée dans aucun lien, seulement dans le plan du site — note la date et l'heure des demandes qu'elle reçoit, sans rien d'autre : pas d'adresse IP, pas de navigateur, pas de cookie, pas d'identifiant. Elle sert à savoir si un robot d'indexation passe, puisqu'un robot est le seul à pouvoir la trouver. Elle compte un chemin, pas une personne, et elle ne concerne aucune des pages que vous lisez ni le convertisseur.

Pourquoi c'est aussi notre intérêt

Ce choix n'est pas une faveur, c'est une architecture. Ne rien stocker signifie : aucune base de données à sécuriser, aucune fuite possible, aucun coût de serveur par utilisateur. C'est ce qui nous permet d'offrir la conversion gratuite sans limite là où les autres plafonnent à une ou deux pages par jour. Nos intérêts et les vôtres pointent dans la même direction — c'est plus solide qu'une promesse.

Si vous êtes en cabinet, et que le relevé est celui d'un client

Ce n'est plus votre décision seule. Déposer le relevé bancaire d'un client sur un service en ligne fait de ce service un sous-traitant au sens de l'article 28 du RGPD : il faut un contrat qui l'encadre, une ligne de plus au registre des traitements, et une réponse à donner le jour où le client demande où sont parties ses données. Le relevé ne contient pas que des données d'entreprise — dès qu'il porte des virements vers des personnes physiques, salaires ou remboursements compris, ce sont des tiers qui apparaissent.

Ici, il n'y a pas de sous-traitant à encadrer, parce qu'il n'y a personne à qui faire signer quoi que ce soit. Le relevé est ouvert par le navigateur du poste de travail et n'en sort pas ; le fichier produit est écrit sur le même poste. Du point de vue du parcours de la donnée, c'est le régime d'un PDF ouvert dans un tableur : elle ne change pas de main.

Cela ne vous dispense de rien d'autre — ce que vous devez déjà à votre client sur ses données, vous le lui devez toujours, et cette page ne remplace pas votre propre analyse. Elle retire une case, pas toutes. Et si vous voulez le vérifier plutôt que nous croire, l'en-tête Content-Security-Policy décrit plus haut se lit dans l'onglet Réseau de n'importe quel navigateur, en quelques secondes, sans rien déposer.

← Revenir au convertisseur