Wat uw computer verlaat, en wat niet
Het factuurbestand is waar mensen zich zorgen over maken. Het verlaat de browser niet. Deze pagina geeft de rest van het verhaal: de weinige verzoeken die wel een server bereiken, wie ze ziet, en hoe lang ze bewaard blijven.
Verwerkingsverantwoordelijke
Tallystick wordt gerund door één beheerder buiten de EU, bereikbaar op info@tally-stick.com. De volledige juridische identiteit is gepubliceerd in de Duitse imprint, omdat een vermelding van de verwerkingsverantwoordelijke daar wettelijk verplicht is. Er is geen functionaris gegevensbescherming, want dit is een eenpersoonsoperatie en dat is niet vereist.
Het factuurbestand
Het parsen gebeurt in uw browser met JavaScript. Het bestand wordt niet geupload en niet gekopieerd naar objectopslag. Dat geldt voor elke tool op deze site, ook voor het lezen van een gescande PDF die hierna komt. Er zijn twee dingen die een bestand kan achterlaten, beide verderop volledig beschreven: als een lezing mislukt, bewaart het foutenlog een beschrijving van de lezing en de eerste regels die de lezer van de pagina kreeg, en als u bij die fout kiest het bestand mee te sturen, gaat het bestand zelf naar de reparatie-inbox.
De enige uitzondering is een rapport dat u zelf verstuurt: wanneer een bestand niet gelezen kan worden, biedt de pagina aan om het exacte bestand aan het foutrapport toe te voegen zodat de lezer gerepareerd kan worden. Dat aanbod staat onder de foutmelding, overal waar een bestand wordt gedropt, en op de formaatconverter wanneer een omzetting mislukt. De bijlage reist alleen wanneer u op die knop drukt, gaat naar de reparatie-inbox van de beheerder, wordt alleen gelezen om de lezer te repareren, wordt nooit verkocht, nooit gedeeld, en wordt verwijderd zodra de reparatie klaar is.
Een gescande PDF lezen
PDF naar XRechnung vult het formulier vanuit een gewone factuur-PDF. Een PDF met een tekstlaag wordt rechtstreeks uit het bestand gelezen. Een PDF die slechts een afbeelding van een factuur is, een scan of een foto, wordt in plaats daarvan door tekstherkenning gehaald, en die herkenning draait ook in uw browsertabblad.
Daarvoor haalt de pagina twee open-sourcebibliotheken, pdf.js en Tesseract.js, samen met een taalpakket voor de herkenning, van de jsDelivr CDN zodra u het bestand dropt. Die ophaal geeft jsDelivr uw IP-adres en user agent, zoals het laden van elk script van derden dat doet. Uw factuur hoort niet bij het verzoek: wat reist is het verzoek om de bibliotheek, en het lezen gebeurt daarna op uw computer. Als u liever helemaal geen CDN betrekt, doet de desktopapp hetzelfde werk zonder dat er tijdens het gebruik iets wordt opgehaald.
Wat een server wel ziet
- Paginaverzoeken. Cloudflare host de site. Hun edge logt een verzoek zoals elke HTTPS-host dat doet (IP, URL, user agent, tijdstip).
- Bezoektelling. Cloudflare Web Analytics draait op elke pagina: een klein script dat de URL, de referrer en hoe snel de pagina laadde rapporteert. Het zet geen cookie, leest geen cookie en bouwt geen vingerafdruk of identifier, dus één bezoeker kan niet van pagina naar pagina of van de ene dag naar de andere gevolgd worden. Het bestaat omdat het eigen verzoeklog van de host crawlers als bezoekers telt, en volgens die maatstaf is het merendeel van het verkeer op deze site geen mens. Er is geen enkel deel van een factuur bij betrokken: het script ziet het adres van de pagina, nooit wat u erop opende. Cloudflare is al de host, dus dit voegt geen nieuw bedrijf toe aan de lijst hieronder. Als uw browser het blokkeert, breekt er niets op de pagina en wordt het bezoek simpelweg niet geteld.
- Omzettingsteller. Na een geslaagde parse stuurt de pagina een getal (hoeveel bestanden er net slaagden, begrensd) naar
/api/count. De server bewaart één geheel getal. Geen bestandsnaam, geen factuur, geen cookie. - Pagina- en tijdmeting. De eigenaar moet ook weten welke pagina's hun plek verdienen, dus wanneer een pagina geopend of verborgen wordt stuurt de pagina naar
/api/visit: het adres van de pagina, de hostnaam van de pagina die hierheen verwees (nooit de volledige URL), en bij het weggaan hoeveel seconden de pagina open bleef. Dagen worden geaggregeerd tot totalen per pagina, vijf grove tijdbakken, en een ruwe klasse van wat voor soort site hierheen verwees. Om bezoekers per dag te schatten zonder iemand op te slaan, wordt het adres gehasht samen met een serversleutel en de datum van de dag, en de hash wordt alleen gebruikt om twee bits in een telfilter te zetten: hij wordt nooit opgeschreven, kan niet teruggezet worden naar een adres, en er wordt geen cookie of identifier van welke soort dan ook gezet. Als het verzoek nooit aankomt, werkt de pagina precies hetzelfde. - Fouttelling. Wanneer een bestand niet gelezen kan worden, stuurt de pagina naar hetzelfde endpoint welke tool open was, een vaste code die de controle benoemt die het bestand weigerde, de bestandsextensie, en een grootteband. Dat bestaat zodat een formaat dat nooit werkt gevonden en gerepareerd kan worden zonder te wachten tot iemand het meldt, en een gratis tool is de laatste plaats waar een defect gemeld wordt. De codes zijn een gesloten lijst: geen bestandsnaam en geen factuurinhoud. Het parsen zelf gebeurt nog steeds alleen in uw browser en het bestand wordt nog steeds nooit geupload.
- Het foutenlog. Een code zegt dat een bestand mislukte en niets over waarom, en een defect dat niemand kan zien is een defect dat niemand repareert. Daarom stuurt de pagina, wanneer een lezing mislukt en alleen dan, ook naar
/api/error: de melding die u te zien kreeg, hoeveel pagina's het document heeft, hoeveel woorden erop stonden, of het door OCR gelezen moest worden, hoe lang de lezing duurde, welk programma het bestand schreef volgens de eigen metadata, en tot de eerste 4000 tekens die de lezer van de pagina wist te lezen. Op een factuur die niet geparsed kon worden is dat laatste factuurtekst, en het is het enige dat ooit zegt welk label of welke lay-out de lezer versloeg. Het is niet het bestand: geen bijlage, geen afbeelding, geen tweede pagina, en geen bestandsnaam. Rijen worden tot een jaar bewaard, worden door één persoon gelezen om de lezer te repareren, worden nooit verkocht en nooit gedeeld. Schrijf naar het adres hierboven om er een te laten verwijderen. - Feedback die u stuurt. Als u het formulier gebruikt, bewaart de server het bericht, een optionele e-mail, een korte technische context (fouttekst, bestandsnaam, bestandsgrootte), de URL van de pagina, uw user agent, en een tijdstempel. De factuur zelf zit er niet bij. De kopij staat tot een jaar in een key-value-opslag en worden gemaild naar het adres hierboven zodat de beheerder kan antwoorden.
- Thema-voorkeur. Licht of donker wordt opgeslagen in
localStorageop uw toestel. Het wordt niet naar de server gestuurd. - Ondertekend EN 16931-verslag. Alleen wanneer een Team-abonnee op de knop drukt. De pagina stuurt een SHA-256 van het bestand, de regelset-id, de bevindingcodes en -aantallen, en het factuurnummer en de factuurdatum naar
/api/sub/report. Het factuurbestand zelf wordt niet meegestuurd. De server ondertekent die samenvatting en geeft die terug; hij bewaart niets uit het verzoek.
Cookies
De converter zet geen trackingcookie. Cloudflare kan cookies zetten die aan de host toebehoren (bijvoorbeeld om een mens van een bot te onderscheiden). Ze worden niet gebruikt om iemand te identificeren.
Grondslag en bewaartermijn
Paginahosting, de omzettingsteller en de pagina- en tijdmeting zijn nodig om de dienst te exploiteren (gerechtvaardigd belang bij het online en eerlijk houden van een gratis tool over hoeveel hij gebruikt wordt). Feedback wordt verwerkt omdat u om een antwoord vroeg of een defect meldde (toestemming / contractuele aanvraag). U kunt naar het adres hierboven schrijven om een bewaarde feedbackrij te laten verwijderen. Hostlogs volgen de eigen bewaartermijn van Cloudflare.
Verwerkers
Cloudflare, Inc. levert DNS, TLS, hosting, de hierboven beschreven bezoektelling, en de key-value-opslag. Het versturen van feedbackmail gaat via een kleine Worker die alleen naar het beheeradres kan zenden. Er is geen advertentienetwerk en geen factuur wordt met iemand gedeeld.
Uw rechten
Als de AVG op een hierboven beschreven verwerking van toepassing is, kunt u om inzage, correctie, verwijdering, beperking of een kopie vragen, en u kunt een klacht indienen bij een toezichthouder. Schrijf naar info@tally-stick.com.