AppXpose AppXpose
Methodik

Zuletzt aktualisiert August 2026. Bezieht sich auf v7.4.1.

Wie AppXpose
wirklich funktioniert.

Datenschutz-Versprechen sind leicht gemacht und schwer zu verifizieren. Diese Seite dokumentiert die komplette Pipeline: jeden Schritt, jeden Scoring-Faktor, jede Datenquelle und alles, was wir nicht anfassen. Wenn hier etwas falsch ist, schreib an mahere@appxpose.app und wir korrigieren es.

I. Die Scan-Pipeline
01

Du wählst eine App

AppXpose listet jede auf deinem Gerät installierte App über die Android PackageManager API. Du tippst eine an. Vorher passiert nichts.

02

Wir entpacken die APK lokal

Der PackageManager liefert uns den Dateipfad der installierten APK. Wir lesen den DEX-Bytecode und das AndroidManifest im selben Prozess auf Dispatchers.IO. Die Bytes verlassen dein Handy nie.

03

Abgleich mit bekannten Tracker-Signaturen

Klassennamen und Paket-Pfade werden gegen ein kuratiertes Signatur-Set geprüft (Quelle: Exodus Privacy, eigene Ergänzungen und community-entdeckte Patterns). Transitive Dependencies von Parent-SDKs werden dedupliziert, sodass die Zählung tatsächlich eigenständige Tracker widerspiegelt. Das ist deterministisches Pattern Matching, keine KI. Siehe II. Erkennungs-Methodik unten.

04

Erst deterministisch scoren, dann KI-Analyse

Die lokalen Ergebnisse gehen (HMAC-signiert, an einen Geräte-Fingerprint gebunden, ohne Namen oder Konto) an unsere Cloudflare Edge. Ein deterministischer Pre-Score wird aus mehreren Risikofaktoren berechnet. Dann erzeugt ein LLM das finale Score-Breakdown, das Entwickler-Profil, die Paywall-Analyse und die natürlichsprachlichen Erklärungen. Siehe III. Risk-Scoring-Modell.

05

Du bekommst einen Score und eine Geschichte

Nicht nur eine Zahl. Was gefunden wurde, warum es zählt, wer die App gemacht hat, wohin die Daten fließen und was sich seit dem letzten Scan geändert hat. Du kannst den Report speichern, teilen oder für die Community abstimmen.

06

Alles landet im App-Index

Jedes Scan-Ergebnis wird in einer lokalen Datenbank gespeichert — Risikobewertungen, Tracker-Listen, Berechtigungs-Audits, alles mit Zeitstempel. Der App-Index lässt dich deine installierten Apps an einem Ort durchsuchen, finden und vergleichen. Filtere nach Risikostufe, sortiere nach letztem Scan-Datum, erkenne welche Apps sich über die Zeit verschlechtert haben. Sie verwandelt einzelne Scans in ein strukturiertes Protokoll dessen, was auf deinem Gerät läuft.

II. Erkennungs-Methodik

Wie wir Tracker im Bytecode finden.

Die Tracker-Erkennung in AppXpose ist deterministisches Pattern Matching, keine KI. Das LLM entscheidet nie, ob ein Tracker vorhanden ist. Eine Signatur trifft entweder zu oder nicht.

Signatur-Quellen

QuelleExodus Privacy
Anzahl136
MethodePaket-Pfad-Präfixe aus deren öffentlicher Datenbank (ODbL-lizenziert)
QuelleCommunity Discovery
Anzahl137
MethodeManuelle APK-Analyse + auto-bestätigt aus User-Scans über die Community-Discovery-Pipeline. Wenn 3+ verschiedene Pakete dasselbe unbekannte SDK enthalten, wird es zur bestätigten Signatur.
QuelleGesamt
Anzahl270+
MethodeWächst automatisch durch Community-Scans — kein App-Update nötig

