Privacy policy
The short version. AppMama has no accounts and no ads. The only thing we — the people who write it — receive is anonymous usage statistics: counts such as how many apps were built, which AI model ran, and whether a build worked. Never your prompts, your code, your app names or your keys, and you can turn it off in Settings → Usage stats. Everything else the app does is on your behalf: it stores your credentials encrypted on your device, and it sends your prompts to the AI provider you chose to connect. This document explains exactly where every byte goes.
01 Who is responsible
AppMama is published, free of charge, by its developer. For the purposes of data protection law, the developer is the controller for this website and for the anonymous usage statistics described in section 02. For everything else the application does, you are the one deciding what to send and to whom; the AI provider you connect is the controller for the prompts it receives, under its own policy.
02 What we collect
From version 1.6.0 the app sends anonymous usage statistics to us, through the analytics service PostHog. We use them to see which features people use, which AI models work best, where builds fail and where people give up during setup, so we know what to fix next. They are on by default and you can switch them off at any time (section 07).
What is in them
- A random install ID. A number generated the first time you open the app. It is not your Android ID, advertising ID, phone number, email or any account, and it is not linked to one. Uninstalling the app discards it; a new install gets a new one.
- Events and when they happened. App opened or put in the background; app installed or updated; which screen and which setup step was shown; setup started and finished; you started a new app, sent a message, an app was built, a build failed or was retried, the agent replied, stopped or hit an error; you installed, opened, shared, exported, restored or deleted an app; you started, finished or abandoned signing in to a provider, came back from its sign-in page, and — only if you pick one — which of a few fixed reasons made you stop; you shook one of your apps to send a screenshot back; Google Play’s rating prompt was shown, or skipped and why; you opened the Play listing or the feedback email; you changed a setting.
- Numbers and labels attached to those events. The AI provider, model and reasoning level in use and how you signed in to it (key or subscription); how long a build took, how many automatic fix attempts it needed, the size of the APK, the number of tokens used and, for an Anthropic API key, its cost; how many characters a message had and how many images were attached; how many apps you have; how many messages this install has sent; which screen or setup step was showing when the app went to the background, and how long a setup step or a sign-in took, including time spent on the provider’s page; the number a provider’s sign-in server answered with (such as 401 or 429); a broad error category (such as “sign-in”, “network” or “rate limit”) — never the error text itself.
- Device basics. App version, Android version, phone maker and model.
What is never in them
The text of your prompts or of the agent’s replies, your source code or any file content, the names of the apps you build, images you attach, error messages or crash traces, API keys, sign-in tokens, contacts, location from GPS, or any advertising identifier. AppMama has no crash reporter and no advertising SDK. Everything the app sends is assembled in one place in the app, and every field of it is listed on this page.
PostHog receives your IP address as part of any network request and uses it to estimate a coarse location (country and city), which we see alongside the events. We do not create a profile for the install ID, we do not combine these statistics with any other data, and we never sell or share them, or use them for advertising.
Legal basis and retention. Where the GDPR or similar law applies, we rely on our legitimate interest in understanding how the app is used so we can improve it, balanced by the data being anonymous and by the off switch. Events are kept for no longer than 12 months and then deleted.
03 What stays on your device
All of the following is stored in the app's private storage and never leaves the device unless you deliberately export or share it:
- Provider credentials. API keys and subscription
(OAuth) tokens for Claude, ChatGPT, Grok or OpenRouter, held in Android's
EncryptedSharedPreferences(AES-256). - Your projects. Every file the agent writes, the Gradle caches and the APKs it produces.
- Session history. Your prompts, the agent's replies and the terminal output for each project, so a conversation can be resumed.
- Screenshots from your apps. Shaking an app you built sends a screenshot of it to AppMama on the same phone, where it waits in that app's chat. It reaches your AI provider only if you send the message it is attached to, like any image you attach yourself.
- Preferences. Which provider is active, which model, reasoning effort, onboarding state.
- The Linux environment. The downloaded toolchain and any packages you install into it.
- Usage statistics waiting to be sent. Section 02’s events are held in a small queue until the device is online, then sent and removed. Switching statistics off empties it.
Android's cloud backup is disabled for this app
(allowBackup="false"), so none of it is copied to Google Drive.
Uninstalling removes all of it, including your keys.
04 What your device sends, and to whom
The app makes network requests only in the situations below. In each case the connection is between your device and that third party; it does not pass through anything we operate.
The AI provider you connected
When you send a prompt, the agent CLI transmits your message and whatever parts of the project it needs to read — file contents, command output, error text — to that provider's API, authenticated with your key or subscription token. If a project contains something you would not want a model provider to see, do not build it here. What the provider does with it is governed by their agreement with you:
- Anthropic privacy policy (Claude Code)
- OpenAI privacy policy (Codex)
- xAI privacy policy (Grok)
- OpenRouter privacy policy (OpenRouter)
PostHog (usage statistics)
Unless you have switched them off, the anonymous statistics described in
section 02 are sent over HTTPS to PostHog’s servers in the United States
(us.i.posthog.com) every 30 seconds or so while the app is
in use, and when it goes to the background. PostHog processes them on our
behalf under its
privacy policy.
Google Play (rating prompt)
If you installed AppMama from Google Play, it may occasionally show Google Play’s own rating prompt after you have tried an app you built. The prompt and anything you write in it are handled by Google Play under Google’s privacy policy; AppMama never sees whether you rated it or what you wrote.
GitHub
Everything the app needs to build with is bundled in the install, so
nothing is downloaded on first run. At every launch it fetches a small
model catalogue from raw.githubusercontent.com so newly
released models appear without an app update. GitHub sees what any file
download reveals: your IP address, the time, and the file requested.
Package and dependency repositories
Building an Android project makes Gradle fetch its dependencies — typically from Google's Maven repository and Maven Central. Installing extra tools into the environment contacts the corresponding package mirrors. These requests come from your device and are visible to those hosts.
Sign-in flows
Choosing a subscription login opens the provider's own website
(claude.ai, ChatGPT or accounts.x.ai) in your
browser. You authenticate there, with them. The app never sees your
password — only the token the flow returns, which it then stores as
described in section 03.
Claude’s sign-in ends by showing a code to copy. When you come back to AppMama’s sign-in screen, the app looks at your clipboard once to pick that code up for you. It only uses the clipboard if it holds the exact code this sign-in is waiting for; anything else is ignored, and the clipboard is never stored or sent anywhere. Android shows a notice when this happens.
The agent runs with broad permissions inside its sandbox. To build software it must be able to read and write files and run commands in the Linux environment. It cannot reach your photos, contacts, messages or other apps — Android's app sandbox prevents that, and AppMama requests no permission that would change it.
05 Permissions, and why
| Permission | Why it is needed |
|---|---|
| INTERNET | Let the agent reach its provider, let a build fetch the dependencies a project needs, and send the anonymous usage statistics in section 02. |
| WAKE_LOCK | Keep a build running when the screen turns off. |
| FOREGROUND_SERVICE FOREGROUND_SERVICE_SPECIAL_USE | Run the build you started to completion instead of being killed in the background. |
| POST_NOTIFICATIONS | Show the ongoing-build notification, which Android requires for that service. |
| REQUEST_INSTALL_PACKAGES | Hand the APK you just built to Android's installer. This is the app's whole purpose; you still confirm every install. |
There is no location, camera, microphone, contacts, SMS, or storage permission, and none is planned.
06 How the sensitive parts are protected
- Keys and tokens are encrypted at rest with a key held in the Android Keystore, and are passed to the build session as environment variables — they are never written into the Linux environment's filesystem.
- Cloud backup is off, so credentials are not synced off the device.
- All provider, download and statistics traffic uses HTTPS.
- No security measure is absolute. Rooting the device, or installing software that abuses accessibility or debugging access, defeats these protections — as it would for any app.
07 Your control and your rights
- Remove a credential: clear the key or sign out in the app's provider settings.
- Revoke access entirely: delete the key or session from the provider's own dashboard — that is the authoritative place.
- Stop usage statistics: Settings → Usage stats → Off. Nothing more is sent from that moment, and anything still queued on the device is deleted. One last event saying statistics were turned off is sent first, so we can count how many people opt out.
- Delete everything: uninstall AppMama. Projects, history, credentials, the install ID and the Linux environment all go with it.
- Provider-held data: requests to access, correct, export or erase what a provider holds go to that provider; we hold no copy and cannot act on your behalf.
Where the GDPR, UK GDPR, CCPA/CPRA or similar law applies, the rights they grant are exercised against whoever holds the data. For the usage statistics, that is us: write to the address in section 12 and we will answer. Because the statistics are tied only to a random install ID and to nothing that identifies you, we usually cannot single out your events; switching statistics off, or uninstalling, is the reliable way to stop them. We do not sell or share personal data.
08 Children
AppMama is a developer tool and is not directed at children. Beyond the anonymous statistics in section 02, we do not collect information from anyone, and we do not knowingly collect any from children. The AI providers it connects to set their own minimum age; check theirs before signing in.
09 This website
This site is static. Unlike the app, it sets no cookies, runs no analytics, embeds nothing from another domain, and loads its fonts from its own server — so visiting it does not tell any third party that you did. The only script it runs is a small file that animates the page; it stores nothing and sends nothing.
The host that serves the site (GitHub Pages, unless stated otherwise on the page you are reading) keeps ordinary web-server logs, including IP addresses, as described in GitHub's privacy statement. Links out to GitHub, the AI providers or other sites are governed by those sites' policies.
10 Data-safety summary
The same facts in the form app stores ask for.
| Question | Answer |
|---|---|
| Data collected by the developer | App interactions, app performance (build times, error categories) and a random install ID, for analytics, anonymously; optional — Settings → Usage stats |
| Data shared with third parties | None. PostHog processes the statistics on our behalf as a service provider |
| Data sent at the user's direction | Prompt text and project file contents, to the AI provider the user connected, to fulfil the user's request |
| Data encrypted in transit | Yes — HTTPS, including the statistics |
| Credentials encrypted at rest | Yes — AES-256, Android Keystore |
| Deletion | Uninstalling removes everything on the device. Statistics already sent are deleted after 12 months |
| Analytics | Anonymous usage statistics only; can be turned off |
| Ads, ad IDs, cross-app tracking | None |
| Account required | No AppMama account. An AI provider account is required to build. |
11 Changes to this policy
If the app's behaviour changes, this page changes with it, and the effective date at the top moves. Material changes will also be noted in the release that introduces them. The 27 October 2026 revision removed references to the app's source code being public; what the app collects and sends did not change.
12 Contact
Questions, corrections, or a privacy concern about AppMama: email hsyvy7@gmail.com.
This document describes how the software behaves. It is not legal advice, and it does not replace the policies of the AI providers you connect to.