FPS Monitor
FPS Monitor Privacy Policy
Last updated: 22 August 2026
Applies to the Android app com.amanyt.fpsmonitor, published on Google Play asFPS MONITOR - GPU FPS TRACKER. This page is the canonical version of the policy and replaces the copy previously hosted on Blogspot.
The Short Version
FPS Monitor has no account, no sign-in and no server. AMX Dev operates no backend and receives no data from the app. Everything the app measures — your frame rates, your session history, your settings — is written to your own device and stays there until you delete it or uninstall the app.
Three things do involve a third party, and all three are Google: advertising through AdMob, the optional subscription through Google Play Billing, and a version check that reads a small text file hosted on GitHub. Each is described below.
What FPS Monitor Stores on Your Device
None of this is transmitted anywhere. It is stored in the app's own private storage.
- Session recordings — when you start a recording from the overlay, the app writes one row per session and one row per second of it to a local database. A session holds the package name of the app being measured, the date, start time and duration, your device model, and a per-second series of frame rate, battery temperature and frame-time stability.
- Settings — overlay colour, size, position and which readouts are shown; your theme choice; which start method you picked; the games you pin to the home screen.
- Subscription state — a single flag recording whether Google Play reports an active subscription. No payment details are stored, and none are visible to the app.
- A wireless debugging key — only if you use the wireless start method. Pairing with your device's own debugging service creates a key pair, stored privately on the device. It is deliberately excluded from Android cloud backup and device-to-device transfer, because it is a credential and it is worthless on any other device anyway.
Uninstalling the app removes all of it. You can also clear session history at any time from Settings without uninstalling.
What Leaves Your Device
- Ad requests — Google AdMob receives what it needs to serve and measure an ad, which includes your device's advertising identifier, IP address, device model and OS version. AMX Dev does not receive this data and cannot see it.
- Purchases — Google Play Billing handles the subscription end to end. The app is told only whether a subscription is active. It never sees, handles or stores payment details.
- A version check — on launch the app fetches a small text file from GitHub to learn the latest published version number. Making that request reveals your IP address to GitHub, as any web request does. Nothing about you or your usage is sent with it, and the file is read-only: the only thing it can do is tell the app a newer version exists, at which point the app offers to open the Google Play listing. It cannot direct you anywhere else.
Exported session files are not an exception to this. When you export a session as CSV or as an image, the file is written to the location you pick through Android's own file picker. It is not uploaded, and it goes nowhere you did not choose.
Permissions, and Why Each One Exists
- Display over other apps — draws the FPS readout on top of your game. This is the app's core function; without it there is nothing to show.
- Notifications — Android requires a visible notification while a foreground service runs. It is also how you stop monitoring without leaving your game. This is permission to post notifications. FPS Monitor does not read your notifications and holds no notification-access permission.
- Foreground service (special use) — keeps monitoring alive while you are inside a game rather than inside the app. It runs only while monitoring is on, and stops when you stop it.
- Internet and network state — used for advertising, the subscription check and the version check above. Monitoring itself works entirely offline.
- Shizuku API — only if you choose a Shizuku-based start method. See below.
- Billing — required by Google Play to offer the optional subscription.
FPS Monitor requests no location, no storage, no camera, no microphone, no contacts and no phone permissions, and it does not request permission to query all installed packages.
The Privileged Helper
Reading true frame rates means reading frame timing from Android's compositor, which an ordinary app is not allowed to do. Estimating instead is what produces the wrong numbers this app exists to avoid. So FPS Monitor uses a small helper process that runs at the same permission level as Android's own debugging shell. This is the most privileged thing the app does, and it is worth explaining precisely.
You choose how that helper is started. There are four options and you are never opted in:
- Wireless debugging — the app pairs with your device's own debugging service, on your device, with a code you type in. No PC needed.
- Shizuku shell — uses Shizuku once to launch the helper, after which Shizuku is not needed until you reboot.
- Shizuku — Shizuku hosts the service for the whole session, as in earlier versions of the app.
- ADB — you run a single command from a computer.
What the helper does, and what it cannot do:
- It reads frame timing from the system compositor, and the package and activity name of whatever app is in the foreground. That is the entirety of what it reads.
- It runs only code contained inside the FPS Monitor app package. It does not download code, and nothing it runs comes from the network.
- It has no network access of its own and sends nothing anywhere. It communicates only with FPS Monitor, on your device.
- It is not root. It holds the same permission level as Android's debugging shell, which is a level you already grant when you enable developer options.
The helper is deliberately long-lived: it survives you stopping monitoring, and app restarts, so you do not have to set it up repeatedly. It does not survive a reboot. Because a background process at that permission level should never be invisible, the app shows it in Settings and on the home screen whenever it is running, along with a button that stops it immediately.
Detecting Which App Is in the Foreground
To measure the right app, FPS Monitor needs to know which app you are currently using. It reads the foreground app's package name — for example com.example.game — and nothing else about it. It cannot read that app's contents, screen, files or network traffic.
This information is used to pick the right frame data to sample, to pause a recording when you switch away, and to label a saved session. It stays on your device. It is stored in your session history so that a recording has a name, and it is deleted with that session. It is never transmitted and never shared.
Advertising and Consent
FPS Monitor is free and supported by ads served through Google AdMob. Ads are shown in the app only; nothing is ever drawn over other apps as advertising.
Where the law requires it — the EEA, the UK and other applicable regions — Google's User Messaging Platform presents a consent form before any personalised ad is requested, and the app waits for your answer before initialising the ads SDK. Your choice is recorded by Google, not by AMX Dev.
What AdMob collects and how it is used is governed by Google's own policy: Google Privacy Policy. You can limit ad personalisation for every app on your device from Android's own settings, under Privacy, Ads.
Taking the optional Premium subscription removes ads from the app entirely.
Premium Subscription
- Billing — handled entirely by Google Play Billing. The app never sees or stores card details, billing addresses or any payment information.
- Management and cancellation — through your Google Play account, at any time.
- Refunds — handled by Google Play under their refund policy.
- What the app keeps — a single local flag recording whether a subscription is active. It is re-checked against Google Play, and it is not personal data.
The subscription changes what is unlocked inside FPS Monitor and nothing else. It provides no external service and modifies no game.
Children
FPS Monitor is not directed to children and is not intended for use by anyone under 13. AMX Dev does not knowingly collect personal information from children. The app requests no personal information from anyone.
Your Controls
- Permissions — every permission can be revoked in Android settings at any time. Revoking "Display over other apps" disables the overlay, which is the app's core function.
- The helper — stop it from Settings whenever you like, or reboot. Monitoring stops with it and no data is retained by it.
- Your data — delete individual sessions or clear the entire history from within the app. Uninstalling removes everything the app has stored.
Data Retention
AMX Dev retains nothing, because AMX Dev receives nothing. Data stored on your device is retained for as long as you keep it and is deleted when you delete it or uninstall the app. Retention of data received by Google through AdMob and Google Play is governed by Google's policy.
Changes to This Policy
This policy will be updated when the app changes in a way that affects it. The date at the top of this page is the date of the current version. Material changes will be reflected here before the version they describe is published.
Contact
Questions about this policy, or about anything the app does, can go to [email protected].
Disclaimer
FPS Monitor is an independent application. It is not affiliated with, endorsed by or connected to any game, publisher or developer. It reads performance information about games; it does not modify game files, game behaviour or game data. Follow the terms of service of the games you monitor with it.