Aller au contenu
FactureQRCréer ma facture

Vos données de facturation ne quittent pas votre navigateur

En bref

Vos données ne vont nulle part. FactureQR est un site statique sans serveur applicatif : votre IBAN, vos clients et vos factures sont calculés dans votre navigateur et enregistrés dans le stockage local de votre appareil. Il n’existe aucun endroit où elles pourraient arriver.

Trois façons de le vérifier vous-même, sans nous croire : coupez le réseau après avoir ouvert l’application et faites une facture entière ; ouvrez l’onglet Réseau de votre navigateur et constatez qu’il ne s’y ajoute rien ; regardez le compteur de requêtes affiché sur cette page, mesuré en direct par votre propre navigateur, il reste à zéro pendant que vous tapez.

Ce que ça implique : personne (nous compris) ne peut lire votre IBAN ni votre carnet de clients. Ce que ça coûte : personne ne sauvegarde à votre place, et un cache vidé efface tout. L’export est donc une habitude, pas une option.

La preuve

Coupez votre wifi, puis regardez.

Avant de commencer

Cette page est déjà chargée : coupez votre wifi maintenant, puis tapez votre IBAN ci-dessous. La feuille se recompose, et le compteur reste à zéro. L’ordre compte, et c’est là que se trouve la démonstration : sans réseau, votre navigateur ne peut pas aller chercher une page qu’il n’a pas encore ; une fois la page chargée, il n’a plus besoin de personne.

Jeanne Morand, graphiste

Rue des Vergers 12 · 1950 Sion · jeanne@exemple.ch

Facture

N° de facture
F2026-0001
Date
04.07.2026
Échéance
03.08.2026

Boulangerie du Pont Sàrl

Avenue de la Gare 3

3960 Sierre

DescriptionQtéPrix unit.Montant CHF
Création de logo, forfait11’200.001’200.00
Déclinaisons cartes de visite3116.15348.45
Total CHF1’548.45

Payable jusqu’au 03.08.2026 au moyen de la section paiement ci-dessous. Merci de votre confiance.

Récépissé

Compte / Payable à

CH44 3199 9123 0008 8901 2

Jeanne Morand, graphiste

Rue des Vergers 12

1950 Sion

Référence

00 00000 00000 00000 02026 00013

Payable par

Boulangerie du Pont Sàrl

Avenue de la Gare 3

3960 Sierre

Monnaie

CHF

Montant

1’548.45

Point de dépôt

Section paiement

Monnaie

CHF

Montant

1’548.45

Compte / Payable à

CH44 3199 9123 0008 8901 2

Jeanne Morand, graphiste

Rue des Vergers 12

1950 Sion

Référence

00 00000 00000 00000 02026 00013

Informations supplémentaires

Facture F2026-0001

Payable par

Boulangerie du Pont Sàrl

Avenue de la Gare 3

3960 Sierre

Essayez

la feuille se recompose

Réseau

0requête partie

Compté par le navigateur lui-même, depuis l’instant où la page devient utilisable.

QR-IBAN valide, la facture portera une référence QRR

Les trois valeurs passent à l’application par le stockage local de ce navigateur, jamais par l’adresse de la page.

Ce que cette feuille porte déjà

  • Conforme à la spécification SIX (Swiss QR Code 0200, IG 2.3)
  • Adresses structurées (type « S »)

1 sur 4

Comment le vérifier vous-même en moins d’une minute ?

