Ce qui quitte votre machine, et ce qui ne la quitte pas
Le fichier de facture est ce qui inquiète. Il ne quitte pas le navigateur. Cette page décrit le reste du tableau : les quelques requêtes qui atteignent bien un serveur, qui les voit, et combien de temps elles durent.
Responsable du traitement
Nugroho Setiaji, info@tally-stick.com. L'identité complète est publiée dans les mentions légales allemandes, où une déclaration de responsable est légalement requise. Il n'y a pas de délégué à la protection des données, car il s'agit d'une activité à une personne et aucun n'est requis.
Le fichier de facture
L'analyse tourne dans votre navigateur en JavaScript. Le fichier n'est ni téléversé ni copié vers un stockage d'objets. Cela vaut pour chaque outil de ce site, y compris la lecture d'un PDF scanné décrite plus bas. Il y a deux choses qu'un fichier peut laisser derrière lui, toutes deux listées en entier plus bas : si une lecture échoue, le journal des erreurs garde une description de la lecture et les premières lignes que le lecteur a tirées de la page, et si vous envoyez le fichier depuis cette erreur, le fichier lui-même part vers la boîte de réception des réparations.
La seule exception est un rapport que vous envoyez vous-même : quand un fichier ne peut pas être lu, la page propose de joindre le fichier exact au rapport d'erreur pour que le lecteur puisse être réparé. Cette proposition se trouve sous le message d'erreur partout où un fichier est déposé, et sur le convertisseur de formats quand une conversion échoue. La pièce jointe ne voyage que lorsque vous pressez ce bouton, part vers la boîte de réception des réparations de l'opérateur, n'est lue que pour réparer le lecteur, n'est jamais vendue, jamais partagée, et est retirée une fois la réparation faite.
Lire un PDF scanné
PDF vers XRechnung remplit le formulaire depuis un PDF de facture ordinaire. Un PDF avec une couche de texte est lu directement dans le fichier. Un PDF qui n'est qu'une image d'une facture, un scan ou une photo, passe au contraire par la reconnaissance de texte, et cette reconnaissance tourne elle aussi dans l'onglet de votre navigateur.
Pour cela, la page va chercher deux bibliothèques open source, pdf.js et Tesseract.js, avec un pack de langue de reconnaissance, depuis le CDN jsDelivr quand vous déposez le fichier. Cette récupération donne à jsDelivr votre adresse IP et votre user agent, comme le fait le chargement de n'importe quel script tiers. Votre facture ne fait pas partie de la requête : ce qui voyage, c'est la demande de la bibliothèque, et la lecture a lieu ensuite sur votre machine. Si vous préférez ne pas faire intervenir de CDN du tout, l'application de bureau fait le même travail sans rien récupérer à l'exécution.
Ce qu'un serveur voit bien
- Requêtes de pages. Cloudflare héberge le site. Leur edge journalise une requête comme le fait n'importe quel hôte HTTPS (IP, URL, user agent, heure).
- Comptage des visites. Cloudflare Web Analytics tourne sur chaque page : un petit script qui signale l'URL, le référent et la vitesse de chargement de la page. Il ne dépose aucun cookie, n'en lit aucun, et ne construit ni empreinte ni identifiant, si bien qu'un visiteur ne peut pas être suivi de page en page ni d'un jour à l'autre. Il existe parce que le journal de requêtes de l'hôte compte les robots comme des visiteurs, et à cette mesure, la majeure partie du trafic de ce site n'est pas humaine. Aucune partie d'une facture n'intervient : le script voit l'adresse de la page, jamais ce que vous y avez ouvert. Cloudflare est déjà l'hôte, donc cela n'ajoute aucune nouvelle entreprise à la liste ci-dessous. Si votre navigateur le bloque, rien de la page ne casse et la visite n'est simplement pas comptée.
- Compteur de conversions. Après une analyse réussie, la page envoie un nombre (combien de fichiers viennent de réussir, plafonné) à
/api/count. Le serveur stocke un entier. Pas de nom de fichier, pas de facture, pas de cookie. - Mesure des pages et du temps. L'exploitant doit aussi savoir quelles pages le valent : à l'ouverture d'une page et quand on la quitte, celle-ci envoie à
/api/visitson adresse et, au départ, le nombre de secondes où elle est restée ouverte. Les journées sont agrégées en totaux par page, cinq classes de temps grossières et une classe grossière du type de site qui a envoyé le visiteur. Pour estimer les visiteurs d'un jour sans stocker personne, l'adresse est hachée avec une clé côté serveur et la date du jour, et le hachage ne sert qu'à poser deux bits dans un filtre de comptage : il n'est écrit nulle part, on ne peut pas le remonter vers une adresse, et aucun cookie ni identifiant d'aucune sorte n'est déposé. Si la requête n'arrive jamais, la page fonctionne exactement pareil. - Comptage des échecs. Quand un fichier ne peut pas être lu, la page envoie au même endpoint quel outil était ouvert, un code fixe nommant le contrôle qui a refusé le fichier, l'extension du fichier et une tranche de taille. C'est là pour qu'un format qui ne marche jamais puisse être trouvé et corrigé sans attendre que quelqu'un le signale, et un outil gratuit est le dernier endroit où un défaut est signalé. Les codes forment une liste fermée : pas de nom de fichier, pas de contenu de facture. L'analyse elle-même n'a toujours lieu que dans votre navigateur et le fichier n'est toujours jamais téléversé.
- Le journal des erreurs. Un code dit qu'un fichier a échoué et rien sur pourquoi, et un défaut que personne ne voit est un défaut que personne ne corrige. Aussi, quand une lecture échoue, et seulement quand elle échoue, la page envoie aussi à
/api/error: le message qui vous a été affiché, le nombre de pages du document, le nombre de mots qu'il portait, s'il a dû être lu par OCR, combien de temps la lecture a pris, quel programme a écrit le fichier selon ses propres métadonnées, et jusqu'aux 4000 premiers caractères que le lecteur est parvenu à lire sur la page. Sur une facture dont l'analyse a échoué, cette dernière partie est du texte de facture, et c'est la seule chose qui dise jamais quel libellé ou quelle disposition a battu le lecteur. Ce n'est pas le fichier : aucune pièce jointe, aucune image, pas de seconde page, et pas de nom de fichier. Les lignes sont gardées au plus un an, sont lues par une seule personne pour réparer le lecteur, ne sont jamais vendues et jamais partagées. Écrivez à l'adresse ci-dessus pour en faire supprimer une. - Le retour que vous envoyez. Si vous utilisez le formulaire, le serveur stocke le message, un e-mail facultatif, un court contexte technique (texte d'erreur, nom de fichier, taille de fichier), l'URL de la page, votre user agent et un horodatage. La facture elle-même n'est pas jointe. Des copies vivent dans un magasin clé-valeur au plus un an et sont envoyées par e-mail à l'adresse ci-dessus pour que je puisse répondre.
- Préférence de thème. Clair ou sombre est enregistré dans
localStoragesur votre appareil. Ce n'est pas envoyé au serveur. - Rapport EN 16931 signé. Seulement quand un abonné Team presse le bouton. La page envoie un SHA-256 du fichier, l'identifiant du jeu de règles, les codes et comptages des constats, ainsi que le numéro et la date d'émission de la facture à
/api/sub/report. Le fichier de facture lui-même n'est pas envoyé. Le serveur signe cette empreinte et la renvoie ; il ne stocke rien de la requête.
Cookies
Le convertisseur ne dépose pas de cookie de suivi. Cloudflare peut déposer des cookies qui appartiennent à l'hôte (par exemple pour distinguer un humain d'un robot). Je ne les utilise pas pour vous identifier.
Base légale et conservation
L'hébergement des pages, le compteur de conversions et la mesure des pages et du temps sont nécessaires à l'exploitation du service (intérêt légitime à garder un outil gratuit en ligne et honnête sur son volume d'usage). Le retour est traité parce que vous avez demandé une réponse ou signalé un défaut (consentement / demande assimilée à un contrat). Vous pouvez écrire à l'adresse ci-dessus pour faire supprimer une ligne de retour stockée. Les journaux de l'hôte suivent la durée de conservation propre à Cloudflare.
Sous-traitants
Cloudflare, Inc. fournit le DNS, le TLS, l'hébergement, le comptage des visites décrit ci-dessus et le magasin clé-valeur. L'envoi du retour par e-mail passe par un petit Worker qui ne peut écrire qu'à l'adresse de l'opérateur. Il n'y a aucun réseau publicitaire et aucune facture n'est partagée avec qui que ce soit.
Vos droits
Si le RGPD s'applique à un traitement décrit ci-dessus, vous pouvez demander l'accès, la rectification, l'effacement, la limitation, ou une copie, et vous pouvez déposer une réclamation auprès d'une autorité de contrôle. Écrivez à info@tally-stick.com.