Méthodologie : comment Facturus reste 100% local

Par Jamal Tantaoui, Software Architect chez Iris Digital · Dernière mise à jour : 25 avril 2026

Facturus promet que vos données de facturation ne quittent pas votre navigateur. C'est une affirmation forte, et un utilisateur prudent veut la vérifier — pas la croire sur parole. Cette page explique l'architecture technique exacte, ce qui sort vraiment de votre navigateur (et ce qui n'en sort jamais), et comment vous pouvez le constater vous-même en 30 secondes.

1. Architecture en un schéma

Architecture Facturus Vos données de facturation circulent uniquement entre votre navigateur et un fichier sur votre disque. Aucun serveur Facturus n'intervient. Trois ressources tierces sont chargées passivement (Google Fonts, Unpkg pour pdf-lib au premier clic Générer, dashboard Iris pour reporting d'erreur JS). Votre navigateur Profil émetteur Clients · IBAN Factures · montants JS Facturus exécuté en local Fichier .facturus disque, Drive, Dropbox, clé USB, NAS… lecture · écriture Google Fonts police Inter (au load) CSS uniquement Unpkg / Cloudflare pdf-lib au 1er clic Générer code JS uniquement dash.irisdigital.tech erreur JS si plantage message + URL · 0 facture Aucun serveur applicatif Facturus Vos profil, clients, factures et IBAN ne transitent jamais par chez nous
Lien plein = données de facturation. Liens pointillés = ressources tierces chargées passivement, qui ne transportent jamais le contenu de vos factures.

Trois précisions qui structurent l'ensemble :

2. Vérifiez vous-même en 30 secondes

La meilleure preuve n'est pas une capture d'écran (qui peut être falsifiée) — c'est ce que vous constatez dans votre propre navigateur. Voici la procédure :

  1. Ouvrez facturus.fr dans Chrome, Firefox, Edge ou Brave.
  2. Appuyez sur F12 (ou clic droit → Inspecter) pour ouvrir DevTools.
  3. Allez dans l'onglet Network (ou Réseau) et cochez Preserve log.
  4. Rechargez la page (Ctrl+R). Vous voyez le chargement initial : HTML + CSS + JS Facturus + Google Fonts. C'est normal.
  5. Videz le panneau Network (icône 🚫 ou Ctrl+L). Vous repartez d'un panneau vide.
  6. Créez ou modifiez une facture, ajoutez un client, changez votre profil. Tapez, sauvegardez, jouez avec.
  7. Regardez le panneau Network. Aucune nouvelle requête ne devrait apparaître tant que vous n'avez pas cliqué « Générer le PDF ».
  8. Cliquez « Générer le PDF » la première fois. Vous voyez une seule requête sortir : vers unpkg.com pour récupérer la bibliothèque pdf-lib. Aucune donnée de facture n'est envoyée — seul le téléchargement d'un fichier JS standard.
  9. Re-générez un PDF d'une autre facture. Cette fois, aucune requête ne part : pdf-lib est déjà en cache navigateur, et tout le rendu se fait localement.

Vous venez de constater empiriquement ce que le schéma annonce : vos données ne transitent par aucun serveur applicatif. Ce que vous voyez dans DevTools = la totalité de ce qui sort de votre poste.

Note d'audit : si vous voulez un rapport plus complet, le code source sera publié en open-source (licence MIT) sur GitHub courant 2026 — voir section 4 ci-dessous.

3. Ce qui sort / ne sort pas de votre navigateur

Tableau honnête, sans ambiguïté :

