DE EN FR ES NL

Privacybeleid

Dit privacybeleid legt uit welke persoonsgegevens de app "SurvKit" verwerkt. Het geldt voor de iOS- en de Android-versie en heeft uitsluitend betrekking op de app zelf.

Deze vertaling is bedoeld als hulpmiddel. Bij verschillen is de Duitse versie leidend.

SurvKit is strikt gebouwd volgens het principe van privacy by design (art. 25 AVG): de app verwerkt persoonsgegevens uitsluitend lokaal op je toestel. Er is geen server, geen account, geen cloud, geen telemetrie en er zijn geen analyse-SDK's. De enige uitzonderingen zijn het vrijwillige feedbackformulier, de afhandeling van de in-app-aankoop en de crashrapporten, die je kunt uitschakelen - alle drie worden hieronder uitvoerig beschreven.

De Android-versie verwerkt minder. Die heeft geen feedbackformulier en geen crashrapporten; ze gaat maar voor twee dingen online, en beide zet je zelf in gang: de in-app-aankoop, die Google Play afhandelt, en het downloaden van offline kaartpakketten. Het aparte onderdeel Android-versie hieronder noemt elk verschil.

Verwerkingsverantwoordelijke

De verwerkingsverantwoordelijke in de zin van de Algemene verordening gegevensbescherming (AVG) is de natuurlijke persoon die "SurvKit" als zelfstandig ontwikkelaar uitgeeft:

  • Naam: Bo Niehaus
  • Adres: Allerstraße 26, 12049 Berlijn, Duitsland
  • E-mail: survkit@borisniehaus.de

De volledige contactgegevens staan ook in het colofon (in het Duits).

Functionaris voor gegevensbescherming

"SurvKit" wordt door één persoon als zelfstandig ontwikkelaar uitgegeven. Een functionaris voor gegevensbescherming is daarom wettelijk niet verplicht en er is er geen aangewezen.

Geen account, geen server, geen doorgifte

SurvKit vereist geen registratie en heeft geen backend. Alle gegevens die je invoert, worden uitsluitend lokaal op je toestel opgeslagen en aan niemand doorgegeven (enige uitzondering: het feedbackformulier, zie hieronder):

  • Noodprofiel (bijv. bloedgroep, allergieën, noodcontacten) - lokaal, beschermd door de gegevensbeveiliging van iOS
  • Documentenkluis - lokaal, versleuteld met AES-256-GCM, sleutel opgeslagen in de iOS-sleutelhanger
  • Locatie en tracks - in het werkgeheugen, of lokaal opgeslagen wanneer je een opname start
  • Voorraden, notities, checklists, leervoortgang - lokaal
  • Messenger-berichten - end-to-end versleuteld (Curve25519 + ChaChaPoly), rechtstreeks verzonden naar een toestel binnen bluetooth- / wifi-bereik, zonder server ertussen

De rechtsgrond voor deze puur lokale verwerking is het leveren van de functies waar je om vraagt (art. 6 lid 1 onder b AVG).

Internetverbindingen alleen op jouw verzoek

De app maakt alleen verbinding met internet als je dat zelf in gang zet. Om technische redenen ontvangt de betreffende derde partij je IP-adres en een user agent:

  • Offline kaartpakketten (GitHub Releases): de opgevraagde bestandsnaam; kaartgegevens © OpenStreetMap (ODbL)
  • Wikipedia-artikelen (Wikipedia REST API): de titels van de opgevraagde artikelen
  • Weer (Open-Meteo): afgeronde coördinaten voor de verwachting
  • Barcodes van levensmiddelen opzoeken (OpenFoodFacts): het gescande barcodenummer
  • Lokaal AI-model (Hugging Face): eenmalige download van het modelbestand
  • Voertuighandleidingen: het openen van het fabrikantenportaal dat je hebt gekozen

Wij loggen deze verzoeken niet; er worden geen identificatoren doorgegeven buiten wat technisch noodzakelijk is. De rechtsgrond is het leveren van de functie waar je uitdrukkelijk om hebt gevraagd (art. 6 lid 1 onder b AVG). Gedownloade inhoud werkt daarna offline.

