Einstellungen und Sicherheit
Alle Einstellungen der Build Station, wo Konfiguration und Logs liegen, was im Schlüsselbund steht und was an welche Dienste gesendet wird.
Einstellungen in der Seitenleiste sammelt alles, was für die ganze Station gilt. Projektbezogene Einstellungen stehen dagegen im Projekt-Editor, siehe Projekte anlegen.
Die Abschnitte
| Abschnitt | Was du dort einstellst |
|---|---|
| Ausführung | Shell-Modus, Parallele Builds, Benachrichtigung bei Build-Ende und flutter analyze beim Projektwechsel |
| Nach dem Upload | Git-Tag setzen und Tag nach origin pushen, siehe Artefakte und Upload |
| Zusätzliche PATH-Einträge | Ordner, die vor den PATH gestellt werden. Vorgabe: /opt/homebrew/bin und /usr/local/bin |
| Sammelordner | wo die Artefakte landen, Vorgabe ~/Builds/iw-buildstation |
| Codemagic | API-Token, siehe Codemagic |
| KI-Reparatur | Claude-API-Schlüssel, Modell, Tageslimit, siehe Wenn ein Build scheitert |
| MCP-Server | Anmeldung bei einem KI-Assistenten, siehe MCP-Server |
| Toolchain | welche Werkzeuge in der gewählten Shell gefunden werden |
| Wartung | Gradle-Daemons stoppen |
| Dateien | Ort von config.json, runs.json, settings.json und den Logs |
| Lizenz | Lizenzschlüssel und Status, siehe Lizenz |
| Fernzugriff | Bedienung im Browser, siehe Fernzugriff |
| Über die App | Version, Nach Updates suchen und Nutzungshinweis anzeigen |
Shell-Modus und Toolchain
Eine aus dem Finder gestartete App erbt die PATH-Einstellungen aus ~/.zshrc nicht. Deshalb startet die Station jeden Befehl standardmäßig über eine Login-Shell (/bin/zsh -lc), die deine Shell-Konfiguration lädt. Die Alternative Direkt (/bin/zsh -c) lädt sie nicht und findet deshalb oft fvm oder fastlane nicht.
Unter Toolchain prüft die Station fvm, flutter, git, java, xcrun, pod und zip und zeigt die gefundene Version. Fehlt ein benötigtes Werkzeug, hilft meist die Login-Shell oder ein zusätzlicher PATH-Eintrag. Erneut prüfen wiederholt den Test.
Updates der Build Station
Nach Updates suchen unter Über die App fragt, ob es eine neue Version gibt, und zeigt sie mit Release Notes an. Die signierte Version vom Download sucht außerdem selbst einmal täglich.
Wo deine Daten liegen
Alles, was die Station speichert, liegt in einem Ordner:
~/Library/Application Support/de.inwendo.buildstation/
| Datei | Inhalt |
|---|---|
config.json |
Projekte und Presets |
runs.json |
Build-Historie mit Checklisten |
settings.json |
globale Einstellungen |
uploads.json |
wann welche Version in welchen Store ging |
license.json |
Ergebnis der letzten Lizenzprüfung, ohne den Schlüssel |
remote_access.json |
Einstellungen und Passwort-Hash für den Fernzugriff |
autofix_rules.json |
gespeicherte Reparatur-Regeln |
autofix/backups/ |
Sicherungen vor automatischen Reparaturen |
logs/<Lauf-ID>.log |
vollständige Build-Logs |
Alle Schreibvorgänge sind atomar: Die Station schreibt erst eine temporäre Datei und benennt sie dann um. Ein Absturz mitten im Schreiben zerstört die Historie nicht.
config.json von Hand bearbeiten
Normalerweise musst du keine JSON-Datei anfassen. Wenn du willst, geht es trotzdem: Einstellungen › Dateien › Im Editor öffnen, bearbeiten, speichern, dann in der Seitenleiste neben PROJEKTE auf das Symbol Konfiguration neu laden klicken.
Enthält die Datei Fehler, zeigt die Station einen Banner mit der Stelle und lässt die Datei unverändert. Sie wird nie durch einen Stand ersetzt, den die Station nicht lesen konnte.
Der Schlüsselbund
Zugangsdaten stehen nie in config.json. Sie liegen im macOS-Schlüsselbund dieses Macs:
| Dienst | Inhalt |
|---|---|
de.inwendo.buildstation.store |
Store-Zugangsdaten pro Projekt: Service-Account, .p8, Partner-Center-Schlüssel, Webhook-Geheimnis, Sparkle-Schlüssel |
de.inwendo.buildstation.codemagic |
Codemagic-API-Token |
de.inwendo.buildstation.anthropic |
Claude-API-Schlüssel |
de.inwendo.buildstation.license |
Lizenzschlüssel |
In der Schlüsselbundverwaltung kannst du die Einträge ansehen und löschen. In der Station entfernen die Knöpfe Aus Schlüsselbund entfernen bzw. Entfernen sie gezielt.
Eine weitergegebene config.json oder buildstation.json enthält damit keine Zugangsdaten. Ausnahme: Für fastlane supply steht der Pfad zur Service-Account-JSON in der Konfiguration, nicht ihr Inhalt.
Geheimnisse in Dart-Defines
Der vorgesehene Weg für Geheimnisse, die in die App gehören, ist --dart-define-from-file auf eine Datei im Projekt, die per .gitignore ausgeschlossen ist. Die Station liest deren Inhalt nie, sie reicht nur den Pfad weiter.
Werte in Dart-Defines und Env, deren Schlüssel auf KEY, SECRET, TOKEN, PASSWORD oder DSN passt, zeigt die Oberfläche maskiert an. Das schützt vor Blicken über die Schulter, ist aber keine Verschlüsselung: In config.json stehen sie im Klartext.
Ohne Sandbox
Die Build Station läuft ohne App Sandbox. Sonst könnte sie weder Flutter, Xcode und Gradle starten noch in deinen Projektordnern lesen und schreiben. Deshalb gibt es sie auch nicht im Mac App Store.
Daraus folgt: Presets sind ausführbarer Code. Ein eigenes Script läuft mit allen Rechten deines macOS-Benutzers. Eine importierte Projekt-JSON, eine buildstation.json aus einem fremden Repository oder ein weitergegebenes Projekt ist so vertrauenswürdig wie ein fremdes Shell-Script. Schau hinein, bevor du es übernimmst.
Die Station selbst führt nie sudo aus. Befehle, die ein Administrator-Passwort brauchen, zeigt sie nur an und öffnet dafür ein Terminal.
Was an wen gesendet wird
Die Station schickt Daten nur an Dienste, die du einrichtest oder auslöst:
| Ziel | Was | Wann |
|---|---|---|
| Google Play, App Store Connect, Microsoft Partner Center | Artefakte, Release Notes, signierte Anmelde-Tokens | beim Upload, beim Verbindungstest und beim Abfragen des letzten Store-Stands |
| Apple Notarisierung | die zu notarisierende App | beim macOS-Direktvertrieb |
GitHub (über gh) oder dein Webhook |
DMG, Appcast, Metadaten | beim macOS-Direktvertrieb und beim Einrichten eines Codemagic-Webhooks |
| Codemagic | API-Aufrufe mit deinem Token | im Tab Codemagic |
| Anthropic | Log-Auszüge, Build-Dateien, einzelne Projektdateien bzw. Commit-Betreffzeilen | nur bei Mit Claude analysieren und Aus Commits vorschlagen (KI) |
| inwendo-Lizenzserver | dein Lizenzschlüssel | beim Start und einmal täglich, nur mit eingetragener Lizenz |
Dazu kommen Abfragen ohne persönliche Daten: die offizielle Flutter-Release-Liste für Flutter-Updates und pub.dev für Reparaturvorschläge.
Store-Schlüssel verlassen den Mac nie im Klartext, nur als signiertes Token an den jeweiligen Store. Die .p8 liegt für die Dauer eines altool-Aufrufs in einem Temp-Ordner, den nur dein Benutzer lesen kann.
Nutzungshinweis
Beim ersten Start zeigt die Station einen Nutzungshinweis, dem du zustimmst. Er fasst zusammen, was die App auf deinem Mac tut und wofür du verantwortlich bist. Nachlesen kannst du ihn jederzeit unter Einstellungen › Über die App › Nutzungshinweis anzeigen.
Sicherheitslücken melden
Hast du eine Sicherheitslücke gefunden, schreib bitte an security@inwendo.de.