Code

SatStackr.app

26. März 2026

SatStackr.app

Überblick

SatStackr ist eine native macOS-App zur Verwaltung und Analyse von Bitcoin-Käufen über mehrere Portfolios hinweg. Die App wurde von Grund auf mit einem Fokus auf Datenschutz entwickelt: alle sensiblen Transaktionsdaten werden lokal per AES-256-GCM verschlüsselt gespeichert — kein Cloud-Backend, keine Analyse-Dienste.

Status: Aktiv in Entwicklung · macOS 26.2+ · satstackr.app


Features

Portfolioverwaltung

  • Mehrere benannte Portfolios in einem Fenster, per-Window-Auswahl
  • Sechs Transaktionstypen: Kauf, Verkauf, Einbuchen, Ausbuchen, Konsolidierung, Transfer
  • Multi-Currency: Transaktionen in EUR, USD, CHF, GBP, JPY mit automatischer EUR-Umrechnung über die Frankfurter API

Analyse & Charts

  • Historisches Portfolio-Chart (Swift Charts) mit investiertem Kapital vs. aktuellem Wert
    • Adaptive X-Achse: Jahres-Labels (≥3 Jahre) oder Quartals-Labels mit mittigem Versatz
    • Hover-Tooltip mit Datum, Portfoliowert und investiertem Kapital
  • Monatliches Performance-Heatmap — Rendite pro Monat in Prozent, farbkodiert nach Intensität
    • Zwei Modi: Portfolio-Performance oder reiner BTC-Kurs
  • 200-Tage-Gleitender Durchschnitt (MA200) aus lokalem OHLC-Cache (Bitstamp)
  • Spar­plan-Simulator: Berechnet hypothetische DCA-Ergebnisse (monatlich, wöchentlich, individuell)

Steuer & Reporting

  • FIFO-Kalkulator für realisierte Gewinne/Verluste mit konfigurierbaren Haltefristen
  • Jahresbericht als PDF (Core Graphics, A4) mit Transaktions­tabelle und Zusammenfassung
  • Konfigurierbare Steuerregeln für verschiedene Jurisdiktionen (Halteperioden, Freibeträge)

Import & Export

  • CSV-Import von Exchanges: BSDEX, Relai, Bison, Pocket — mit Duplikat-Erkennung
  • Verschlüsseltes Backup-Format (.satstackr) — AES-256-GCM mit Keychain-Schlüssel
  • iCloud Keychain Sync für den Verschlüsselungs­schlüssel (Fallback auf lokale Keychain)

Widget

  • macOS Widget Extension mit BTC-Preis, 24h-Chart und aktueller Block-Höhe
  • Duale Preisquellen: CoinGecko primär, Kraken als Fallback
  • Dual Chart-Quellen: CoinGecko → Bitstamp-Fallback
  • 10-Minuten-Cache via App Group UserDefaults, Block-Höhe immer live

macOS Widget

UX-Details

  • Touch ID / Passwort-Gate beim App-Start (LocalAuthentication)
  • Sichtschutz: Shift+Klick auf BTC-Preis blendet alle Beträge aus
  • Satoshi-Ansicht: Shift+Klick wechselt zwischen BTC und Sats
  • Bitcoin Whitepaper: In-App PDF-Viewer (PDFKit, gecacht lokal)
  • Konami-Code Easter Egg mit Konfetti-Animation
  • Vollständig lokalisiert in 16 Sprachen: DE, EN, FR, ES, RU, IT, PT, NL, PL, CS, TR, SV, UK, KO, JA, ZH-Hans

Technischer Stack

BereichTechnologie
SpracheSwift 5.0
UISwiftUI
PersistenzSwiftData
KryptografieCryptoKit (AES-256-GCM)
ChartsSwift Charts
In-App PurchaseStoreKit 2
Ziel-OSmacOS 26.2+
BuildXcode 26.2
Dependencieskeine (nur Apple Frameworks)

Architektur: Kein externes Framework, kein Backend. Alle Daten bleiben auf dem Gerät. Preis-APIs (CoinGecko, Bitstamp, Frankfurter) werden nur für Live-Daten und historische Kurse kontaktiert.

Sicherheit: Sensitive Felder (amountBTC, amountGross, currency, etc.) werden als verschlüsselte Data-Blobs in SwiftData gespeichert. Der AES-Schlüssel liegt ausschließlich in der macOS Keychain (iCloud-synchronisiert). Unverschlüsselt bleiben nur Sortier-/Filter-Felder (date, type, portfolioName).


Projektstand

  • Gestartet: Februar 2026
  • Commits: ~208 (Stand März 2026)
  • Sprachen: 16 (vollständig lokalisiert via Xcode String Catalog)
  • Monetarisierung: Freemium — kostenlos bis 200 Transaktionen, Pro-Upgrade via StoreKit 2 (Einmal­kauf)
  • Vertrieb: Mac App Store (geplant) / Direkt­vertrieb

Website

Statische Landing Page und mehrsprachige Hilfe-Dokumentation unter satstackr.app — kein Tracking, keine Cookies, kein Server-Side-Code.

macOS Widget Schreib mir, wenn du diesen Screen gesehen hast ;)