Feedbackformulier (Supabase)

Onder Profiel → Feedback sturen kun je ons een bericht sturen. Dit is de enige manier waarop inhoud die je invoert het toestel ooit verlaat, en dat gebeurt uitsluitend doordat je op "Verzenden" tikt - er wordt niets op de achtergrond verstuurd.

Verzonden worden: je feedbacktekst, een optioneel e-mailadres (alleen als je een antwoord wilt) en - om de melding te kunnen plaatsen - de app- en buildversie, de iOS-versie, het toestelmodel en de taalinstelling. Niet verzonden worden je noodprofiel, de inhoud van de kluis, je locatie, voorraden, notities of andere appgegevens. De ontvanger is een Supabase-database (Supabase Inc.); de sleutel die in de app is ingebouwd, kan alleen gegevens toevoegen, niet lezen. De rechtsgrond is de afhandeling van je verzoek (art. 6 lid 1 onder b AVG).

In-app-aankoop "SurvKit Pro" (Apple / RevenueCat)

SurvKit is zeven dagen zonder beperkingen te gebruiken; daarna worden uitgebreide onderdelen ontgrendeld met één eenmalige in-app-aankoop (geen abonnement). De basisfuncties voor noodgevallen blijven blijvend gratis. De aankoop zelf wordt afgehandeld door Apple (StoreKit / App Store); om de prijs te tonen, de aankoop te valideren en aankopen te herstellen gebruikt de app de SDK van dienstverlener RevenueCat, Inc.

RevenueCat ontvangt een anonieme, door RevenueCat gegenereerde gebruikers-ID, de bongegevens van de App Store, de appversie, het toesteltype en de taalinstelling - geen naam, geen e-mailadres, geen Apple ID. De aankoopstatus wordt lokaal in de cache bewaard; de app controleert niets op de achtergrond. De rechtsgrond is de uitvoering van de overeenkomst (art. 6 lid 1 onder b AVG). Details: privacybeleid van RevenueCat.

Crashrapporten (Sentry)

Als de app crasht, stuurt ze bij de volgende start een technisch foutrapport. Deze functie staat na de installatie aan. De privacystap bij de eerste start noemt haar uitdrukkelijk en toont de bijbehorende schakelaar er direct naast; je kunt haar daar uitzetten en later op elk moment onder Profiel → Over de app → Diagnose. Uitschakelen werkt onmiddellijk - de Sentry-SDK wordt afgesloten en opent geen verbinding meer.

Alleen technische details over de crash worden verzonden: foutmelding en aanroepstapel (stack trace), de plek in de programmacode, app- en buildversie, iOS-versie, toestelmodel, taalinstelling en tijdzone, plus een gepseudonimiseerde installatie-ID die de Sentry-SDK per toestel toekent. Niet verzonden: schermafbeeldingen, je gps-locatie en inhoud uit het noodprofiel, de documentenkluis, de voorraadlijst of notities. Er wordt geen gebruiksgedrag vastgelegd en er wordt geen gebruikersprofiel aangemaakt.

Over het IP-adres: de app verstuurt het niet. Bij het afleveren van het rapport ziet de Sentry-server het onvermijdelijk - dat valt vanuit de app niet te voorkomen. Voor dit project is de optie "Prevent Storing of IP Addresses" ingeschakeld, zodat het adres niet wordt opgeslagen. Een daaruit afgeleide globale locatie (land en stad) blijft wel bij de gebeurtenis opgeslagen; dit is een functie van Sentry aan de serverkant en kan niet worden uitgezet.

De verwerker is Functional Software, Inc. ("Sentry"), San Francisco, Californië, VS. Rapporten gaan naar de EU-regio van de dienst (ingest.de.sentry.io) en worden opgeslagen in datacenters binnen de Europese Unie. De grondslag is een verwerkersovereenkomst (Data Processing Addendum als onderdeel van de gebruiksvoorwaarden); voor eventuele doorgiften naar de VS gelden de standaardcontractbepalingen van de Europese Commissie. Rapporten worden automatisch verwijderd na de bewaartermijnen van Sentry. Details: privacybeleid van Sentry.

