Back to Portfolio
AppXpose logo Live 2026 · 01 / 09 Visit live

AppXpose

Your phone is talking. To strangers.

KotlinJetpack ComposeHiltRoomCloudflare WorkersD1Claude AIPlay Billing
Year
2026
Duration
Live since April 2026 · v7.4
Team
Mahere & David
Status
Live
Overview

What is AppXpose?

AppXpose is a handheld investigation tool for the apps on your phone. The average Android app ships with around seven third-party tracker SDKs baked into its bytecode. AppXpose lists every installed app, unpacks the chosen APK directly on the device, matches its classes against a curated set of 270+ tracker signatures, and then lets Claude turn the findings into a readable report: a 0-100 risk score, who made the app, where the data goes, what the permissions really mean, and what changed since the last scan. Every result lands in a local App Index so you can compare all your apps in one place. GUARD, the paid tier, keeps watching afterwards with five alert types, from data breaches to newly added trackers.

The Challenge

The problem we set out to solve.

Privacy claims are easy to make and impossible for a normal user to verify. Play Store data-safety labels are self-declared, permission dialogs say nothing about which SDKs actually run inside an app, and the tools that do look inside an APK are built for security researchers, not for someone standing in a store deciding whether to install a banking app. We wanted a scanner that works on the phone itself, never uploads the app, stays honest about what is deterministic and what is AI, and keeps learning without waiting for an app update. On top of that it had to survive real-world abuse: scraped signature databases, spoofed premium claims, and quota bypasses.

Our Solution

How we built it.

The app is Kotlin with Jetpack Compose, Hilt, and three Room databases. DEX extraction runs in parallel on-device; class names are matched against signatures sourced from Exodus Privacy plus our own community discovery pipeline, with transitive SDK dependencies deduplicated so the count reflects distinct trackers. Only the results, HMAC-signed and without personal data, go to a Cloudflare Worker backed by D1. There a deterministic pre-score is computed, then Claude Haiku generates the score breakdown, developer profile, paywall analysis, and explanations, cached for 30 days per package. Suspicious unknown classes are reported anonymously; once the same prefix shows up in enough packages on enough devices, it is auto-confirmed and synced to every phone by a daily worker. Five detection systems are live on top: MalwareBazaar and Koodous hash checks, CertNet and community hash verification for repackaged APKs, and an on-device integrity checker for hooking, root tools, and packers. Billing runs on Google Play with server-verified purchases, retention and upgrade offers, an affiliate program with install-referrer attribution, and a Glance home-screen widget. The whole thing ships in English, German, Spanish, and Portuguese.

In Action

See it in action.

App Scanner
App Scanner
Tracker Detection
Tracker Detection
Permission Analysis
Permission Analysis
GUARD Alerts
GUARD Alerts
Tech Stack

Under the hood.

Platform
Android 8+ (Kotlin), Play Store v7.4
UI
Jetpack Compose, Material 3, Glance Widget
On-device
Parallel DEX extraction, 3 Room DBs
Detection
270+ signatures, Exodus + community discovery
Backend
Cloudflare Workers + D1, HMAC-signed requests
AI
Claude Haiku 4.5, deterministic pre-score first
Malware checks
MalwareBazaar, Koodous, CertNet, integrity checker
Billing
Google Play Billing, server-verified, RTDN
Website
Astro 5 + React 19 on Cloudflare Pages
Attention to Detail

What we paid attention to.

01

The APK never leaves the phone

Bytecode and manifest are read in-process. Only the match results travel to the edge, signed and without personal data. There are no accounts and no login.

02

Deterministic first, AI second

Whether a tracker is present is decided by pattern matching, never by the model. Claude only explains and contextualizes what was found. The full methodology is public on appxpose.app.

03

A scanner that teaches itself

Unknown SDK-like classes are reported from real scans. A signature is confirmed only after several distinct packages on several devices show it, then synced daily. No app update required.

04

Built to be abused

Quota is consumed atomically before any AI call. Premium claims need a Google-verified purchase. Signature sync is signed, paged, rate-limited, and seeded with canaries so a scraped database can be traced.

Result

Where we are today.

AppXpose is live on Google Play at version 7.4 with over 500 commits across app and backend. Free users get five scans a week, GUARD costs €9.99 a month or €49.99 a year and adds breach alerts, tracker-change alerts, and the full App Index. The signature set has grown past 270 entries, largely from community scans, and the aggregated scan corpus now feeds two ML models in training. Next up: the replay of scan history over time and surfacing the ML baselines in the UI.