Ne nous croyez pas. Les trois vérifications ci-dessous ne demandent aucune compétence particulière, et la première suffit à trancher.

  1. 01Ouvrez l’application, coupez le réseau, puis facturez, dans cet ordre. Faites une facture entière : elle se fabrique, le code compris. L’ordre compte, et sa raison est elle-même la preuve : sans réseau, votre navigateur ne peut pas aller chercher une page qu’il n’a pas encore ; une fois la page chargée, il n’a plus besoin de personne.
  2. 02Ouvrez l’onglet Réseau (touche F12, puis « Réseau »), et rechargez. Vous verrez le site se charger (du HTML, une feuille de style, une police, du JavaScript), puis plus rien. Tapez un IBAN, ajoutez un client, imprimez : la liste ne bouge plus. Tout ce qui figure dans cette liste vient de notre propre domaine ; il n’y a aucune entrée tierce, parce qu’il n’y a aucun script tiers.
  3. 03Le dépôt (https://github.com/projetlockin/manifestation) n’est pas ouvert au public aujourd’hui. Ce n’est de toute façon pas la vérification qui compte le plus. Ouvrez plutôt l’onglet Sources des outils de développement, ou affichez le code source de la page par Ctrl+U, pour voir exactement ce qui s’exécute chez vous.

2 sur 4

Où vont vos données, exactement ?

Nulle part. Ce n’est pas une formule : c’est la description littérale de l’architecture. FactureQR est un site statique, des fichiers servis tels quels, sans programme derrière. Il n’y a pas de base de données, pas de compte, pas de point de réception. Ce que vous tapez entre dans la mémoire de la page, y est calculé, et s’écrit dans le stockage local de votre navigateur.

  • Votre IBAN, vos clients, vos lignes de prestation, vos totaux : dans le stockage local de cet appareil, et nulle part ailleurs.
  • Le Swiss QR Code : calculé dans la page, par du code qui s’exécute chez vous. Aucun service d’encodage n’est appelé.
  • Le PDF : produit par la fonction d’impression de votre navigateur. Il ne transite par aucun convertisseur en ligne.
  • Ce qui sort de la page : les fichiers du site à son chargement, puis plus rien.

La LPD encadre le traitement des données personnelles par celui qui les collecte. FactureQR n’en collecte aucune : il n’existe ni compte, ni serveur applicatif, ni destinataire ; vos données restent dans le stockage local de votre navigateur, et l’absence de requête vers un hôte tiers est vérifiée par un test de la suite. (LPD, RS 235.1.)

3 sur 4

Qu’est-ce que ça change concrètement pour vous ?

Trois conséquences pratiques, qu’aucune politique de confidentialité ne peut offrir, parce qu’elles ne dépendent pas d’un engagement mais d’une absence.

  • Il n’y a pas de fuite de base de données possible, parce qu’il n’y a pas de base de données. La question « que se passe-t-il si vous vous faites pirater ? » n’a pas de réponse rassurante : elle n’a pas d’objet.
  • Votre carnet de clients ne devient pas un actif commercialisable. Nous ne saurions pas le vendre, ni le communiquer sur réquisition : nous ne l’avons pas.
  • Un changement de propriétaire, de conditions générales ou de modèle économique ne peut pas rétroactivement exposer ce que vous avez saisi hier.

Ce n’est pas une figure de style. Ouvrez les outils de développement de votre navigateur, onglet « Application » puis « Stockage local » : vous y verrez au maximum deux entrées, « factureqr.v2 » pour vos factures et vos clients, « factureqr.brouillon » pour une saisie en cours. Rien d’autre, nulle part, ne contient vos données.

La section paiement est conforme à la spécification SIX — Swiss QR Code version 0200, Implementation Guidelines QR-facture 2.3, la version en vigueur depuis le 21.11.2025. Les adresses sont structurées (type S), la référence est contrôlée par son algorithme officiel, et chaque build vérifie tout cela en décodant réellement le QR produit. Ce que nous ne pouvons pas encore affirmer : que vos factures ont été scannées par chaque banque suisse. Nous n’avons pas fait cette campagne de tests. Contrôlez votre première facture avec l’application de votre banque avant de l’envoyer.

4 sur 4

Quelle est la contrepartie ?

Elle est réelle, et cette section n’est pas négociable : une page de sécurité qui ne dirait que du bien d’elle-même serait une promesse de plus, pas une preuve.

La contrepartie est réelle : personne ne sauvegarde à votre place. Un cache vidé, un navigateur réinstallé, un autre appareil — et vos factures ne sont plus là. L’export est donc une habitude à prendre, pas une fonctionnalité optionnelle.

  • Rien n’est synchronisé. Une facture commencée sur l’ordinateur n’existe pas sur le téléphone. C’est le revers exact du local-first, pas une fonctionnalité en retard.
  • Personne ne restaure à votre place. Ni nous, ni un support : nous n’avons aucun moyen de savoir que vous existez.
  • Le mode de navigation privée efface tout à la fermeture de la fenêtre. Si vous travaillez ainsi, exportez avant de fermer.

Safari efface le stockage écrit par un site après sept jours d’utilisation du navigateur sans interaction avec ce site — sept jours d’usage de Safari, pas sept jours de calendrier. Si vous facturez une fois par mois depuis Safari, prenez l’habitude d’exporter après chaque session. (WebKit, « Full Third-Party Cookie Blocking and More », 24.03.2020, règle de suppression du stockage écrit par script.)

Récapitulatif

Les trois vérifications, et ce que chacune prouve

Les trois vérifications, et ce que chacune prouve
VérificationCe que vous faitesCe que ça prouve
Réseau coupéOuvrir l’application, couper le wifi, faire une facture entièreLe calcul se fait chez vous : sans réseau, il n’y a personne à qui demander
Onglet RéseauF12, onglet « Réseau », recharger puis saisirRien ne part après le chargement, et rien ne vient d’un tiers
Code exécutéF12, onglet Sources, ou Ctrl+UC’est le code qui tourne réellement chez vous, pas une promesse

Ce tableau défile horizontalement : faites-le glisser pour voir toutes les colonnes.

Aucune de ces trois vérifications ne demande de nous faire confiance : c’est le critère qui les a sélectionnées.

Questions fréquentes

10 questions

Où sont stockées mes factures et mes clients ?

Dans le stockage local de votre navigateur, sur l’appareil que vous utilisez. Nulle part ailleurs : il n’existe aucun serveur applicatif qui pourrait les recevoir, et aucun compte auquel les rattacher. Le site est un ensemble de fichiers statiques ; tout le calcul (la validation de l’IBAN, la TVA, l’arrondi, le Swiss QR Code) se fait dans la page. Quant à savoir si elles sont « hébergées en Suisse » : la question ne se pose pas telle quelle, et la réponse honnête est plus forte qu’un « oui » — vos données ne sont hébergées nulle part. Seul le site l’est, et il ne contient rien de vous.

Dépôt FactureQR, tests/quality.spec.ts.

Pouvez-vous voir mon IBAN ?

Non, et pas par politique de confidentialité : par construction. Pour que nous voyions votre IBAN, il faudrait qu’une requête l’emporte hors de la page. Il n’y en a aucune, et c’est vérifiable des deux côtés. Vous, en ouvrant l’onglet Réseau ; nous, par un test qui passe au rouge dès qu’une requête part vers un autre hôte que celui qui sert cette page.

Dépôt FactureQR, tests/quality.spec.ts.

Mes données sont-elles chiffrées sur mon appareil ?

Non. Le stockage local de votre navigateur n’est pas chiffré. Ce que vous tapez y est écrit tel quel. Quiconque a accès à cet appareil, à ce profil de navigateur, ou a installé une extension qui lit les pages, peut le lire, comme sur n’importe quel autre site qui utilise le même mécanisme. Ce n’est pas une faiblesse propre à FactureQR. Sur un poste partagé, ouvrez un profil de navigateur séparé, ou exportez votre sauvegarde puis videz le cache avant de rendre la machine. C’est la contrepartie exacte de l’absence de serveur. Personne d’autre que vous ne protège ces données, parce que personne d’autre que vous n’y touche.

Que se passe-t-il si je vide le cache de mon navigateur ?

Vos factures et vos clients disparaissent avec lui, et nous n’en gardons aucune copie ailleurs : il n’existe nulle part où les retrouver. Ce que la plupart des navigateurs permettent, en revanche, c’est de cibler le nettoyage : dans Chrome, Firefox ou Edge, l’écran « effacer les données de navigation » sépare généralement « cookies et données de site » de « historique » et « cache » ; décocher la première case avant de vider les autres protège vos factures sans renoncer au reste du ménage. La seule protection qui ne dépend d’aucun réglage de navigateur reste l’export.

Utilisez-vous des cookies ou un traceur ?

Aucun cookie, aucun traceur, aucune mesure d’audience, aucune police distante, aucun script tiers. Ce n’est pas un choix de sobriété : un traceur est une requête sortante, et une requête sortante ferait échouer le test qui garde ce site. Le seul stockage employé est le stockage local, qui ne part jamais vers un serveur. C’est la différence technique avec un cookie, qui est envoyé à chaque requête.

Dépôt FactureQR, tests/quality.spec.ts.

Comment puis-je vérifier moi-même que rien n’est envoyé ?

Trois façons, de la plus rapide à la plus complète. Coupez le réseau après avoir chargé l’application, et faites une facture entière : elle se fabrique. Ouvrez l’onglet Réseau des outils de développement (F12) et refaites l’opération : rien ne s’y ajoute. Affichez le code : celui qui s’exécute réellement dans votre navigateur, pas celui qu’on pourrait vous décrire sans le montrer. Faites Ctrl+U, ou ouvrez l’onglet Sources des mêmes outils. C’est exactement ce qui tourne chez vous, maintenant, pas une promesse sur ce qui tournerait.

Dépôt FactureQR, tests/quality.spec.ts.

Puis-je récupérer mes données pour les sauvegarder ?

Oui, et c’est l’habitude à prendre : l’application exporte une sauvegarde complète en un fichier, que vous rangez où vous voulez et qui se réimporte tel quel. Chaque facture s’enregistre par ailleurs en PDF depuis la boîte de dialogue d’impression. Ce sont vos pièces comptables : c’est vous qui les conservez, et vous seul.

Que dit la loi sur la protection des données pour ce type d’outil ?

Elle s’adresse à qui COLLECTE des données personnelles, pas à qui les héberge par défaut : la LPD définit des obligations pour un responsable de traitement, un rôle que FactureQR n’occupe jamais puisqu’il ne reçoit rien. Ce qu’elle ne couvre pas, en revanche, c’est votre propre situation envers VOS clients : si vous conservez leurs coordonnées ailleurs qu’ici (une messagerie, un tableur partagé), cette question-là reste la vôtre, indépendamment de l’outil que vous utilisez pour facturer.

LPD, RS 235.1

Le code est-il consultable ?

Pas encore : le dépôt (https://github.com/projetlockin/manifestation) existe, mais il n’est pas ouvert au public aujourd’hui, et vous ne pouvez pas encore l’explorer vous-même. Ça ne change rien à ce qui compte le plus ici. Coupez le réseau et tapez votre IBAN dans le pupitre plus haut. La feuille se recompose, et le compteur de requêtes reste à zéro. Vous pouvez aussi afficher le code source de la page, par Ctrl+U ou l’onglet Sources des outils de développement, c’est exactement ce qui s’exécute chez vous. Et chaque build de ce site rastérise le Swiss QR Code produit pour le décoder pixel par pixel avant publication, un test automatisé, pas une déclaration.

Pourquoi Safari efface-t-il parfois mes données ?

C’est une politique d’Apple, pas un bug : WebKit vide le stockage qu’un site a écrit après sept jours d’usage DU NAVIGATEUR sans interaction avec ce site précis. Sept jours où vous auriez ouvert Safari pour autre chose, pas sept jours de calendrier depuis votre dernière visite ici. Si vous facturez de façon irrégulière depuis un iPhone ou un Mac, la parade n’est pas de revisiter la page par réflexe : c’est d’exporter votre sauvegarde à la fin de chaque session, pour ne jamais dépendre du calendrier de quelqu’un d’autre.

WebKit, « Full Third-Party Cookie Blocking and More », 24.03.2020, règle de suppression du stockage écrit par script