De rechtsgrond is ons gerechtvaardigd belang bij een stabiele en foutloze app (art. 6 lid 1 onder f AVG). Fouten die alleen op bepaalde toestellen of in bepaalde talen optreden, zijn anders praktisch niet te vinden. Je kunt op elk moment bezwaar maken tegen deze verwerking door de schakelaar uit te zetten (art. 21 AVG).

Machtigingen

SurvKit vraagt systeemmachtigingen (locatie, camera, microfoon, meldingen, lokaal netwerk / bluetooth) alleen wanneer een functie ze nodig heeft - zoals de camera voor de documentscanner of de locatie voor de kaart en het kompas. Gegevens uit deze machtigingen worden uitsluitend lokaal verwerkt en nooit doorgegeven. Meldingen zijn puur lokaal (bijv. houdbaarheidsdata in je voorraad) - er zijn geen pushservers. Deze lijst beschrijft de iOS-versie; welke machtigingen de Android-versie vraagt, en waarvoor, staat één voor één onder Android-versie.

Android-versie

De Android-versie van SurvKit is beperkter van opzet dan de iOS-versie, en dat geldt ook voor de gegevensverwerking. Voor die versie geldt het volgende:

  • De app maakt verbinding voor offline kaartpakketten, voor het weer en voor de aankoop. Alle drie zet je zelf in gang; er gaat niets vanzelf naar buiten. Kaartpakketten download je door in de kaart op "Downloaden" te tikken; de bestanden staan op GitHub Releases, dat om technische redenen je IP-adres, een user agent en de opgevraagde bestandsnaam ontvangt (kaartgegevens © OpenStreetMap, ODbL). Daarna werkt de kaart volledig offline - er wordt niets opgehaald terwijl je haar bekijkt. Het weer wordt bij Open-Meteo opgehaald wanneer je het weerscherm opent en de locatiemachtiging hebt verleend. Verzonden worden coördinaten afgerond op twee decimalen - nauwkeurig tot ongeveer een kilometer, genoeg voor een verwachting en te grof voor een adres. Voor de aankoop is de Play Billing-bibliotheek van Google ingebouwd; die brengt de machtigingen INTERNET en ACCESS_NETWORK_STATE mee om aankopen aan Google te melden. Zonder die bibliotheek kun je niet in de winkel van Google verkopen. De codelezer zoekt niets op: die decodeert op het toestel.
  • Waarmee de app verbinding mag maken, ligt in het programma zelf vast. Elk verzoek loopt via één punt dat precies deze zes tegenpartijen toelaat en al het andere weigert: github.com (kaartpakketten), api.open-meteo.com (weer), wikipedia.org (artikelen), world.openfoodfacts.org (barcodes van levensmiddelen), www.ema.europa.eu (bijsluiters) en huggingface.co (eenmalige download van een AI-model dat daarna op het toestel draait). Wikipedia, de bijsluiters en het AI-model horen bij functies die de Android-versie nog niet heeft - ze staan hier al vermeld, zodat deze tekst niet achterloopt op de app. De levensmiddelenscanner is er daarentegen wel: die stuurt het barcodenummer naar OpenFoodFacts en krijgt naam, merk, hoeveelheid en ingrediëntenlijst terug. De vergelijking met je allergenenprofiel gebeurt op het toestel - je lijst met allergenen wordt nooit verzonden. Eenmaal geladen blijft een product offline beschikbaar. Alleen wat het verzoek zelf vormt, wordt verzonden: een bestandsnaam, afgeronde coördinaten, een artikeltitel, een barcodenummer. De app stuurt geen cookies, geen toestel-ID's en geen advertentie-ID's; de user agent noemt de app en de versie, omdat openbare interfaces dat vereisen. Er is geen dienst die op de achtergrond iets ophaalt.
  • De bluetooth-messenger gebruikt geen internet. Die verbindt je telefoon rechtstreeks met een toestel in de buurt - via Bluetooth LE of de lokale wifi, zonder server ertussen, en werkt ook als er helemaal geen internetverbinding is. Berichten zijn end-to-end versleuteld (X25519 voor de sleuteluitwisseling, HKDF-SHA256, ChaCha20-Poly1305); om te bevestigen dat het toestel waarmee je praat het toestel is dat je denkt, kun je een veiligheidsnummer van zes groepen van vier cijfers vergelijken - het moet op beide telefoons hetzelfde zijn. Wat toestellen binnen bereik kunnen zien zolang het scherm open is, is de weergavenaam die je zelf kiest - zet daar niet je echte naam als je dat liever niet wilt. De geschiedenis blijft op je toestel; berichten die je verstuurt, komen ook op het toestel van de ontvanger terecht, en daarover hebben wij geen controle.
  • Geen feedbackformulier (geen Supabase), geen crashrapporten (geen Sentry) en geen RevenueCat. De eenmalige aankoop loopt rechtstreeks via Google Play; er is geen andere derde partij bij betrokken. De betaling wordt afgehandeld door Google (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ierland) - wij zien noch je naam noch je betaalgegevens, alleen of dit toestelaccount het product bezit. Die ja-of-nee-waarde blijft op het toestel.
  • De proefperiode wordt door het toestel zelf bijgehouden. De zeven gratis dagen zijn een datum in de eigen opslag van de app. Er is geen account, geen identificator en geen verzoek aan ons - wij komen niet te weten of en wanneer je de app gebruikt.
  • De machtigingen, één voor één genoemd. De app declareert dertien vermeldingen in het manifest, die neerkomen op zeven dingen. Elk wordt pas gevraagd wanneer je de functie opent die het nodig heeft - geen enkele bij het opstarten:
  • Meldingen (POST_NOTIFICATIONS) voor de herinnering aan voorraden die bijna over de datum zijn. Pas gevraagd wanneer je je eerste houdbaarheidsdatum invoert; de melding wordt op het toestel aangemaakt, zonder pushserver.
  • Starten na opnieuw opstarten (RECEIVE_BOOT_COMPLETED) zodat die herinneringen een herstart van de telefoon overleven.
  • Locatie (ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION) voor de positieweergave in het kompas - coördinaten, hoogte, UTM en MGRS -, voor je eigen positie op de kaart, voor trackopname en voor het weer. In alle gevallen op één na blijft de positie op het toestel: ze wordt getoond, of daar opgeslagen als je een opname start. De enige uitzondering is het weer - op twee decimalen afgeronde coördinaten gaan naar Open-Meteo, want een verwachting zonder plaats is geen verwachting. Kompas en kaart werken ook zonder deze machtiging, alleen dan zonder positie. Onder Android 12 vereist de bluetooth-scan bovendien de locatie; dat is een regel van het systeem en dient daar om toestellen te vinden, niet om jou te lokaliseren.
  • Microfoon (RECORD_AUDIO) voor de geluidsmeter. Er wordt niets opgenomen. De app berekent de geluidssterkte uit het live signaal en gooit dat meteen weg; niets ervan wordt opgeslagen of verzonden.
  • Camera (CAMERA) voor de codelezer en de documentscanner. De codelezer analyseert het beeld op het toestel en gooit het weg; de documentscanner zet de opname rechtstreeks in de versleutelde kluis op je toestel. Geen enkel beeld verlaat de telefoon.
  • Bluetooth (BLUETOOTH_SCAN, BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE; onder Android 12 BLUETOOTH en BLUETOOTH_ADMIN) voor de bluetooth-messenger. Gevraagd wanneer je dat scherm opent. De scan draagt de vlag neverForLocation: hij dient om toestellen te vinden en wordt niet gebruikt om je locatie af te leiden. Als je weigert, blijft de messenger werken via de lokale wifi. Bluetooth is geen vereiste voor de app - heeft het toestel het niet, dan ontbreekt alleen dit ene scherm.
  • Voorgronddienst (FOREGROUND_SERVICE, FOREGROUND_SERVICE_LOCATION) voor twee functies: trackopname op de kaart en het positiebaken in het SOS-onderdeel, dat met het door jou ingestelde interval onthoudt waar je bent. Dit zijn de enige twee dingen die doorlopen terwijl de app gesloten is - en elk alleen zolang je het hebt gestart: van "starten" tot "stoppen", nooit automatisch, nooit na een herstart van de telefoon. Een melding met een stopknop blijft de hele tijd zichtbaar in de statusbalk. Track en punten worden op het toestel opgeslagen en nergens naartoe gestuurd; je kunt beide in de app weer verwijderen. Het baken geeft uit zichzelf niets door - als je tikt, zet het een tekst met tijd, coördinaten en een OpenStreetMap-link in het deelmenu van je telefoon, en waar die naartoe gaat, beslis jij in de volgende stap.
  • De bibliotheken voegen toe: com.android.vending.BILLING, INTERNET en ACCESS_NETWORK_STATE voor de aankoop, plus USE_BIOMETRIC en USE_FINGERPRINT voor de appvergrendeling en de kluis.
  • Versleuteling via de Android Keystore. De documentenkluis versleutelt met AES-256-GCM; de hoofdsleutel zit in de keystore van het toestel en kan er niet uit worden gehaald. Vingerafdruk, gezicht of toestelcode kunnen ervoor worden gezet. Waar de tekst hierboven verwijst naar de gegevensbeveiliging van iOS en de sleutelhanger, neemt de Android Keystore die plaats in.
  • Back-up en export werken zoals beschreven: alleen wanneer je ze in gang zet, versleuteld met je wachtwoord, opgeslagen waar jij ze neerzet.

