Privacybeleid
Welke gegevens er verzameld worden, en waarom dat er geen zijn.
Lees verderEen gescande code kan een wifi-wachtwoord zijn, een kaartje van driehonderd euro of het adres van je huis. Daarom staat hier precies wat er met die gegevens gebeurt.
De geschiedenis staat versleuteld met AES-256-GCM in de privémap van de app. De sleutel zit in de beveiligde opslag van het besturingssysteem. Tickets liggen in een tweede bestand waarvan de sleutel pas vrijkomt na je vingerafdruk, gezicht, pincode of patroon. Er is geen server, geen account en geen enkele plek buiten je toestel waar iets terechtkomt.
In een bestand in de privémap van de app, op je eigen toestel. Andere apps komen daar niet bij. Er gaat niets naar een server, want er ís geen server.
Dat bestand is versleuteld. Zou iemand het toch te pakken krijgen, met een kabel of via een back-up van de telefoon, dan staat er onleesbare rommel in.
Met AES-256-GCM. Dat is de standaard die ook je bankverkeer beschermt en die niet alleen dichttimmert, maar ook merkt of er aan het bestand geknoeid is.
Twee dingen zijn daarbij van belang, en die zijn allebei zo gedaan:
Dan wordt ook de sleutel vervangen. Dat is geen extraatje maar de kern van de zaak: een gewist bestand is op flashgeheugen soms nog terug te halen. Zonder de oude sleutel is wat daar eventueel nog staat onleesbaar.
Terughalen kan daarna dus niet meer, en ook de maker van de app kan er niets aan doen. De app waarschuwt daar vooraf voor.
Tickets staan in een tweede versleuteld bestand. De sleutel daarvan zit omhuld door een sleutel in de Android Keystore, en die is alleen te gebruiken direct na authenticatie met je vingerafdruk, gezicht, pincode of patroon.
De grendel gaat tot de sleutel, niet tot het scherm. Dat is het verschil met een app die alleen een venster voor je gegevens zet: daar liggen de gegevens gewoon leesbaar op de schijf en is het slot niet meer dan een gordijn. Hier is er zonder authenticatie niets te lezen, ook niet voor wie het bestand van het toestel weet te halen.
De sleutel blijft daarna niet in het geheugen hangen. Daarom vraagt de kluis elke keer opnieuw om je vingerafdruk, en valt hij vanzelf dicht zodra de app naar de achtergrond gaat.
De kluis vraagt Android 10 of nieuwer én een schermvergrendeling op het toestel. Ontbreekt een van de twee, dan maakt de app geen kluis en zegt dat erbij. Iets een kluis noemen terwijl de deur openstaat heeft geen zin.
Omdat Android de sleutel van de kluis weggooit zodra er een vingerafdruk of gezichtsscan bijkomt. Dat is met opzet zo gebouwd: anders kan iemand die je pincode kent er een eigen vinger aan toevoegen en zo bij je tickets.
Wat er lag is daarmee onleesbaar. Alleen een back-up brengt het terug. De app waarschuwt hiervoor voordat je de kluis in gebruik neemt, en meldt het achteraf met de verwijzing naar de back-up.
De back-up is één bestand met de geschiedenis en de tickets erin, versleuteld met een wachtwoord dat je zelf kiest. Dat wachtwoord wordt met PBKDF2 tot een sleutel gerekend, zodat raden traag en duur is.
Buiten de app is dat bestand beschermd door je wachtwoord en niet meer door je vingerafdruk. Kies er dus een die ergens op slaat. Raak je hem kwijt, dan is het bestand niet meer te openen, door niemand. Dat is precies waarom de back-up iets waard is.
| Recht | Waarvoor |
|---|---|
| Camera | Codes lezen. Er worden geen foto's gemaakt of bewaard. |
| Vingerafdruk | Het slot op de ticketkluis. Zonder dit recht weigert Android al de vraag of er een vingerafdruk beschikbaar is. |
| Aankoop in de app | De eenmalige aankoop van Pro, via de Play Store-app op je toestel. Er gaat geen betaalgegeven door Barcodehammer heen. |
| Internet | Wordt door de app zelf niet gebruikt. Het recht staat wel in het bestand; zie hieronder. |
Omdat de scanbibliotheek van Google, ML Kit, dat recht in haar eigen deel van het bestand zet. Barcodehammer vraagt het niet aan en gebruikt het niet. Die bibliotheek kan er gebruiksgegevens over zichzelf mee naar Google sturen; wat jij scant of maakt zit daar niet in.
Dit had makkelijk verzwegen kunnen worden. Het staat er juist wél, want wie de rechten naleest nadat hij "volledig offline" heeft gelezen, voelt zich bekocht. Het volledige verhaal staat in het privacybeleid.
Dat een code netjes in beeld komt, zegt niets over wat erin staat. De versleuteling beschermt wat je bewaart; ze zegt niets over de betrouwbaarheid van een gescand webadres of over de geldigheid van een kaartje. De app leest wat er staat en oordeelt niet. Zie hoofdstuk 4 van de gebruiksvoorwaarden.
Welke gegevens er verzameld worden, en waarom dat er geen zijn.
Lees verderWat de app allemaal doet, van scannen tot back-up.
Lees verderAntwoorden op wat er in de praktijk misgaat.
Lees verder