6 Punkte von GN⁺ 2025-08-16 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Um die langsame Bedienung der PureGym-App und den umständlichen Einlassprozess zu beheben, wurde dieser privat für Apple Wallet optimiert
  • Der bisherige QR-Code ist ineffizient, weil man jedes Mal die App öffnen und die Informationen laden muss; der Eintritt dauert dabei etwa 47 Sekunden
  • Durch verschiedene technische Schritte wie Reverse Engineering, den Einsatz von mitmproxy und das PassKit-Framework wurde ein automatisch aktualisierbarer Wallet-Pass umgesetzt
  • Dabei wurden interne Abläufe von PureGym sichtbar, darunter Sicherheitslücken beim PIN-Code, die Struktur der API-Authentifizierung und Standortdaten der Filialen
  • Am Ende entstand eine Nutzererfahrung mit 3 Sekunden bis zum Einlass; es blieb jedoch ein persönliches Experiment und ist kein offizieller Service

47 Sekunden: der Anfang des Ärgers

  • An einem Werktag um 11:15 Uhr dauerte es am PureGym-Eingang 47 Sekunden, bis die App geöffnet war
  • Schwaches Signal, WLAN-Verbindung, App-Start, diverse Push-Benachrichtigungen und Sonderangebote mussten erst übersprungen werden, bevor der QR-Code erschien
  • Bis der eigentliche QR-Code sichtbar wurde, verging so viel Zeit, dass es vor anderen Mitgliedern unangenehm wurde
  • Bei 6 Wiederholungen pro Woche summiert sich diese ineffiziente Erfahrung auf 282 Sekunden wöchentlich
  • Verglichen mit berührungslosen Erlebnissen wie bei Amazon Fresh ist die Einlass-UX von PureGym deutlich rückständig

Das Rätsel um den 8 Jahre alten PIN

  • Der Autor verwendet seit 8 Jahren denselben 8-stelligen PIN-Code
  • Dieser PIN läuft weder ab noch wird er geändert
  • Der QR-Code in der App hingegen wird jede Minute durch einen neuen Wert ersetzt
  • Zwischen dem tatsächlichen Sicherheitsniveau und der realen Implementierung besteht also ein großer Widerspruch
  • Das PIN-Verfahren bleibt extrem lange unverändert, während nur der QR-Code streng geschützt wird – eine Art „Security Show“

PureGym mit mitmproxy verstehen

  • Zunächst wurde versucht, einen Screenshot des QR-Codes in Apple Wallet zu verwenden, was jedoch sofort scheiterte
  • Der QR-Code von PureGym wird dynamisch erzeugt, läuft ungefähr nach einer Woche ab, wird in der App aber jede Minute erneuert
  • Durch die Suche nach „PureGym“-Repos auf GitHub wurde die Struktur der API-Authentifizierung gefunden
    • Der 8-stellige PIN für den Login wird identisch als API-Passwort verwendet
    • Auch die Base64-kodierten Basis-Authentifizierungsdaten bieten nur geringe Sicherheit
  • Um den App-Traffic zu analysieren, wurden Anfragen mit Proxy-Tools wie mitmproxy abgefangen
    • Die JSON-Struktur des QR-Codes besteht aus part1 (feste id), part2 (Zeitstempel) und part3 (salt für die Erneuerung)
    • Die API gibt sogar den Zeitpunkt der Erneuerung und die Ablauflogik vor

PassKit: das Potenzial von Apple Wallet

  • Apple-Wallet-Pässe sind keine statischen Karten, sondern eher Mini-Apps mit eigener Aktualisierung, Push-Benachrichtigungen und ortsabhängigem Verhalten
  • Für eine PassKit-Implementierung werden eine JSON-Spezifikation, Bildressourcen, Zertifikatssignaturen und ein Webservice für Echtzeit-Aktualisierungen benötigt
  • Im Apple-Developer-Portal sind die Ausstellung einer Pass Type ID und eines WWDR-Zertifikats erforderlich
  • Die Zertifikatssignierung und -verwaltung ist kompliziert, ermöglicht bei Erfolg aber eine nahtlose Erfahrung auf echten Geräten