De offline kaart, het weer, de bluetooth-messenger en de levensmiddelenscanner zijn nu inbegrepen en hierboven beschreven. Zodra de Android-versie nog een van de functies krijgt die tot nu toe alleen de iOS-versie heeft - Wikipedia, bijsluiters of de AI-assistent - wordt dit onderdeel vooraf bijgewerkt. De zes tegenpartijen die daarvoor in aanmerking komen, staan hierboven al volledig vermeld.

Bewaartermijn en verwijdering

Alle gegevens staan uitsluitend op je toestel en blijven opgeslagen totdat je ze in de app verwijdert of de app de-installeert. Een versleutelde export (back-up) vindt alleen plaats wanneer je die zelf in gang zet, en wordt opgeslagen waar jij dat kiest.

Je rechten

Je hebt de rechten uit art. 15-21 AVG (inzage, rectificatie, wissing, beperking, bezwaar, gegevensoverdraagbaarheid) en het recht om een klacht in te dienen bij een toezichthoudende autoriteit (art. 77 AVG). Omdat alle gegevens lokaal op je toestel staan, kun je inzage, rectificatie en wissing op elk moment rechtstreeks in de app uitoefenen. Voor vragen kun je terecht bij survkit@borisniehaus.de.

Apple en Google als distributieplatforms

SurvKit wordt verspreid via de Apple App Store en via Google Play. Het verkrijgen van de app via een van beide winkels valt onder de eigen gegevensverwerking van Apple of Google (bijv. in het kader van je account en de download), wordt beheerst door hun privacybeleid en ligt buiten de invloedssfeer van de verwerkingsverantwoordelijke.

Cookies en tracking

SurvKit gebruikt geen cookies, doet niet aan tracking en bevat geen analyse- of advertentie-SDK's. Er zijn geen advertentie-ID's, geen profilering en geen herkenning over toestellen heen. De enige ingebouwde diagnose-SDK is Sentry voor crashrapporten - beperkt tot crashes, zonder gebruiksgedrag en op elk moment uit te schakelen (zie hierboven). De Android-versie bevat zelfs dat niet.

Laatst bijgewerkt

2026-09-15

← Terug naar de app-pagina