Match-Typen

  • →Paket-Pfad-Präfix: z. B. com.facebook.appevents, com.adjust.sdk. Wenn eine Klasse im DEX mit diesem Pfad beginnt, ist das ein Match. Jede Signatur wird beim App-Start zu einem Regex kompiliert.
  • →Präfix-Deduplizierung: wenn ein Parent-SDK (z. B. com.google.android.gms.ads) matched, werden Sub-Packages wie com.google.android.gms.ads.doubleclick nicht separat gezählt. Bekannte transitive Dependencies (z. B. Firebase Analytics, das durch AdMob reinkommt) werden unterdrückt, wenn der Parent bestätigt ist.
  • →Erkennung verdächtiger Klassen: Klassen, die wie SDKs aussehen, aber keine bekannte Signatur matchen, werden gemeldet und an den Server zur community-basierten Entdeckung gesendet (siehe unten).

Community-Tracker-Entdeckung

Jeder Scan trägt zum Wachstum der Signatur-Datenbank bei. Wenn der DEX-Scanner Klassen findet, die wie Third-Party-SDKs aussehen, aber keine bekannte Signatur matchen, werden sie anonym an den Server gemeldet. Sobald derselbe unbekannte Klassen-Präfix in 3 oder mehr verschiedenen Paketen von verschiedenen Geräten auftaucht, wird er automatisch als neue Tracker-Signatur bestätigt. Bestätigte Signaturen werden täglich über einen Background-Worker an alle Geräte synchronisiert — kein App-Update nötig. Das bedeutet: die Detection-Engine wird mit jedem Scan der Community besser.

Hinweis: Geschätzte Tracker-Informationen in der KI-Analyse nutzen LLM-Wissen und sind immer mit „(geschätzt)" markiert. Nur DEX-verifizierte Tracker werden ohne Einschränkung gemeldet.

III. Risk-Scoring-Modell

Zwei-Phasen-Scoring: erst deterministisch, dann KI.

Phase 1: Deterministischer Pre-Score

Bevor das LLM überhaupt Daten sieht, läuft eine deterministische Scoring-Funktion auf dem Server. Sie bewertet mehrere Risiko-Signale: Berechtigungs-Analyse (kontext-abhängig über 45 Play-Store-Kategorien), Update-Historie, Installationsquelle, APK-Integrität, Breach-Historie, Tracker-Präsenz, Signing-Zertifikats-Verifikation und Abgleich gegen Known-Malware-Datenbanken. Positive Signale (saubere Historie, keine Tracker, aktuelle Updates) reduzieren den Score.

Der Pre-Score erzeugt eine Baseline von 0 bis 100. Risiko-Stufen: LOW (0-29), MEDIUM (30-59), HIGH (60-79), CRITICAL (80-100). Die genauen Gewichtungen und Schwellenwerte sind Teil unserer proprietären Scoring-Engine und werden mit der Detection-Engine Open Source gehen.

Kontext-abhängiges Scoring

Berechtigungen, die in einer Kategorie normal sind, sind in einer anderen verdächtig. Eine Wetter-App, die nach Standort fragt, wird anders bewertet als eine Taschenlampe, die dasselbe verlangt. Unsere Scoring-Engine mappt erwartete Berechtigungen über 45 Play-Store-Kategorien und passt das Risiko entsprechend an. Dieses Mapping wird kontinuierlich durch eine datengetriebene Baseline verfeinert, die aus echten Scan-Daten lernt.

Phase 2: KI-gestützte Analyse

Der Pre-Score und alle Rohdaten (Berechtigungen, Tracker, Breach-Status, App-Metadaten) gehen an ein LLM, das das nutzerseitige Breakdown erzeugt. Das LLM produziert sechs Kategorie-Scores, die in der App sichtbar sind:

  1. Bekannte Datensammel-Praktiken
  2. Mutterkonzern & geopolitisches Risiko
  3. Geschätzte Tracker & Werbenetzwerke
  4. Verschlüsselung & Datenübertragung
  5. Update-Frequenz & Patch-Verhalten
  6. Regulatorische Compliance & Transparenz

Das LLM erzeugt zusätzlich: das Entwickler-Profil (Firma, Server-Standorte, DSGVO-Lage), die Paywall- und Monetarisierungs-Analyse, die Wahrscheinlichkeits-Schätzungen für Daten-Weitergabe und die natürlichsprachlichen Erklärungen neben jedem Befund. Alle KI-geschätzten Daten sind in der App explizit mit „(geschätzt)" markiert.

IV. Was die KI macht und was nicht

