Home / Dual Play / Privacy Policy
Privacy Policy
Last updated: 7 November 2026
This Privacy Policy explains how the Dual Play mobile game app (the "App"), published by Md. Risul Islam Munna ("I", "me", "my") of Dhaka, Bangladesh, handles information. It applies to the App only, not to this website's host or to any third-party site the App or its ads may link to. The App is published on Google Play for Android; where an iPhone or iPad build is shared directly (for example through Apple's TestFlight service or as a downloadable file) rather than the Apple App Store, the same practices described here apply to it.
The short version. Dual Play has no accounts and no login. You can play completely offline. Your player name, settings, match history and the small bits of state behind reminders and the rating request stay on your device. The App is free and shows ads through Google AdMob — banner ads, occasional full-screen ads between rounds, and optional rewarded ads you choose to watch for an in-game hint. It uses Google Firebase Cloud Messaging to deliver broadcast announcements, and on launch downloads a small public configuration file from this website. If you allow notifications, the App may also schedule reminders on your device when you haven't opened it for a while — no server is involved. It can also use Google Analytics for Firebase to count how the games are used, which is on by default, with no in-app switch; in the European Union you must first read and accept this Privacy Policy on the App's first launch, and if you do not accept you cannot use the App. The App does not use a crash-reporting service, and does not ask for your name, email, contacts, or precise location. It never asks for access to your photo library; if you choose to play Sliding Puzzle with one of your own photos, only the single picture you pick in your phone's photo picker is used, on your device (see section 4 for Wi-Fi matches). You can turn notifications off at any time.
1. Information stored only on your device
The App keeps the following on your device, in its own local storage. None of it is sent to me or to any server I operate:
- Guest identity: when you first open the App it creates a random local identifier and a random display name for you (which you can change). It is not an account.
- Settings and preferences: theme, sound and confetti choices, and game preferences such as your last-used level, difficulty or house rules.
- Match statistics and scores: per-game wins, draws, losses and streaks; each game's Game Score, your Overall Score and league, your All-Time Best and the most recent score change for each game.
- Sliding Puzzle hints: how many of the day's free hints you have used, and whether an earned hint is still waiting to be used.
- Reminder state: when you last opened the App, which reminders are scheduled, and which reminder messages were already shown (see section 2).
- Rating-request state: how long you have used the App, when it last asked you to rate it, and your answer (see section 3).
- Announcement state: which announcements you have seen, and cached announcement images so they display offline.
This information:
- is not sent to me or to any server I operate;
- is shared with another player only as needed to run a local match you start (for example, your display name is shown to the opponent you connect to over Wi-Fi); and
- is deleted when you uninstall the App or clear its data.
2. Reminders from the App (local notifications)
If you have allowed notifications, Dual Play may remind you to come back and play when you haven't opened the App for a while — for example after about a week, then again after longer gaps (such as around two weeks, a month, and then roughly once a month). Reminders usually arrive in the afternoon, and each time you open the App they are rescheduled from that day.
These reminders are created on your device. The App works out when you last opened it, asks your phone to show a reminder at a later time, and remembers which reminder messages it has already used so you don't see the same one repeatedly. That information — your last-opened time, the schedule, and which messages were used — is stored and processed only on your device. It is not uploaded to me, to Firebase or to any other server, and the reminder text is built into the App. No account is needed for reminders.
On Android 13 and newer the App asks your permission before it can show any notification (it may ask when it starts, and, if you haven't yet decided, once more after you finish your first match). You are in control: you can turn all notifications, or just reminders, off at any time in Settings → Apps → Dual Play → Notifications. If you deny or revoke permission, your phone simply won't show them, and the games work exactly the same. Uninstalling the App removes the scheduled reminders. To make sure reminders you scheduled survive a phone restart, the App registers to be told when the device finishes starting up (the "run at startup" permission).
3. Asking you to rate the App
After you have spent some time in the App — for example after you beat a bot, or finish a game and return to the home screen — Dual Play may occasionally show its own friendly dialog asking whether you would like to rate it. It will not ask more than once a day, and you can choose Rate, Maybe Later or Not Now.
If you choose to rate, the App opens Google's in-app review sheet (or, if that is not available, the App's Google Play page). Any rating or review you give is handled by Google Play under Google's own terms and privacy policy. Dual Play does not receive your star rating, your review text, your Google account, or whether you actually submitted a review, and it cannot look that up.
So that the App doesn't keep asking, it remembers on your device only: your total time using the App, the date it last asked, that you tapped the rating option (after which it stops asking automatically — this records only that you tapped the button, not that a review was posted), and any "ask me later" delay you chose. This information is not sent to me or to any server. Rating requests are only shown on Android.
4. Local network (Wi-Fi multiplayer)
If you choose to play a local multiplayer match, the App uses your device's local network access to discover and connect to other players on the same Wi-Fi network or hotspot. This connection is directly between the devices in the match. Game moves and your display name travel over your local network only; they are not routed through, stored on, or visible to any server of mine. Local network access is used solely for this feature.
Photos in Sliding Puzzle. You can choose one of your own photos as a puzzle picture. The App opens your phone's system photo picker, so it does not need, and does not ask for, permission to your photo library; it receives only the picture you select. It crops and shrinks that picture on your device, keeps it in memory for the puzzle and deletes the temporary copy the picker provides. If you use a photo in a Wi-Fi match, the App tells you first and sends that cropped picture directly to the connected phone over your local network, so your friend can solve it; it is not uploaded to me or to any server. The other phone holds it only for that match. Photos are never included in analytics, ads or notifications.
5. Microphone (in-match voice chat)
Voice chat is an optional feature available only during a local Wi-Fi match. If you enable it, the App uses your microphone to send live audio to the other device(s) in that match. The microphone starts muted, you control when it is on, audio is never recorded or stored (by me or, as far as the App is concerned, by anyone), and the stream ends when the match ends or you turn it off. If you never enable voice chat, the microphone is not used.
Voice normally flows directly between the phones on your local network. To help the phones find a working path to each other — which can be needed on some phone hotspots — the voice feature is set up to contact public connection-assistance servers when the device has an internet connection: Google's public STUN servers, and a free public relay service (Open Relay, run by Metered). These services can see technical connection details such as your device's IP address and, if a relay is needed, carry the audio packets (which are encrypted in transit by the WebRTC technology the App uses). I do not operate these services and I do not receive any of this data. This applies only while you use voice chat.
6. Advertising — Google AdMob
The App is free and is funded by ads served through Google AdMob, a Google service. Ads appear in three forms:
- a small banner at the bottom of game screens;
- an occasional full-screen interstitial shown when you leave a finished single-player match; and
- an optional rewarded ad that you can choose to watch in return for an in-game hint.
Interstitial and rewarded ads are never forced on you in the middle of a move, and full-screen ads are not shown during Wi-Fi matches. To show and measure ads, Google and its partners may collect and process information such as:
- your device's advertising identifier;
- general device information (model, operating-system version, language, mobile network/country);
- coarse, non-precise location inferred from your IP address; and
- ad interaction data (that an ad was shown, viewed, or tapped).
Before the App requests any ad, it checks with Google's consent platform (the User Messaging Platform, a Google service). Where Google's rules require your consent — for example for users in the European Economic Area, the United Kingdom and Switzerland — a consent form is shown first and the App only requests ads in line with your choice; where no consent is required, no form appears. If a privacy choice is available to you, the App's menu shows an Ad privacy options entry so you can review or change it later. The consent platform stores your choice on your device and with Google. The App itself does not set any child-directed or under-age ad treatment (see section 15). This processing is carried out by Google as described in the "How Google uses information from sites or apps that use our services" page and the Google Privacy Policy. You can limit ad tracking on your device: on Android, Settings → Google → Ads lets you reset or delete your advertising ID and opt out of ad personalisation; on iPhone and iPad, Apple's App Tracking Transparency prompt governs whether the advertising identifier may be used for personalised ads, reviewable under Settings → Privacy & Security → Tracking.
7. Usage analytics and crash reporting
The App includes Google Analytics for Firebase, a Google service, to understand how the games are used. It is on by default and the App has no setting to turn it off. How it starts depends on where you are:
- European Union (the 27 member states): the first time you open the App it shows this Privacy Policy and asks you to Accept or Exit. Nothing is sent to Analytics before you accept, and you cannot use the App unless you accept; if you tap Exit the App closes. Your acceptance is saved on your device, so you are asked once.
- Everywhere else: analytics are on from the first launch.
- Where you are is decided only from the country of your device's main language setting (for example the “DE” in “de-DE”), not from GPS or your IP address. If that setting has no country, or the country is not an EU member state, the screen is not shown.
- If you do not want to take part, you can uninstall the App (which resets the identifier described below) or contact me (section 19).
The App works fully offline.
When analytics are on, the App sends short event records about how the games are used, so I can see which games are played, how often matches are finished or left, and where things fail. The categories are:
- Screens: which screen of the App you open (for example the game list, a game's setup screen, a game board, the Wi-Fi room or the achievements screen) and how long it stayed on screen while the App was in the foreground.
- Choices in the App: which game you pick from the game list, the mode you start (bot, same device, or Wi-Fi), that you opened a game's How to Play guide, which parts of the achievements screen you open (the Current or All-Time Best view, a league's details, a game's score details or the score explanation), and changes to the App's settings — limited to the theme (dark, light or system) and whether sound effects or win confetti are on or off.
- Matches: which game, the mode (bot, same device, or Wi-Fi), the bot difficulty, whether it was a rematch, how the match ended (win, loss, draw, or left unfinished and why), and how many seconds it was actively played (time the App is in the background is not counted).
- Scores and leagues: after a rated match (a bot match or a solo puzzle), the game, the difficulty, the result and the resulting change to that game's score, your overall score and your league (before and after, and whether you moved up or down); your current league; the first time you reach each league; and, for your achievement card, which view you shared, whether the system share sheet opened or failed, and whether it reported that an app was picked. The App cannot tell whether anything was actually posted or seen. The card image and your player name are never sent.
- Puzzles and hints: for Sliding Puzzle, when an attempt starts and ends, the board size, whether it was solved, the solve time, the number of moves and hints, how often the reference picture was opened, and, in a same-device challenge, which seat won (“Player 1” or “Player 2”, never a name). For each hint you ask for: whether it was a free daily hint or a rewarded one, whether the reward was earned, how it ended (for example applied, no ad available or offline), and how many free hints are left. Nothing about your photos — not the picture, its name or location, or even whether you chose your own photo — is ever sent.
- Features and Wi-Fi play: that a feature such as sharing the App or voice chat was used, that you opened a Wi-Fi room as host or tried to join one, whether the connection succeeded or failed with a short reason such as “timeout” or “no Wi-Fi network”, and a short code when something goes wrong. No addresses, network names, device names or opponent names are included.
- Notifications and rating requests: that you opened a notification and what kind it was (an announcement, an update notice, a new-game notice or an on-device reminder, plus the game it points to), which answer you gave to the in-app “rate this app” request (for example “Maybe later”), and, when you choose to rate, whether Google Play or a browser opened or the store could not be opened. The text of notifications is not sent, and the App cannot tell whether you actually left a review on Google Play.
Nothing is recorded for individual moves, dice rolls or taps on a game board.
The events contain no name, email, contact, precise location, IP address, advertising ID, or your player name. However, the Firebase SDK itself works with a pseudonymous app-instance identifier generated for this installation, and Google processes technical information that comes with any internet request — such as approximate location derived from the IP address, device model, operating system and language, and the App version — to produce its reports. This identifier is not anonymous in the strict sense: it is a persistent random ID that is not linked by me to your identity, and it is reset if you uninstall the App or clear its data. I have configured the App so that Analytics does not use the advertising ID and does not use ad storage, ad user data or ad personalisation signals; ad consent is handled separately through Google's consent platform (section 6) and does not turn Analytics on.
Google acts as a service provider for this processing; see Firebase Privacy and Security and the Google Privacy Policy. Google Analytics keeps event data for a limited period set in the analytics property's data-retention settings. If you want your analytics data deleted, uninstall the App, and contact me (section 19) with the date you used the App; because the data is tied to an installation identifier rather than to an account, I may need you to uninstall the App or clear its data so that identifier is reset.
Because the App works offline, events recorded while you have no internet connection are kept by the Firebase SDK on your device and sent the next time you are online.
The App does not include a crash-reporting SDK such as Firebase Crashlytics. If one is added in the future, this policy and the Google Play Data safety disclosure will be updated before that version is released.
The browser version. The version of Dual Play you can play at games.munna.dev/dual-play/play/ does not include Google Analytics for Firebase, advertising, or push notifications. Your settings, player name, match record and scores there are kept in your browser's own storage on your device, and it downloads the same public configuration file described in section 8.
8. Announcements and push notifications
Separately from the on-device reminders in section 2, the App can show notifications to tell you about new games and updates, share gameplay tips, and occasionally pass on a promotion or offer. A promotional notification may include a link that opens another app, a store listing, or an external website.
These notifications are delivered through Firebase Cloud Messaging, a Google service, which the App initialises when it starts. The same message is broadcast to every device that has notifications enabled — the App does not target notifications to you individually, and there is no server of mine that keeps a list of devices. I do not collect, store, or have access to your device's messaging token. To route a message to your device, Google (Firebase) processes the technical identifiers it needs, as described in the Firebase Privacy and Security documentation and the Google Privacy Policy.
Links inside a promotional notification may lead to content operated by a third party; I am not responsible for that content or its privacy practices.
You can turn these notifications off in the same place as reminders (Settings → Apps → Dual Play → Notifications). Turning them off does not affect the games.
The App also downloads a small public configuration file from https://games.munna.dev (this website, a static site) each time it starts. That file carries the text and image links for in-app announcements, plus the current app version used for "update available" prompts. This is a one-way download: the App sends no personal data, identifiers or usage information in the request. As with any web request, the site's static host and its content-delivery network may keep standard technical logs (such as IP address, timestamp and browser/user-agent string); those logs are handled by the hosting provider and are not used by me to identify or track you. Announcement images are cached on your device so they still display offline.
9. Permissions the App asks for
- Internet and network state: to load ads, the configuration file and announcements, and to run local multiplayer sockets.
- Wi-Fi state and multicast: to find nearby players on your Wi-Fi network or hotspot.
- Microphone and audio settings: only for in-match voice chat, and only if you turn it on.
- Notifications: to show announcements and on-device reminders; you choose whether to allow it.
- Run at startup: so reminders you have scheduled keep working after your phone restarts.
The App does not ask for permission to your contacts, photo library, files, calendar, SMS or precise location. Choosing a photo for Sliding Puzzle uses your phone's system photo picker, which shares only the picture you select (section 4).
10. Links to other sites and apps
The App's menu links to this website (including the privacy policy, terms and support pages), to the developer's social pages, and to its Google Play listing, and can open the share sheet so you can send a link to the App to a friend. Opening a link takes you to that site or app, which has its own privacy practices. Sharing sends only a link to the App — the App does not read your contacts or choose recipients.
11. Information the App does not collect
- Your name, email address, or phone number.
- Your contacts, files, calendar, or SMS, or any photo — a picture you choose for Sliding Puzzle stays on your device, or goes only to the phone you play with over Wi-Fi (section 4).
- Precise GPS location.
- Account credentials or payment information (the App has no accounts and no in-app purchases).
- Your Google Play rating, review text or Google account.
- Any profile that identifies you, and no tracking of you across other apps or websites by me.
- Your advertising ID, your IP address or your player name in analytics events (see section 7).
12. How information is used
- To run the games, remember your preferences, and keep your local match record.
- To connect you to other players and enable voice chat when you start a local match.
- To schedule on-device reminders and avoid repeating the same message, and to avoid asking you to rate the App too often — using only information that stays on your device.
- To show ads that keep the App free, including rewarded ads you opt into for a hint (via Google AdMob).
- To show in-app announcements and "update available" prompts (via the configuration file and Firebase Cloud Messaging).
- To send notifications about new games, updates, tips and occasional offers (via Firebase Cloud Messaging), if you have allowed them.
- If usage analytics are on for you, to understand which games, modes and screens are used, where players stop or run into problems, and whether changes improve the App (via Google Analytics for Firebase, section 7).
I do not sell your information, and I do not use it for any purpose beyond those listed above.
13. Data retention
On-device data persists until you delete it, clear the App's data, or uninstall the App. Data processed by Google AdMob, Firebase Cloud Messaging, Google Play and the voice connection services is retained according to those providers' own policies. Usage analytics (section 7) are kept by Google Analytics for the period set in the analytics property's data-retention setting. Server logs kept by this website's static host are retained under that provider's policy.
14. Your choices
- Ads: answer Google's consent form where it is shown, and use Ad privacy options in the App's menu (when listed) to change your choice; you can also reset or delete your advertising ID and opt out of ad personalisation in your device's Google settings.
- Notifications and reminders: decline the notification permission when the App asks, or turn notifications off (all of them, or by category) any time in your device's notification settings for Dual Play.
- Rating requests: choose Not Now to be asked far less often; you are never required to rate the App.
- Usage analytics: on by default everywhere, with no in-app switch; in the European Union you accept this policy on first launch (or exit). You can stop all processing by uninstalling the App. Opting out of ad personalisation in your device settings limits what Google associates with ad activity. You can also uninstall the App to stop all processing.
- Permissions: local network and microphone access are only used for local multiplayer and voice chat; you can decline or revoke them in your device settings without affecting single-player use.
- On-device data: clear it any time from your device's App settings.
15. Children's privacy
The App does not require an account and does not knowingly collect personal information from children. Ads are served by Google AdMob, which has its own policies for ads shown to younger users. If you believe a child has provided personal information through the App, contact me and I will address it.
16. International users
The App is operated from Bangladesh. Google's advertising, analytics and messaging services process data on infrastructure located in various countries. By using the App you understand that data handled by those services may be processed outside your country of residence, subject to Google's safeguards.
17. Google Play Data safety
This policy is intended to be consistent with the App's Data safety disclosure on its Google Play listing. In summary, the data that leaves your device is limited to: device and other identifiers plus coarse, IP-derived location that Google uses to serve and measure ads (Google AdMob); the technical identifiers Google (Firebase Cloud Messaging) needs to deliver broadcast notifications; and, only if you use voice chat, connection details such as your IP address that the public connection-assistance services in section 5 see; and, the gameplay-usage events and the app-instance identifier described in section 7 (Google Analytics for Firebase; on by default, after you accept this policy in the European Union). Your on-device profile, match history, scores, settings, reminder state and rating-request state are processed on your device and are not sent anywhere, a Sliding Puzzle photo you choose goes only to the phone you play with over Wi-Fi, and no crash-logging tool is integrated. Nothing is linked to your identity by me, and nothing is sold.
18. Changes to this policy
I may update this policy as the App changes — for example, if a feature is added or a third-party service changes. When I do, I will update the "Last updated" date above and post the new version at this URL. Material changes may also be noted in the App or its store listing.
19. Contact
Questions or requests about privacy? Email [email protected] or use the contact page.