Privacy
Deze pagina is de bron. Verandert de app, dan verandert deze pagina in dezelfde commit.
- Verantwoordelijke
- Robin Speekenbrink, Haarlem, Nederland. Particulier, geen bedrijf.
- Geldt voor
- De Android-app Stapel en deze website.
- Laatst gewijzigd
- Status
- De app staat in de Play Store. Deze verklaring beschrijft de app zoals hij daar wordt uitgebracht.
Wat Stapel niet doet
- Geen account
- Geen inlog
- Geen gebruikers-id
- Geen analytics
- Geen crashrapportage
- Geen advertentie-id
- Geen advertentienetwerk
- Geen aanbiedingenfeed
- Geen Firebase-dienst
- Geen Google Wallet
- Geen locatiegeschiedenis
- Geen Stapel-server
Er is geen Stapel-server waar je gegevens naartoe zouden kunnen. Die bestaat niet, en dat is geen belofte maar een architectuur. Wat ik wél zeg is smaller en preciezer: geen netwerkverkeer waar je niet om hebt gevraagd. Vier verzoeken, allemaal hieronder volledig beschreven. Geen ervan stuurt een kaartnummer mee. Twee ervan zeggen wel iets over waar je bent: de winkellijst bijwerken, omdat de opgevraagde stukken afhangen van waar je toestel is, en een adres opzoeken, dat alleen gebeurt als jij op die knop drukt. Precies hoeveel staat hieronder.
Wat Stapel opslaat, en waar
| Gegeven | Waar het staat | Verlaat het toestel |
|---|---|---|
| Kaartnummers en streepjescodes | Lokale database op het toestel | Alleen als jij er zelf een kopieert, of er een bestand van maakt en dat verstuurt. Een aankomstbericht dat de streepjescode toont, gaat ook naar een gekoppeld horloge. |
| Kaartnamen, ketens, notities, mappen, volgorde | Lokale database op het toestel | Nooit |
| Vervaldata en saldotekst van bonnen | Lokale database op het toestel | Nooit |
| Je locatie | In het werkgeheugen om af te wegen welke winkel dichtbij is. Eén ding blijft staan: per land onthoudt de app het punt waar de stukken tegen gekozen zijn, grof gemaakt tot een vakje op een raster in plaats van bewaard als coördinaat. Dat is wat de app nodig heeft om te kunnen zeggen dat je winkelgegevens over ergens anders gaan. Het staat in de instellingenopslag, en die gaat mee in de back-up van je toestel | Nooit als coördinaat. Bij een land dat in stukken is uitgegeven is aan de opgevraagde stukken te zien bij welke delen van het land je in de buurt bent |
| Winkels die je zelf vastlegt | Eigen tabel op het toestel, die de synchronisatie nooit aanraakt | Alleen als jij er zelf een mail van maakt en die verstuurt |
| Een pdf of foto die je laat inlezen | Blijft staan waar hij staat. De app leest hem en kopieert hem niet | Nooit |
| Een kaart die je als bestand overzet | Tijdelijk bestand in de eigen map van de app | Alleen naar de app die jij in het deelmenu aanwijst |
| Instellingen | Lokale voorkeuren op het toestel | Nooit |
Elk netwerkverzoek dat de app kan doen
Vier. Dit is de volledige lijst, niet een selectie.
Stapel · netwerkverzoeken
1. De winkellijst bijwerken
Standaard aan
- Wanneer
- Automatisch, hooguit één keer per maand, op onbeperkte wifi tenzij je mobiele data toestaat, en één keer direct nadat een land aangaat. Standaard wacht hij op wifi. Zet je "Ook downloaden over mobiele data" aan, dan draait ook de automatische run over mobiele data. Druk je zelf op "Nu bijwerken", dan gaat hij hoe dan ook, omdat je daarom vraagt.
- Wat
- Per gekozen land één
GETnaar één vast, publiek adres opraw.githubusercontent.com, zonder aanmelding. Geen account, geen toestel-id, geen kaartgegevens, geen analytics, geen cookies. Uit het adres is af te leiden welk land je ophaalt, verder niets. Het verzoek noemt wel de app en het versienummer, bijvoorbeeldStapel/0.4.0, zodat aan de andere kant te zien is welke versie nog ophaalt. Geen toestelmodel, geen Android-versie, geen taalinstelling. - De lijst met landen
- Bij dezelfde run gaat er ook één
GETnaar één vast adres voor de lijst van landen waarvoor winkels uitgegeven zijn. Dat adres noemt geen land en draagt geen locatie, dus er valt niets uit af te leiden behalve dat er een Stapel draait. De lijst is op dezelfde manier ondertekend en wordt op dezelfde manier gecontroleerd. Hij bepaalt alleen welke landen je in de app kunt aanzetten, zodat er een land bij kan komen zonder dat je een nieuwe versie hoeft te installeren. - Welke landen
- De landen die je zelf aanzet. Zet je “buurland ophalen bij de grens” aan, dan kan er ook een land bijkomen zonder dat je het zelf aanzet: de app rekent op je telefoon uit hoe ver een locatiemeting van de landsgrenzen af ligt en zet een land aan waarvan de grens dichtbij ligt. Die meting is er alleen op het moment dat je in de app zelf al om je locatie vroeg, nooit op de achtergrond, en er is geen geofence of achtergrondmeting voor nodig. De meting wordt niet verstuurd en niet bewaard. Wat daarna over de lijn gaat is het gewone verzoek hierboven, en aan dat adres is dus te zien om welk land het gaat. Deze schakelaar staat uit.
- Landen die in stukken staan
- Alle dertig landen staan in stukken, ook Nederland, dat met de app meekomt. Elk land wordt alleen als stukken uitgegeven, zonder heel landsbestand ernaast; voor de Verenigde Staten moest dat als eerste, want dat land past niet in één bestand. Sinds 0.9.1 geldt dat voor alle landen. Voor het ophalen maakt dat geen verschil: overal haalt de app eerst de inhoudsopgave op en daarna één bestand per stuk dat hij nodig heeft en niet meer. Welke stukken dat zijn volgt uit waar je toestel is: elk stuk is een doos op de kaart, en de app vraagt de dozen op die bij dat punt in de buurt liggen. De coördinaat zelf gaat niet mee en wordt niet bewaard, maar aan de reeks adressen is te zien bij welke dozen je in de buurt was. Dat is het enige wat de app over jou de deur uit doet, en het staat ook zo in het Play-formulier hieronder.
- Alleen als je er zelf bij bent
- De maandelijkse synchronisatie op de achtergrond krijgt geen locatie mee. Die haalt voor zo’n land alleen het ene stuk op dat de uitgever voor dat geval klaarzet, en dat stuk is voor iedereen hetzelfde. Dozen bij jou in de buurt worden alleen opgevraagd als jij in de app zelf op synchroniseren drukt. Heeft het toestel op dat moment geen recente locatie, dan vraagt de app er zelf om. Gaf je de app geen locatietoestemming, dan is er ook dan geen punt en blijft het bij dat ene stuk.
- Omvang
- Met
If-None-Match, dus een controle zonder nieuws kost een paar honderd bytes. Bij een land in stukken niet: daar is de vraag niet of het land veranderd is maar welke stukken deze telefoon nu nodig heeft, en dat kan zo’n controle niet beantwoorden. - Controle
- ECDSA P-256-handtekening met SHA-256, gecontroleerd voordat er iets gelezen wordt. Een oudere versie wordt geweigerd; het vorige bestand blijft staan tot het nieuwe schoon inleest.
- Standaard
- Aan, met één schakelaar uit. Uit blijft de meegeleverde lijst werken.
De eerlijke grens. Het bestand staat bij GitHub, dus die download laat je IP-adres aan GitHub zien, net als elke andere download. Wil je dat niet, zet de synchronisatie dan uit; de meegeleverde lijst blijft gewoon werken.
2. Een adres opzoeken bij een winkel die je zelf vastlegt
Alleen op een knop
- Wanneer
- Alleen als je op de knop “zoek het adres erbij” drukt. Nooit uit zichzelf, nooit op de achtergrond.
- Wat
- Eén omgekeerde opzoeking van de coördinaten die jij zojuist vastlegde, via de Geocoder van Android. Op de meeste toestellen gaat die vraag naar Google, met die coördinaten erbij. Dat staat op de knop.
- Nodig
- Nooit. Een adres is versiering; de coördinaten laten de melding werken.
- Bij mislukking
- Niets. Het veld blijft leeg, de vastgelegde winkel werkt gewoon.
3. De merkenlijst bijwerken
Standaard aan
- Wanneer
- In dezelfde achtergrondrun als de winkellijst, dus hooguit één keer per maand, en op onbeperkte wifi tenzij je mobiele data toestaat. Nooit als losse run, en nooit als je de synchronisatie van de winkellijst uit hebt gezet.
- Wat
- Één
GETnaar één vast, publiek adres opraw.githubusercontent.com, zonder aanmelding. Geen account, geen toestel-id, geen locatie, geen kaartgegevens. Het adres is voor iedereen hetzelfde, dus er valt niets uit af te leiden behalve dat er een Stapel draait. Het verzoek noemt wel de app en het versienummer, net als bij de winkellijst. - Wat er binnenkomt
- De merkenlijst: namen, kleuren en pictogrammen van de ketens die de app kent. Geen winkeladressen en geen afbeeldingen. De logo’s komen apart, hieronder.
- Waarom
- Een keten die van naam verandert was tot nu toe pas goed na een nieuwe versie in de Play Store. Zo staat de naam op je kaart eerder goed.
- Controle
- Dezelfde ECDSA P-256-handtekening met SHA-256, gecontroleerd voordat er iets gelezen wordt. Een oudere lijst wordt geweigerd; de meegeleverde lijst blijft de bodem.
- Standaard
- Aan, met dezelfde schakelaar als de winkellijst. Er is geen aparte schakelaar, omdat er geen aparte run is.
4. De merklogo’s bijwerken
Standaard aan
- Wanneer
- In dezelfde achtergrondrun als de winkellijst, dus hooguit één keer per maand, en op onbeperkte wifi tenzij je mobiele data toestaat. Nooit als losse run, en nooit als je de synchronisatie van de winkellijst uit hebt gezet.
- Wat
- Één
GETper land dat je hebt aangezet en waarvan de logo’s niet met de app meekwamen, naar een vast, publiek adres opraw.githubusercontent.com, zonder aanmelding. Geen account, geen toestel-id, geen locatie, geen kaartgegevens. Het land staat wél in het adres, dus aan de verzoeken is te zien welke landen je hebt aangezet. De winkellijst hierboven laat dat al preciezer zien. - Wat er binnenkomt
- De logo-afbeeldingen van de ketens van dat land, en verder niets. Geen winkeladressen, geen tekst over jou.
- Waarom
- Anders draagt elke telefoon de logo’s van elk land mee, en het grootste deel daarvan is voor landen waar je nooit winkelt.
- Controle
- Dezelfde ECDSA P-256-handtekening met SHA-256, gecontroleerd voordat er iets gelezen wordt. Daarna wordt elk logo apart tegen de ondertekende index gecontroleerd voordat het wordt weggeschreven.
- Bij mislukking
- Niets. De kaart tekent dan het symbool voor het soort winkel, en dat doet ongeveer een derde van de merken al.
- Standaard
- Aan, met dezelfde schakelaar als de winkellijst. Er is geen aparte schakelaar, omdat er geen aparte run is.
Kaartgegevens verstuurd0
Er is geen vijfde. Geen analytics-SDK, geen crashrapportage naar buiten, geen advertentie-id, geen Firebase, geen Google Wallet, geen fused location, geen A/B-test-dienst, geen lettertype van een andere server.
Toestemmingen, en waarom elke
Zeven vraagt Stapel er zelf aan. In het scherm van Android zelf staan er twaalf, en dat verschil is geen vergissing: vijf komen uit bibliotheken die de app meelevert.
WorkManager, de achtergrondplanner van Google die aankomstdetectie gebruikt, voegt er drie toe die nooit iets aan je vragen en die je niet kunt weigeren: netwerkstatus, wakker blijven zolang een taak loopt, en het mogen draaien van die taak. De ontgrendeling achter een dichte kaart voegt er twee toe, allebei uit de biometriebibliotheek van Android zelf: een biometrisch kenmerk gebruiken, en het oudere vingerafdrukrecht dat die bibliotheek nog meedraagt. Een test in de broncode controleert allebei de lijsten, zodat deze pagina niet stilletjes kan verlopen.
| Toestemming | Waarvoor | Verplicht |
|---|---|---|
CAMERA |
Een streepjescode scannen. Er wordt geen beeld opgeslagen of verstuurd | Nee, alleen bij scannen |
INTERNET |
De verzoeken hierboven en niets anders | Ja, maar de synchronisatie is uit te zetten |
ACCESS_COARSE_LOCATION |
Welke winkel dichtbij is, alleen terwijl de app open is | Nee, alleen bij aankomstdetectie |
ACCESS_FINE_LOCATION |
Nauwkeurig genoeg om een winkel van de buren te onderscheiden | Nee, alleen bij aankomstdetectie |
ACCESS_BACKGROUND_LOCATION |
De kaart klaarzetten terwijl de app dicht is. Alleen na een apart scherm dat uitlegt wat het kost | Nee, standaard uit |
POST_NOTIFICATIONS |
De melding bij aankomst bij een winkel | Nee |
RECEIVE_BOOT_COMPLETED |
Nabijheidsmeldingen opnieuw instellen nadat het toestel opnieuw is opgestart | Nee, alleen bij aankomstdetectie op de achtergrond |
| Toestemming | Waar hij vandaan komt | Waarvoor |
|---|---|---|
ACCESS_NETWORK_STATE |
WorkManager | Kijken of er wifi is voordat een geplande taak gaat draaien |
WAKE_LOCK |
WorkManager | Het toestel wakker houden zolang zo’n taak loopt |
FOREGROUND_SERVICE |
WorkManager | Die taak mogen draaien |
USE_BIOMETRIC |
De biometriebibliotheek van Android | De ontgrendeling voor een kaart die dicht staat |
USE_FINGERPRINT |
De biometriebibliotheek van Android | Niets meer. Het is het oude recht van vóór
USE_BIOMETRIC, dat die bibliotheek nog meedraagt |
Locatie
Aankomstdetectie staat standaard uit. Aan geeft de app de geofencing van Google Play Services de coördinaten van de dichtstbijzijnde winkels waar plaats voor is, plus één cirkel om de plek waar je op dat moment bent. Die cirkel wordt om die winkels heen getrokken: hij reikt tot de verste ervan, en een stukje verder, zodat de eigen cirkel van die winkel er nog binnen valt. Hoe groot dat uitpakt hangt af van hoeveel kaarten je hebt en hoe dicht de winkels op elkaar staan. Gemeten aan de winkels die de app meelevert: met een handvol kaarten is het ongeveer een kilometer in de drukste stadscentra en enkele kilometers in de rest van het land. Kleiner dan 500 meter wordt hij nooit, en was er geen winkel om door te geven, dan is het drie kilometer. Allebei worden ze tot anderhalve kilometer ruimer zodra de plek waar de cirkel omheen getrokken is niet vers meer is, goed voor de afstand die je sindsdien gelopen kunt hebben. De app zoekt in een vak van twaalf kilometer naar elke kant, dus een winkel bij een hoek daarvan zet de cirkel ruim achttien en een halve kilometer verderop, die marge inbegrepen. Verlaat je die cirkel, dan zoekt de app opnieuw de dichtstbijzijnde winkels op. Play Services tikt de app aan als je een cirkel binnenloopt. Geen locatiegeschiedenis, geen spoor, en Stapel stuurt zelf geen coördinaat weg. De enige uitzondering is de knop uit paragraaf 2.
De eerlijke grens: die geofencing is Google-code die op je toestel draait en je positie te zien krijgt. Wat Google Play Services daar zelf mee doet, regel je in de locatie-instellingen van Android en niet in Stapel. Voor je positie zelf vraagt de app Android nog steeds rechtstreeks, niet fused location. Laat je aankomstdetectie uit, dan legt de app geen enkele geofence aan.
Bij die melding hoort een tweede schakelaar, standaard uit: de kaart op je vergrendelscherm. Aan staat bij aankomst de streepjescode in de melding zelf, en opent een tik de kaart met code en kaartnummer zonder dat de telefoon ontgrendeld wordt. Dat is handig aan de kassa en het betekent ook dat iedereen die je telefoon oppakt die ene kaart kan zien. Uit gaat de kaart pas open nadat je ontgrendelt, en vraagt Stapel Android om de melding op het vergrendelscherm in te korten, zodat er niet op staat in welke winkel je binnenliep. Android houdt een meldingskanaal op de instelling waarmee het is aangemaakt, dus op een installatie van voor deze versie blijft staan wat daar al stond. Een test in de broncode faalt zodra de standaard omslaat.
In de winkellijst staat bij elke winkel een knop Toon op kaart. Die geeft
twee dingen door aan de kaart-app die je zelf als standaard hebt ingesteld, via het
geo:-adres dat elke Android-kaart-app begrijpt: de coördinaat van
die winkel, en de naam waaronder die winkel in de lijst staat. Bij een winkel uit de
catalogus komt die naam uit OpenStreetMap en is hij al openbaar. Bij een winkel die je zelf
hebt vastgezet is het de tekst die je daarbij hebt getypt, en die tekst krijgt de kaart-app
dus ook. Jouw eigen positie zit daar niet in, en Stapel kiest de kaart-app niet voor je. Wat
die app er vervolgens mee doet, valt onder het privacybeleid van die app. Heb je geen enkele
kaart-app, dan staat de knop er niet.
Een kaart overzetten naar een andere telefoon
Twee routes, allebei door jou gestart, allebei zonder server van wie dan ook.
- Als QR-code
- De app tekent de kaart als QR-code op je scherm, en de andere telefoon leest hem met zijn camera. Erin staat wat er van die kaart in de database staat: de naam, de keten, het nummer zelf, het streepjescodeformaat, en een notitie, saldotekst of vervaldatum als je die invulde. Het gaat van scherm naar camera; er komt geen netwerkverzoek aan te pas en ik zie er niets van. Past het niet in 800 bytes, dan wordt de code te dicht om over tafel nog te lezen en zegt de app dat, waarna alleen de bestandsroute overblijft.
- Als bestand
- Dezelfde gegevens als een gewoon leesbaar JSON-bestand. De app zet het in zijn eigen map en geeft het aan het deelmenu van Android; welke app het daarna krijgt, kies jij. Kies je iets dat het naar een server stuurt, dan gaat het kaartnummer mee. Dat is dezelfde afweging als bij je eigen export, en het bestand is net zo leesbaar.
- Wat er niet doorheen komt
- Een voorbeeldkaart, want die is niet van jou om door te geven en het andere toestel krijgt er zelf een aangeboden in de winkel. En een kaart die dicht staat niet zonder dat je eerst ontgrendelt: overzetten is de code laten zien aan iemand die hem houdt, dus het kost dezelfde ontgrendeling als hem zelf lezen.
Een bon uit een pdf, of uit een foto
Een cadeaubon komt meestal als pdf in je mail. Je wijst dat bestand aan met de bestandskiezer van Android, dus de app krijgt dat ene bestand te zien en verder niets van je opslag. Voor een afbeelding gaat het net zo, via de fotokiezer.
De app tekent de pagina’s zelf met de pdf-lezer die in Android zit en zoekt op elke pagina naar een streepjescode, tot hij er een vindt. Dat gebeurt op het toestel. Het bestand wordt gelezen waar het staat en niet gekopieerd, en wat eruit komt is de code, niet het beeld: de app bewaart geen pagina en geen foto. Er gaat niets naartoe.
Een pdf met een wachtwoord kan de app niet openen, en dat zegt hij in plaats van er iets van te maken.
Een kaart die dicht staat
Je kunt een kaart dichtzetten. De code en het nummer komen er dan pas uit nadat Android je heeft laten ontgrendelen: een vingerafdruk of gezicht, of anders de pincode van de telefoon, zodat een toestel zonder biometrie niet buitengesloten raakt. Dezelfde ontgrendeling geldt voor hem overzetten, en voor hem weer openzetten.
Het herkennen doet Android. Stapel krijgt geen vingerafdruk en geen gezichtsscan te zien, alleen of het gelukt is, en bewaart daar niets van. Eén ontgrendeling geldt tot de app naar de achtergrond gaat; daarna staat elke dichte kaart weer dicht. Dit is wat de twee toestemmingen uit de biometriebibliotheek in de lijst hierboven toevoegt.
De eerlijke grens: kan de telefoon niemand herkennen, dan zou dichtzetten de kaart onbereikbaar maken. De app tekent de code dan gewoon en zegt er op het scherm bij dat hij niet beschermd is, in plaats van je buiten je eigen kaart te sluiten.
Back-up: hier moet je even opletten
Twee dingen kunnen een kopie van je kaarten maken, en ze zijn niet hetzelfde.
- Jouw export
- Een gewoon leesbaar JSON-bestand dat jij opslaat waar je wilt. Het is niet versleuteld: wie het bestand heeft, kan je codes lezen. Dat is de prijs van een export die over tien jaar nog te openen is. Ik zie het nooit.
- Android Auto Backup
- Een functie van het besturingssysteem. Staat die aan, dan zet Android zelf een kopie van de app-gegevens in jouw Google-account, versleuteld met je schermvergrendeling. Er gaat niets naar mij, maar je kaartnummers staan dan wel bij Google. Uitzetten kan bij Instellingen → Google → Back-up; de app zegt dit ook op het back-upscherm.
Google Play Services zit in de app
Google Play Services zit in het installatiebestand, voor twee dingen: streepjescodes scannen op het toestel zelf, en de geofencing achter aankomstdetectie.
- Scannen. Het model zit in het installatiebestand en draait lokaal. Er gaat geen foto en geen code naar een server. De scannerbibliotheek is niet van Play Services los te koppelen; dat is in elke versie geprobeerd.
- Geofencing. Alleen voor aankomstdetectie, en die staat standaard uit. Wat die code van je locatie te zien krijgt, staat bij Locatie.
- De app praat uit zichzelf met geen enkele Google-dienst.
- Verder niets: geen Wallet, geen analytics, geen advertentie-id, geen Firebase-dienst. De scanner sleept wel een paar Firebase-bibliotheken mee, maar dat is bouwmateriaal van de scanner zelf: er staat geen Firebase-project achter en er gaat niets naartoe.
- Een test faalt zodra er een bibliotheek bijkomt die niet op het licentiescherm in de app staat, zodat die lijst niet stilletjes kan verlopen.
- Daarom zeg ik “geen Google-netwerkverzoek, geen account, geen analytics” en niet “geen Google-code”. Het is ook de reden dat Stapel niet op F-Droid komt.
Gegevens verwijderen
De app verwijderen wist alles: geen kopie elders, geen account om te sluiten. Je eigen export gooi je zelf weg, en een Auto Backup-kopie via de back-upinstellingen van je Google-account.
Voor het Play-formulier gegevensbeveiliging
Dit blok bestaat om letterlijk overgenomen te worden in de Play Console. De pagina is de bron; de winkelvermelding is de kopie.
| Vraag | Antwoord |
|---|---|
| Verzamelt de app gebruikersgegevens? | Ja, één soort: locatie bij benadering. Staat een land aan dat in stukken is uitgegeven, dan vraagt de app de stukken op die bij je laatst bekende punt in de buurt liggen, elk stuk op zijn eigen adres. De coördinaat zelf gaat niet mee, maar aan welke adressen worden opgevraagd is af te lezen bij welke delen van het land het toestel in de buurt is. Verder niets |
| Deelt de app gegevens met derden? | Ja, diezelfde locatie bij benadering, met de host die de winkelbestanden uitlevert. Delen is hier hetzelfde verzoek als verzamelen: de app bewaart er niets van en stuurt het nergens anders heen |
| Locatie bij benadering: doel | Alleen app-functionaliteit, namelijk de winkellijst van dat land binnenhalen. Geen advertenties, geen analytics, geen personalisatie, geen profiel |
| Locatie bij benadering: verplicht? | Nee. De synchronisatie is uit te zetten, en met de meegeleverde lijst werkt de app gewoon. Zonder locatietoestemming, en bij de maandelijkse synchronisatie op de achtergrond, haalt de app voor zo’n land alleen het ene stuk op dat voor iedereen hetzelfde is. Het gebeurt alleen als jij in de app op synchroniseren drukt |
| Locatie bij benadering: wordt het bewaard? | Door mij niet: de app heeft geen server, dus er gaat geen locatie naar mij toe. Op het toestel zelf wel één ding, en dat hoort hier te staan: per land het punt waar de stukken tegen gekozen zijn, grof gemaakt tot een vakje op een raster, zodat de app kan zeggen dat je gegevens over ergens anders gaan. Het gaat mee in de back-up van je toestel. Wat de host in zijn eigen logboeken bijhoudt, bepaalt die host, net als bij elke andere download |
| Worden gegevens versleuteld verstuurd? | Ja, voor zover er iets verstuurd wordt. De winkellijst wordt over HTTPS van één vaste host gehaald; alles wat daarbij over jou te weten valt, staat in de rijen over locatie bij benadering hierboven. Druk je op “zoek het adres erbij”, dan geeft de app de coördinaten die je zojuist vastlegde aan de Geocoder van Android; wat Android daarmee over de lijn doet, bepaalt Android |
| Kunnen gebruikers om verwijdering vragen? | De app verwijderen wist alles. Er is niets op afstand opgeslagen om te verwijderen |
| Locatie, precies | Wordt gebruikt op het toestel, is optioneel en staat standaard uit. Wordt niet verzameld en niet opgeslagen buiten het toestel. Eén uitzondering, door jou aangezet: de knop “zoek het adres erbij” deelt die ene coördinaat met de Geocoder van Android |
| Foto’s, bestanden en camera | Beeld wordt op het toestel verwerkt om een streepjescode te lezen, of dat nu van de camera komt, uit een foto die je aanwijst of uit een pdf. Er wordt niets van opgeslagen en niets van verstuurd. Zet je een kaart als bestand over, dan gaat dat bestand naar de app die jij in het deelmenu van Android aanwijst; de ontwikkelaar krijgt het niet |
| Persoonlijke gegevens, financiële gegevens, contacten, berichten | Geen van alle worden verzameld |
| Analytics, crashrapportage, advertentie-id | Zit er niet in. De scannerbibliotheek van Google wilde uit zichzelf gebruiksgegevens over je toestel versturen; dat onderdeel is uit de app gehaald, en een controle in de bouwstraat houdt het eruit |
| Toelichting bij back-up | Android Auto Backup kan app-gegevens naar het Google-account van de gebruiker kopiëren. Dat is een platformfunctie, is uit te zetten, en de ontwikkelaar ontvangt niets |
Deze website
Geen cookies, geen lettertypen van Google, geen CDN, geen ingesloten video, geen deelknoppen, geen advertentienetwerk. Eén script: Cloudflare Web Analytics, dat paginaweergaven telt. Het zet geen cookies, leest er geen, en maakt geen browservingerafdruk. Het slaat niets op waarmee jij te herleiden bent, dus er is niets om toestemming voor te vragen en staat er geen cookiemelding.
Wat het oplevert is een telling: welke pagina's bekeken zijn, vanaf welke site bezoekers kwamen, en uit welk land. Nooit wie. Wie geen enkel verzoek naar Cloudflare wil, kan het script blokkeren; de site werkt dan precies hetzelfde, want er hangt geen functie aan.
De hostingpartij ziet, net als elke webserver, je IP-adres en je browsertekst in haar eigen logboeken. Ik heb daar geen toegang toe.
Je rechten onder de AVG
De AVG geeft je recht op inzage, correctie en verwijdering van persoonsgegevens die iemand over je verwerkt. Hier is niets in te zien: ik houd geen dataset bij waarin je zou kunnen voorkomen, want er is geen Stapel-server om er een op te zetten.
Eén ding vraagt om een eerlijker antwoord dan “niets”. Bij een land dat in stukken is uitgegeven laat de app aan de host zien bij welke delen van het land je in de buurt bent; dat is locatie bij benadering, en dus een persoonsgegeven. Ik ontvang het niet en bewaar het niet. Wil je ook dat niet, zet de synchronisatie dan uit of laat dat land uit staan; de meegeleverde lijst blijft werken.
Vind je een verzoek dat hier niet beschreven staat, dan hoor ik dat graag via Bijdragen. Een gat in deze pagina is een bug.
Als deze pagina verandert
Wijzigingen staan in de releasenotities. Wordt de belofte smaller, dan wordt hij hier smaller gemaakt in dezelfde wijziging die de app aanpast.