KI erzeugt

  • → Risk-Score-Breakdown (6 Kategorien)
  • → Paywall- und Monetarisierungs-Analyse
  • → Entwickler-Profil (Firma, Server, DSGVO)
  • → Wahrscheinlichkeits-Schätzungen zur Daten-Weitergabe
  • → Natürlichsprachliche Erklärungen
  • → Alles mit „(geschätzt)" markiert, wo zutreffend

KI macht nicht

  • → Tracker erkennen (das ist Pattern Matching)
  • → Breaches prüfen (das ist HIBP)
  • → Berechtigungen auflisten (das ist die Android-API)
  • → Inhalte oder Daten deiner Apps lesen
  • → Außerhalb des Scans auf dein Gerät zugreifen
  • → Die finale Tracker-Zahl bestimmen (das macht DEX)
V. Datenquellen
QuelleAndroid PackageManager
Verwendet fürAPK-Dateizugriff, Metadaten, Berechtigungen
Verlässt Gerät?Nein
QuelleDEX-Bytecode-Reader
Verwendet fürTracker-Signatur-Matching
Verlässt Gerät?Nein
QuelleExodus Privacy DB
Verwendet für136 Tracker-Signaturen
Verlässt Gerät?Auf unserer Edge gecacht. Das Handy sendet nur den Paketnamen.
QuelleHave I Been Pwned
Verwendet fürBreach-Historie der Entwickler
Verlässt Gerät?Nichts über dich. Unser Server lädt die öffentliche Breach-Liste und gleicht sie mit App-Anbietern ab.
QuelleLLM (Anthropic)
Verwendet fürScore-Breakdown, Beschreibungen, Entwickler-Profilierung
Verlässt Gerät?Bekommt App-Metadaten + Berechtigungen. Kein Bytecode, keine persönlichen Daten.
QuelleCommunity-Stimmen
Verwendet fürCrowd-sourced Risiko-Signal
Verlässt Gerät?Anonym in Cloudflare D1 gespeichert. Keine Autor-Identität.
QuelleMalwareBazaar (abuse.ch)
Verwendet fürKnown-Malware-Hash-Lookup
Verlässt Gerät?APK-SHA256 serverseitig geprüft. Keine persönlichen Daten gesendet. Offene Community-DB.
QuelleAppXpose CertNet (TOFU + F-Droid)
Verwendet fürVerifikation bekannter Signatur-Zertifikate
Verlässt Gerät?Crowd-sourced Signing-Cert-DB. Füllt sich selbst via Trust-on-First-Use aus echten Scans. Geseedet mit F-Droid-verifizierten Zertifikaten.
QuelleGoogle Play Integrity
Verwendet fürÜberprüfung, ob die App aus dem Google Play Store installiert wurde (Beobachtungsmodus, kein Blocking)
Verlässt Gerät?Integrity-Token wird an Google-Server zur Verifikation gesendet. Enthält App- und Geräte-Attestierung. Keine persönlichen Daten.
QuelleGoogle AdMob (nur Free-Tier)
Verwendet fürRewarded-Video-Ads (Opt-in, niemals Banner oder Interstitials). Das SDK wird für Premium-/GUARD-Nutzer nicht initialisiert.
Verlässt Gerät?Wenn ein Free-Nutzer eine Rewarded Ad freiwillig anschaut: Gerätemodell, OS-Version, App-Version, Sprache/Region, IP-Adresse, Google Advertising ID (sofern nicht in Android-Einstellungen zurückgesetzt), Ad-Interaktions-Events. AdMob-SDK-Standardverhalten.
VI. Was wir erfassen, und was nicht

Wir erfassen nie

  • E-Mail-Adressen oder Accounts
  • Google Advertising ID (AppXpose selbst liest sie nie; AdMob kann sie für Free-Nutzer lesen, die freiwillig eine Rewarded Ad anschauen)
  • IMEI, Telefonnummer, SIM-Daten
  • Standort, Kontakte, Fotos
  • App-Inhalte oder Nachrichten
  • Persistente Kennungen über Neuinstallationen hinweg

