Doorgaan naar hoofdinhoud

Een opmerking over privacy en Expo voor iOS

· 4 minuten leestijd
Onofficiële Beta-vertaling

Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →

Bij Jellyfin garanderen we dat er geen onvrijwillige tracking plaatsvindt, van de server tot de mobiele apps. Dit blijft waar, zelfs na de recente update in de Apple App Store.

Voor de ontwikkeling van de Jellyfin Mobile-app voor iOS gebruiken we een JavaScript-framework genaamd Expo. Dit framework biedt een geïntegreerde manier om React Native te gebruiken voor het maken van mobiele apps. Om diverse technische redenen was dit de beste manier om een iOS-app te leveren, ondanks de huidige beperkingen.

Sinds een update in december 2020 vereist Apple dat alle ontwikkelaars privacy-informatie moeten indienen bij nieuwe apps of app-updates. Apple heeft een artikel over deze "privacybadges" op hun website: "HT211970 - Over privacy-informatie in de App Store...". Na onze laatste Jellyfin Mobile-update dachten we dat we hierin in orde waren - de Jellyfin-app bevat geen code om gebruikers te volgen of gegevens te rapporteren. We hebben dit verklaard in onze update-informatie en ontvingen het "Geen gegevens verzameld"-badge.

We kwamen er echter achter dat Expo een probleem heeft dat dit onmogelijk maakt. In februari werden we door Apple gecontacteerd met de mededeling dat ons badge onjuist was en moest worden bijgewerkt. We hebben hier verder onderzoek naar gedaan bij Expo via hun forum: "Mail van App Store Connect over Facebook App Events". Wanneer we Expo gebruiken om de app te bouwen (hun "managed" workflow), neemt hun compiler automatisch basiscode op voor diverse onderdelen, inclusief code die kan worden gebruikt voor analyses en tracking. Hoewel we deze functies niet gebruiken, is deze code wel aanwezig in de uiteindelijke app-binair. Daarom zijn we nu gedwongen te verklaren dat de app toegang heeft tot het apparaat-ID.

Ik wil nogmaals benadrukken: We volgen geen gebruikersactiviteiten en verzamelen geen gegevens.

Je kunt dit verifiëren door de codebase op GitHub te bekijken: "jellyfin/jellyfin-expo". Het huidige bouwproces van Expo bevat code die mogelijk voor tracking gebruikt zou kunnen worden, maar deze wordt nooit geactiveerd door onze code en we gebruiken hem helemaal niet. Omdat deze code uiteindelijk in de app staat, moeten we het badge in de App Store aanpassen. Zoals Expo uitlegt op hun publicatiedetailpagina:

Let op: Er worden geen gegevens naar Branch, Facebook, Segment of Amplitude gestuurd vanuit je app, tenzij je dit expliciet doet via de API's.

In de forumdiscussie heeft Expo toegezegd in een toekomstige update hun geautomatiseerde bouwservice zo aan te passen dat alleen actief gebruikte codemodules worden opgenomen. Dit zou ons in staat stellen het "Geen gegevens verzameld"-badge terug te krijgen. Om de app te verbeteren en meer functies toe te voegen, overwegen we in de toekomst van Expo te "ejecten", wat betekent dat we het bouwproces volledig zelf kunnen beheren.


Bedankt voor het gebruik van Jellyfin en je steun tot nu toe. Onze iOS-app wordt grotendeels door één bijdrager ontwikkeld, @thornbill, die ruimhartig zijn vrije tijd besteedt om de app te ontwikkelen en voortdurend te verbeteren. Hij heeft, samen met enkele van onze bijdragers, donatiepagina's opgezet via GitHub Sponsors of andere sites zoals LiberaPay, Patreon en meer. Als je een van hen wilt steunen, bekijk dan hun profielen voor meer informatie. Wil je Jellyfin als geheel steunen (alleen voor infrastructuur- en apparatuurkosten), bezoek dan ons openbare register op OpenCollective. We zijn momenteel redelijk gedekt, dus overweeg eerst aan bijdragers te doneren.

Blijf op de hoogte voor toekomstige berichten over app-updates, onze toewijding aan privacybescherming bij Jellyfin, en onze gemeenschap van bijdragers - inclusief manieren om hen en de ontwikkeling te ondersteunen.

Met vriendelijke groet, Anthony