Sort de votre navigateur Ne sort jamais
Requête vers fonts.googleapis.com + fonts.gstatic.com au chargement de chaque page (police Inter). Votre IP est visible par Google le temps du téléchargement. Votre profil émetteur : raison sociale, SIREN, adresse, IBAN, BIC.
Requête vers unpkg.com (CDN Cloudflare) au premier clic Générer, pour télécharger pdf-lib (bibliothèque PDF). Votre IP est visible par Cloudflare le temps du téléchargement. La liste de vos clients (raisons sociales, adresses, SIREN, contacts).
Si une erreur JavaScript survient : un message d'erreur (texte du message + URL de la page) part vers dash.irisdigital.tech. Cela nous aide à corriger les bugs. Aucun champ de facture ni de profil n'est inclus. Le contenu de vos factures : numéro, dates, lignes, montants HT/TVA/TTC.
Le HTML / CSS / JS de Facturus servi par OVH au chargement initial. Notre hébergeur voit donc votre IP — comme tout site web. Les PDF Factur-X générés (ils restent dans votre navigateur, vous les téléchargez en local).

Si vous voulez bloquer les chargements tiers, une extension type uBlock Origin ou Privacy Badger empêche complètement les requêtes vers Google et Cloudflare. Facturus continue de fonctionner : la police de remplacement est appliquée par votre OS, et pdf-lib peut être téléchargé manuellement et hébergé en local.

4. Code source ouvert

Le moyen ultime d'auditer une promesse de privacy est de lire le code. Le repo public iris-digital/facturus (licence MIT) sera publié sur GitHub au fil de la sortie 2026, conformément à la roadmap de la couche authority. Vous pourrez :

En attendant la publication, le code servi par facturus.fr est lisible directement dans votre DevTools (onglet Sources) — non minifié pour cette raison précise.

FAQ technique

Pourquoi unpkg.com charge-t-il quelque chose ?

Pour charger pdf-lib, la bibliothèque qui assemble vos PDF Factur-X (PDF/A-3 + XML embarqué). Cette bibliothèque pèse environ 350 ko et serait inutile à charger pour les visiteurs qui ne génèrent pas de PDF. Elle est donc téléchargée au premier clic Générer, puis mise en cache navigateur. Les requêtes suivantes ne partent plus.

Le contenu téléchargé est uniquement du code JavaScript standard, sans aucune donnée applicative. Cloudflare (qui opère unpkg) voit votre IP le temps du téléchargement, comme n'importe quel CDN.

Une version V2 prévoit d'embarquer pdf-lib directement dans le bundle Facturus pour éliminer ce transfert.

Google Fonts est-il un tracker ?

Non au sens strict (pas de cookie, pas d'ID utilisateur). Mais Google Fonts est opéré par Google et reçoit votre IP à chaque chargement. Pour les utilisateurs sensibles à ce point (jurisprudence allemande de 2022 sur Google Fonts et RGPD), une version V2 prévoit de servir la police Inter en local. En attendant, vous pouvez bloquer Google Fonts via une extension : Facturus reste fonctionnel.

Que envoie error-reporter.js ?

Ce script intercepte les erreurs JavaScript non gérées et envoie au dashboard Iris un objet minimal :

Ne sont jamais envoyés : le contenu de vos formulaires, votre profil, vos clients, vos factures, votre IBAN, vos PDF générés. Le script n'a même pas accès à ces données — il observe uniquement les erreurs runtime du navigateur. Le code source de cette page-là est disponible ici pour audit immédiat.

Que stocke Facturus dans IndexedDB ?

Uniquement la référence technique (FileSystemFileHandle) vers votre fichier .facturus, pour pouvoir le rouvrir automatiquement à votre prochaine visite. Aucune donnée applicative (profil, clients, factures) n'est stockée dans IndexedDB. Le contenu réel reste dans votre fichier sur disque.

Pourquoi pas un mode self-hosted dès aujourd'hui ?

C'est techniquement possible (clonage du repo dès qu'il sera public, hébergement statique trivial). C'est une voie ouverte. La V1 hébergée sur facturus.fr reste utile pour la majorité des utilisateurs qui veulent simplement créer une facture sans installer quoi que ce soit.

Engagements de stabilité

Cette architecture privacy-first est structurelle, pas marketing. Trois engagements concrets :

Tester Facturus maintenant

Pour aller plus loin