Wir erfassen sehr wohl

  • Geräte-Fingerprint-Hash (rotiert bei Neuinstallation)
  • Quota-Zähler (5 Scans/Woche im Free-Tier)
  • Anonyme Community-Stimmen (keine Autor-Identität)
  • Scan-Rohdaten für ML-Training (Paketname, Berechtigungen, Tracker-Matches, verdächtige Klassen — keine persönlichen Daten, dient der Verbesserung der Erkennungsgenauigkeit)
  • APK-Signing-Zertifikat-Hashes (für CertNet Trust-on-First-Use-Verifikation)
VII. Architektur
--- Dein Handy ---
AppXpose (Kotlin + Jetpack Compose) — EN · DE · ES · PT
> DEX-Bytecode-Reader (läuft auf Dispatchers.IO)
> Tracker-Signatur-Matcher (270+ Patterns, wächst via Community-Sync)
> Lokaler Cache (Room DB, v10-Keys)
> SharedPrefs: Scan-Historien-Flag
> GUARD Workers (5 Alerts, täglich via WorkManager)
> Play Integrity (async Warmup, Beobachtungsmodus)
| HMAC-SHA256-signiert, kein Auth, HTTPS
v
--- Cloudflare Edge ---
Worker + D1-Datenbank
> Deterministischer Pre-Score (mehrere Faktoren)
> LLM-API-Call (Score-Breakdown + Beschreibungen)
> Gecachte Signaturen (Exodus, 5-min warm, EN)
> Community-Tracker-Entdeckung (Auto-Bestätigung bei 3+ Paketen)
> Quota-Zähler (pro Geräte-Fingerprint)
> Öffentliche HIBP-Breach-Liste (Abgleich serverseitig)
> Community-Stimmen (anonym)

Alles zwischen Handy und Edge läuft über HTTPS plus HMAC-SHA256. Der HMAC-Key ist ein serverseitiges Secret, das unabhängig von App-Updates rotiert werden kann — mit einer Grace Period, in der alter und neuer Key gleichzeitig akzeptiert werden. Der „Geräte-Fingerprint" ist ein Einweg-Hash stabiler Hardware-Merkmale. Er lässt sich nicht zu einer Person zurückrechnen und wird bei Neuinstallation oder Werksreset zurückgesetzt.

VIII. Status des Quellcodes

Closed Source. Hier ist warum, und wann sich das ändert.

AppXpose ist ein Solo-Projekt, das noch in heftiger Entwicklung steckt. Die Scan-Pipeline wurde in den letzten Monaten mehrfach umgeschrieben, sobald neue Erkennungs-Ansätze aufgetaucht sind. Den Code heute zu veröffentlichen, hieße ein bewegliches Ziel zu veröffentlichen, das nächste Woche kaputt ist. Das ist für niemanden nützlich.

Der Plan: sobald die Schnittstellen der Detection-Engine stabil sind (das Signatur-Format, die Eingaben des Scoring-Modells, die Pipeline-Grenzen), wird die Engine geöffnet. Nicht die ganze App, sondern der Teil, der zählt: die Komponente, die Bytecode liest und entscheidet, was ein Tracker ist. Das ist der Teil, den die Community auditieren, hinterfragen und verbessern können sollte.

Detection-Engine (Signatur-Matcher, DEX-Reader)
WIRD GEÖFFNET
Scoring-Modell (Pre-Score-Faktoren, Gewichte)
Wird mit der Detection-Engine veröffentlicht (bis zum Open-Source-Release proprietär)
App-UI (Kotlin + Compose)
Bleibt geschlossen (UI-Code ist nicht sicherheitsrelevant)
Backend (Cloudflare Worker)
Bleibt geschlossen (Infrastruktur-Orchestrierung, Geschäftslogik)

Bis dahin dokumentiert diese Seite alles, was der Code tut, und wie. Der Code ist geschlossen. Die Methodik nicht. Wenn du eine Lücke in dieser Dokumentation findest, schreib uns, und wir schließen sie.

Was übersehen?

Sicherheits-Behauptungen sollten widerlegbar sein. Wenn du eine Lücke in dieser Methodik siehst, einen Faktor, den wir nicht berücksichtigen, oder eine Aussage, die nicht der Realität entspricht, sag uns Bescheid. Wir korrigieren es und erwähnen dich in den nächsten Release Notes.

mahere@appxpose.app