The short version
| Permission | Why | Optional? |
|---|---|---|
| Accessibility (Wingyy Reader) | Read the chat text on screen so the coach can see the conversation | No — this is the product |
| Display over other apps | Draw the floating bubble on top of your chat app | No — no bubble without it |
| Notifications | The "Wingyy is running" notice Android requires for background services | Technically yes, but the bubble gets unreliable |
| Install unknown apps | Let Wingyy's own updater hand a new APK to Android's installer | Yes — you can update manually instead |
| Internet | Send the scan to our server, get the coaching back | No |
| Battery: Unrestricted | Stop Android killing the bubble in the background | Yes, but the bubble will keep dying |
And the three things that matter most: Wingyy is not a keylogger, Wingyy cannot see apps outside a fixed list of chat apps, and Wingyy never sends a message for you. The rest of this page is the detail behind those claims.
Accessibility — "Wingyy Reader"
Android calls it: Wingyy Reader under Settings → Accessibility → Installed apps.
Underlying permission: BIND_ACCESSIBILITY_SERVICE, with window-content retrieval and screenshot capability.
What it's used for
Android's accessibility framework exists so screen readers can describe an app to a blind user. It exposes the text and structure of what's currently on screen. Wingyy uses the same channel for a different purpose: when you tap the bubble, it reads the messages in the conversation you're looking at — who wrote what, in what order — so the coach has the actual conversation to work with instead of a screenshot you had to paste.
Concretely, the service:
- Reads the visible message text of the chat you're in, when you tap the bubble.
- Scrolls the chat view back a few screens during a scan to pick up earlier messages, so advice has context.
- Watches for you switching into a supported chat app, so the bubble knows when to show itself and which conversation it's looking at.
- Takes one screenshot per scan (see below).
What data it touches
- Message text from the conversation on screen, and the contact/match name shown at the top of it.
- Which supported app you're currently in.
- Nothing else on the screen is collected, and nothing at all outside the supported apps.
What it does not do — specifically
- No keylogging. The service does not request or receive keystroke or text-input events. What you type into your keyboard — including into Wingyy-unsupported apps, password fields, or your banking app — is not read.
- No continuous recording. A read happens when you tap the bubble. Between taps the service is idle apart from noticing which app is in the foreground.
- No sending. Wingyy has no ability to send messages, tap buttons in your chat app, or interact with anything on your behalf beyond scrolling the chat during a scan. Suggestions are copy-to-clipboard; you paste and send.
- No contact list, call log, SMS database or file access. Those permissions aren't in the app at all.
How to revoke it
Settings → Accessibility → Installed apps → Wingyy Reader → Off
Takes effect instantly. Wingyy stops receiving any screen data from that moment. The app still opens, but scans won't work.
Exactly which apps Wingyy can see
This is the part most "accessibility app" privacy policies are vague about, so here it is plainly. An Android accessibility service can declare an allow-list of packages it wants events from, and the operating system enforces it — the service is never handed content from anything outside that list. Wingyy ships with such a list, hard-coded into the app:
| App | Package |
|---|---|
| Tinder | com.tinder |
| Hinge | co.hinge.app |
| Bumble | com.bumble.app |
com.whatsapp | |
| Instagram (DMs) | com.instagram.android |
| Snapchat | com.snapchat.android |
| Telegram | org.telegram.messenger |
| Signal | org.thoughtcrime.securesms |
| Facebook Messenger | com.facebook.orca |
| Discord | com.discord |
| Google Messages (SMS/RCS) | com.google.android.apps.messaging |
| Samsung Messages | com.samsung.android.messaging |
| TikTok (DMs) | com.zhiliaoapp.musically, com.ss.android.ugc.trill |
Your banking app, your email, your browser, your notes, your photo gallery, your work Slack, your password manager, your home screen — Wingyy receives nothing from any of them. Not filtered out after the fact: never delivered by Android in the first place.
If we add support for a new chat app in a future version, that list changes and the new app is named in the release notes. It can only ever change by you installing a new build.
A caveat worth stating: Signal and Snapchat are on that list. If you scan a Signal conversation, that conversation's text is sent to our server and to the AI providers exactly like any other — end-to-end encryption protects a message in transit, not after it's rendered on your screen. If that's not a trade you want to make, don't scan in Signal. Nothing is read unless you tap the bubble.
Screenshots
Used for: the vision read — letting the coach see things that aren't selectable text.
During a scan, Wingyy captures a single frame of the current screen using the accessibility service's built-in screenshot capability. That image goes to the AI model alongside the extracted text, so the coach can read image messages, profile cards, stickers, and any part of the chat layout that doesn't come through as clean text.
- One frame per scan, taken at the moment you tap. There's no screen recording and no periodic capture.
- It uses the accessibility screenshot API, not Android's screen-capture/MediaProjection system — which is why you never see the red "recording your screen" indicator or a "Wingyy will start capturing everything on your screen" consent dialog. The permission it relies on is the accessibility permission you already granted, and it is subject to the same app allow-list above.
- You can also attach a screenshot yourself from the bubble panel (+ Attach screenshot). That uses Android's system photo picker, which hands Wingyy the one image you tap and nothing else — it's why Wingyy doesn't need a storage or gallery permission.
Display over other apps
Android permission: SYSTEM_ALERT_WINDOW. Used for: drawing the bubble and its panel on top of whatever app you're in.
This permission lets Wingyy draw pixels above other apps. It does not let Wingyy read them — that's the accessibility permission, and they're independent. The bubble only makes itself visible when you're in one of the supported apps.
Revoke: Settings → Apps → Special app access → Display over other apps → Wingyy → off. The bubble disappears immediately.
On Android 15 and 16 this permission is itself covered by restricted settings for sideloaded apps — see the unlock guide.
Notifications
Android permission: POST_NOTIFICATIONS (a runtime prompt from Android 13 onwards). Used for: one persistent, low-priority notification saying Wingyy is running.
Android requires any app running a long-lived background service to show a notification for it — that's the rule that stops apps running invisibly. Wingyy's foreground service is what keeps the bubble alive, so the notification is the price of the bubble surviving. Wingyy does not send marketing, engagement or "she replied!" notifications.
Revoke: Settings → Apps → Wingyy → Notifications → off. The app keeps working, but Android becomes much more willing to kill the service, so expect the bubble to vanish. Better option: long-press the notification → Settings and set it to Silent.
Install unknown apps
Android permission: REQUEST_INSTALL_PACKAGES. Used for: the in-app updater.
Because there's no Play Store to push updates, Wingyy downloads new versions itself. This permission is what allows the app to hand the downloaded file to Android's package installer. It does not allow silent installs — you still get Android's standard install confirmation screen, every time, and you can decline it.
Before handing anything over, the updater verifies the download's SHA-256 checksum against the value published by our server and refuses the file if they don't match.
Revoke: Settings → Apps → Special app access → Install unknown apps → Wingyy → off. You can still update by downloading the APK manually.
Internet and network state
Android permissions: INTERNET, ACCESS_NETWORK_STATE. Both are granted automatically at install; Android doesn't prompt for them.
The coaching model doesn't run on your phone — a scan is sent to our server, which calls the AI providers and sends the suggestions back. Network state is checked so the app can tell "you're offline" apart from "the server had a problem" and give you a useful error instead of spinning forever.
Battery: Unrestricted
Not really a permission — it's you telling Android's battery manager to leave Wingyy alone. Without it, the system suspends the bubble's service after a while and the bubble silently disappears. See the battery section of the install guide, including the extra steps Samsung and Xiaomi need.
Revoke: set it back to Optimised in Settings → Apps → Wingyy → Battery.
What Wingyy never asks for
The app's manifest — the complete, fixed list of permissions any Android app can ever use — contains only what's described above. It does not contain, and Wingyy therefore cannot use:
- Microphone or camera
- Location, coarse or fine
- Contacts, call log, or phone
- SMS — reading or sending
- Files and media / external storage
- Notification listener — Wingyy does not read your notifications
- Device admin or usage access
You can verify this yourself: Settings → Apps → Wingyy → Permissions shows what Android has actually granted. Any app store or APK inspector will show you the manifest list too.
Where your data goes, and how long it stays
What leaves your phone
- When you scan: the extracted conversation text and one screenshot of that chat screen go to our server, and from there to the AI providers that generate the coaching. The conversation is stored so the coach remembers context across sessions and the advice gets sharper.
- Coaching data: the notes and facts the coach builds up about a conversation, and which suggestions you picked.
- Account: your license key, and the email you used at checkout. Card details go to Stripe and never reach us.
- Free trial: a one-way hash of your device identifier, so a trial can only be claimed once per device. It can't be reversed to identify your phone.
- Diagnostics: crash reports, and anything you send through Settings → Support & feedback. If you leave Include recent logs ticked on a bug report, recent app logs go with it — useful for debugging, and worth unticking if you'd rather not.
Who processes it
Only the services that make the product work: the AI providers that generate the coaching, and Stripe for payments. Your conversations are not sold, not used for advertising, and not shared with anyone else. The current list of processors and the storage location are in the Privacy Policy, which is the authoritative version of this section.
How long it's kept
Until you delete it. Scanned conversations and coach notes persist so the coaching has memory — that's a feature, and it's also the main reason to clear them out when you're done with someone.
Deleting it
- On your phone: Settings → Delete all local data inside Wingyy wipes the app's local database — conversations, notes, preferences.
- On our server: email support@wingyy.app from the address you used at checkout and ask for account deletion. That removes your account and the data attached to it.
- Cancelling ≠ deleting. They're separate: cancel your subscription in the billing portal to stop charges, delete your account to remove the data. Do both if you want both.
Turning everything off
To fully stop Wingyy without uninstalling:
- Settings → Accessibility → Installed apps → Wingyy Reader → off — nothing on your screen is read from this moment.
- Settings → Apps → Special app access → Display over other apps → Wingyy → off — the bubble is gone.
- Inside Wingyy: Settings → Delete all local data.
- To remove it entirely: long-press the icon → Uninstall. Then email support@wingyy.app for server-side deletion, and cancel your subscription separately if you have one.