Swift-Backend aufbauen

  • Normalerweise würde dafür Node.js verwendet, hier wurde der PassKit-Webservice jedoch direkt mit Swift und Vapor umgesetzt
    • Wenn ein Pass aktualisiert werden muss, erfolgt das Update automatisch per stillem Push
    • Dadurch wird eine natürliche Pass-Aktualisierung erreicht, die der Nutzer gar nicht bemerkt

Automatisierung der PureGym-Standorte im ganzen Land

  • Apple-Wallet-Pässe können an bestimmten Orten automatisch eingeblendet werden
  • Auf der offiziellen PureGym-Website fehlen detaillierte Koordinaten, über die API ließ sich jedoch eine Liste der Koordinaten aller Filialen im Land abrufen
  • Alle Standortkoordinaten wurden geparst und jedem Pass die nächstgelegene Filiale zugewiesen
  • Nachteil: Befindet sich ein PureGym in einem Einkaufszentrum, erscheint der Pass gelegentlich schon beim bloßen Shopping

Apple-Watch-Integration

  • Apple-Wallet-Pässe werden ohne zusätzliche Arbeit automatisch mit der Apple Watch synchronisiert
  • Zweimal am Handgelenk klicken, scannen, eintreten: Das dauert nur noch 3 Sekunden
  • Damit wird eine Zeitersparnis von mehr als 93 % erreicht

Die Veränderung in Zahlen

  • Bisherige Einlasszeit mit der PureGym-App: 47 Sekunden
  • Einlasszeit mit dem Apple-Wallet-Pass: 3 Sekunden
  • Durchschnittlich gesparte Zeit pro Woche: 4,4 Minuten (3,8 Stunden pro Jahr)
  • Andere Mitglieder fragten 23-mal, ob es so eine App gebe; jedes Mal wurde erklärt, dass sie inoffiziell ist
  • Es gibt Anfragen, aber aus Urheberrechts- und Servicegründen ist keine Veröffentlichung geplant

Bonus: Home-Assistant-Integration

  • Über den Endpoint für die Anzahl der Personen im Innenbereich der PureGym-API wird die aktuelle Auslastung des Fitnessstudios in einem IoT-Dashboard angezeigt
  • So lässt sich datenbasiert entscheiden, wann man zu ruhigeren Zeiten zurückkehrt, was Effizienz und Motivation beim Training steigert

Technische Realität und Ethik

  • Ausgangspunkt war reiner persönlicher Frust, doch intern bei PureGym blieb dieser Bereich über Jahre unbeachtet
  • Ein außerhalb der Organisation entstandener Prototyp kann Probleme manchmal schneller lösen als die offizielle Roadmap
  • Offiziell könnte dies jedoch gegen die Nutzungsbedingungen verstoßen, und PureGym könnte es jederzeit blockieren
  • Es wurde niemals automatisiert oder geteilt; das Ganze blieb ein rein persönliches Experiment, wobei aus Stabilitätsgründen Prinzipien wie Caching eingehalten wurden

Nächste Schritte und Fazit

  • Künftig wären Erweiterungsideen wie „Scham-Push-Benachrichtigungen“ denkbar
  • Der praktische Nutzen mag klein sein, doch die Optimierung von jährlich 3,8 Stunden „unnötiger Bewegungen“ wird als befriedigend empfunden
  • Würde PureGym das offiziell umsetzen, könnte es den Komfort für deutlich mehr Nutzer verbessern
  • Der Fall bleibt als Beispiel für eine „inoffizielle, aber wirksame Erfahrung“ bestehen

Noch keine Kommentare.

Noch keine Kommentare.