Privacy Policy for Scribble Sort
Last updated: 19 September 2026
Scribble Sort is a single-player puzzle game for Android, published under the
package name com.truevinesoftwaresolutions.scribblesort.
This policy describes exactly what the app does with information. Scribble Sort integrates the Google Mobile Ads SDK to show rewarded ads, and it only ever shows one when you ask for help: a hint once your free ones are spent (three per level in chapter one, one per level after that), or the one extra tube a level allows. The policy below covers what data is involved in that ad-serving flow, when the app goes online, and what stays local to your device.
The short version
- No accounts, no sign-in, no profile.
- Ads only when you ask. A hint beyond the free ones a level gives you, or the one extra tube a level allows — both earned by watching a rewarded ad. The app shows ads only when you request them, never between levels, never as banners. If no ad can be shown, the extra tube is granted free anyway; an extra hint is simply not offered.
- The game's own code never contacts the network. The Google Mobile Ads SDK does: when the app starts, to check your consent status and to preload one rewarded ad, and again around each ad you watch. Nothing else goes online.
- The Google Mobile Ads SDK collects device and advertising identifiers — including your IP address, from which Google may estimate an approximate location — and data about your ad interactions, for advertising purposes. The app itself has no location permission. Your consent is requested via the User Messaging Platform (UMP) where required. You can change your privacy choices at any time in the app's Settings.
- No analytics SDK, no crash reporting, no telemetry from the game itself.
- Game progress, puzzle state, and sound/vibration switches stay on your device in the app's private storage and are never sent to our servers.
- Your game progress is included in your Android backup by your choice, so a new phone restores it. That backup is yours; the app cannot read it.
- You can erase your progress from inside the game, and uninstalling removes everything the app has stored on the device.
What the app stores on your device
Scribble Sort saves a small amount of data using Android's standard
SharedPreferences mechanism. This is written to the app's own
private storage area, which other apps cannot read. It is never uploaded by
the app.
The complete list of what is stored is:
| What | Stored as | Why |
|---|---|---|
| Your best star rating (1–3) for each level you have finished | progress.stars.level.<level number> |
So the level map can show your stars and your best result is not lost |
| Which of the twenty keepsake pictures you have fully unlocked | progress.unlockedPictures |
So the gallery knows which pictures to show finished |
| Whether you have already been shown the one-time tutorial | tutorial.done |
So the game only teaches you the rules once |
| A format-version number for the save file itself | progress.schemaVersion |
So a future update can read a save written by this one |
| The puzzle you are part-way through: the level number, the colours currently in each tube, the moves you have made in it, how many hints you have left, how deep the tubes are, whether you took the extra tube, and a format-version number | session.inProgress |
So closing the game mid-level and coming back does not lose the board |
| Whether sound effects are on | settings.sound |
So the game remembers you muted it |
| Whether vibration is on | settings.haptics |
So the game remembers you turned it off |
| How many times the game has ever asked you to rate it (0, 1 or 2) | review.requestCount |
So it can keep its promise to ask at most twice in the lifetime of the install |
| When it last asked, as a plain timestamp | review.lastRequestTime |
So a second ask cannot arrive within 30 days of the first |
| A rating prompt earned by finishing a chapter but not yet shown | review.pendingChapters |
So a prompt earned on the win card is delivered on the quiet level map rather than over your finished picture, even if you close the game in between |
That is the entire list — ten kinds of value, and there is nothing else.
The lifetimes differ, and they do not split where the table does. The five
progress rows — your stars, your unlocked pictures, the tutorial flag, the
board you are part-way through and review.pendingChapters —
last until you erase your progress or uninstall the app;
review.pendingChapters goes with the rest because the chapter that
earned it is gone too. The other five last until you uninstall: your sound
switch, your vibration switch, the save-format version number,
review.requestCount and review.lastRequestTime. Those
last two are not a record of anything you did, they are the app's memory of a
promise about how often it will ever interrupt you, and erasing progress does
not reset them. See “How to delete your data” below.
The app does not store, and never asks for:
- your name, email address, phone number or any other contact detail
- your location — the app holds no location permission and never asks Android where you are (Google's ad SDK may still estimate an approximate area from your IP address; see “Google Mobile Ads SDK” below)
- your contacts, photos, files, camera or microphone
- any advertising identifier, device identifier or persistent user ID
- any payment information (the game has no purchases of any kind)
What the app sends over the internet
The game's own code never contacts the network. Every level, every drawing and
every sound ships inside the app, and your progress is written only to your own
device. The app requests the INTERNET permission for one reason: the bundled
Google Mobile Ads SDK needs it.
Everything this policy says about ads describes the app as it ships with ads configured. The other case is worth stating plainly, because it is true of any build that lacks working AdMob identifiers and of any device where the SDK fails to start: if ads are not configured, or the ads SDK cannot start for any other reason, the app makes no ad-related network requests at all — no consent check, no ad request, nothing. In that state the SDK is never started, so it never opens a connection and no consent form is ever shown, and the game behaves exactly as it does with no connection at all.
That SDK goes online at three moments, and no others:
- When the app starts. On every cold start it contacts Google to check your consent status through the User Messaging Platform and, if ads can be requested, to preload one rewarded ad — fetched in advance of your asking, so that it is already waiting the moment you want a hint or a tube. This happens before you have tapped anything, and it happens whether or not you go on to watch an ad.
- When you watch a rewarded ad, to serve that ad and to report that you watched it.
- Straight after an ad has been shown, to fetch the next one ready for the next time you ask.
At those moments the SDK sends:
- Your device's advertising identifier and other device identifiers, including your IP address.
- Information about the ad interaction (that you watched it, how long you watched, whether you completed it).
- Diagnostic information about your app and the SDK's performance.
This data is encrypted in transit using TLS (Transport Layer Security).
Nothing else goes online. Your game progress, puzzle state and settings stay on your device: they are never sent to us, and never sent to Google. If the device is offline, the SDK's requests simply fail, no ad is available, and the game carries on — see “Permissions” below for what that means for hints and tubes.
(The INTERNET permission does appear in the app's debug
and profile build configurations. Those are development-only builds
used to attach a debugger on a developer's machine; they are not the builds
distributed on Google Play.)
The Google Play rating prompt
One other thing leaves the app, and it is not a network request the app makes. After you finish the first chapter, and again after the third, Scribble Sort may ask the Google Play Store app already on your device to show Google's own in-app rating sheet — at most twice in the lifetime of the install, at least 30 days apart, and only once you are back on the calm level map. The app hands that request to the Play Store over Android's own inter-process messaging; Play decides whether to show anything at all, and often shows nothing. Whatever you type or tap in that sheet goes to Google Play, never to the developer: this app cannot read your rating, cannot tell whether the sheet appeared, and records nothing about it beyond the three local counters listed in the table above. The “Rate Scribble Sort” row on the game's About card is the same thing by hand — it opens this app's listing in the Play Store. Google's privacy policy governs what happens once the request or the listing reaches Play: https://policies.google.com/privacy
Third-party libraries
Scribble Sort is built with Flutter and depends directly on five open-source libraries:
- google_mobile_ads — the Google Mobile Ads SDK for Flutter, which fetches and displays rewarded ads. It is one of the two libraries here that reach outside the app, and the only one that opens a network connection itself. See the section below on Google Mobile Ads SDK data collection.
- in_app_review — asks the Google Play Store app to show its own rating sheet, and opens this app's store listing from the “Rate Scribble Sort” row on the About card. This is the second library that reaches outside the app, though not over the network directly: it hands the request to the Play Store app installed on your device, and Play talks to Google. See “The Google Play rating prompt” above.
- shared_preferences — reads and writes the on-device settings listed above.
- flutter_soloud — plays the game's short sound effects, which ship inside the app.
- collection — general-purpose Dart list and map helpers.
Those five pull in a handful of smaller packages of their own. One is
path_provider, which finds the app's own private temporary
folder on the device: the game never calls it itself, flutter_soloud uses it to
copy each bundled sound file out of the app package before playing it, and it
ships in the released app for every processor architecture. Another is
Dart's http package, which flutter_soloud offers for the other
way of loading a sound — from a web address. Scribble Sort never uses
that path: every sound it plays is a file inside the app.
Google Mobile Ads SDK
At those moments — app start, watching a rewarded ad, and fetching the next one — the Google Mobile Ads SDK collects and sends the following data:
- Android Advertising ID — A unique, resettable identifier assigned by Android to your device. You can reset it or opt out of personalised ads at any time in your Android settings: Settings → Google → Manage your Google Account → Data & Privacy → Ad personalization → Manage your Google Ads settings.
- Device and account identifiers — IP address, app set ID, and signed-in account information, used for ad targeting and frequency capping.
- App activity — Information about the ad (whether it was shown, how long you watched, whether you completed it).
- App diagnostics — App launch time, hang rate, energy usage, and other performance data used to improve the SDK and diagnose problems.
The SDK receives your device's IP address, and Google's own disclosure for the Mobile Ads SDK says that address may be used to estimate the general location of a device — so Google may derive an approximate location from it, for advertising, analytics and fraud prevention. That estimate is never precise location: the app itself requests no location permission, has no access to GPS and never asks Android where you are. This is declared in the app's Play Data safety entry as approximate location, collected and shared. Google's disclosure is at https://developers.google.com/admob/android/privacy/play-data-disclosure
All of this data is encrypted in transit and governed by Google's privacy policy: https://policies.google.com/privacy
Scribble Sort does not have access to your ad data; Google manages it directly. You can view Google's privacy practices and data retention policies at the link above.
User Messaging Platform (UMP)
If you are in a region that requires consent for personalised ads (such as the EU), the app uses Google's User Messaging Platform to show a consent form. The SDK checks your consent status as part of starting up, so that form appears on first launch — before you have asked for anything — rather than the first time you reach an ad. Where UMP reports that a privacy-options control is required, the app adds Privacy options to its Settings, and you can change your choices there at any time.
Permissions
The released app requests the following Android permissions:
INTERNET— Required by the Google Mobile Ads SDK, which uses it to check your consent status when the app starts and to fetch and display ads. Without this permission — or with the device simply offline — no ad can load, and the two lifelines part company: the one extra tube a level allows is granted free anyway, while a hint beyond the free ones is not offered at all, because the free ones were the whole promise. Nothing else changes; all 200 levels are playable with no connection.- All other permissions — none. No storage, no location, no camera, no
microphone, no contacts. In particular there is no
ACCESS_COARSE_LOCATIONand noACCESS_FINE_LOCATION: the app cannot read your position, and the approximate location Google may estimate from your IP address (described above) comes from the network connection, not from a location permission. Vibration feedback uses Android's built-in view-level haptics, which do not require theVIBRATEpermission.
For completeness, the merged release manifest does contain one
uses-permission line, for
com.truevinesoftwaresolutions.scribblesort.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION.
The app defines that permission itself, at signature protection
level, and the AndroidX libraries add it automatically so that an internal
broadcast cannot be picked up by another app. It names nothing outside Scribble
Sort and grants no access to you or your device: it exists to keep other apps
out, not to let this one in.
Android backup
Scribble Sort opts in to Android's backup deliberately, and
says so in its manifest rather than leaving it to the platform default. The
released app declares android:allowBackup="true", together with
android:fullBackupContent="@xml/backup_rules" (which Android 11 and
below use) and
android:dataExtractionRules="@xml/data_extraction_rules" (Android 12
and above).
Both of those rule files say the same short thing, and it is the whole of what
they say: include domain="sharedpref" — the app's own shared
preferences — and nothing else. The newer file answers separately the two
cases Android 12 split apart, cloud backup and device
transfer, and answers them identically.
In plain terms: the small list of values in the table above — your stars, your finished pictures, the tutorial flag, the board you are part-way through and your two switches — is copied into your Google account's backup and restored onto your next phone, so the gallery wall you filled in comes with you. Nothing is held back from that copy, because there is nothing sensitive in it to hold back: the app stores no credentials, no identifiers and no personal details.
That backup belongs to you and to Android, not to Scribble Sort. The app neither performs it nor has any way to read it back, and it goes to your own Google account, never to the developer. You control it in your device's Settings under System → Backup, where you can switch it off — for this app or altogether — and delete what has already been stored.
How to delete your data
- In the game: open Settings (the slider
icon on the title screen), then tap Erase all progress,
then tap again to confirm. This deletes every saved star, every picture
unlock, the tutorial flag and the board you were part-way
through — the game is handed back to you as it was on a
fresh install, with nothing waiting to resume. A rating prompt you had
earned but not yet been shown goes with it. It deliberately leaves five
things alone: your sound switch, your vibration switch (so starting over
does not un-mute the game), the save-format version number, which
describes the shape of the save file rather than anything you did, and the
two rating counters,
review.requestCountandreview.lastRequestTime. Those last two are not your progress: they are the promise this app makes about how often it will ever interrupt anyone — at most twice, 30 days apart — and an erase that reopened that budget would turn the Erase button into a way to be asked again. - Everything, including the two switches and the two rating counters: uninstall the app. Android deletes the app's private storage with it.
- A copy held in an Android backup: erasing your progress inside the game does not reach a copy that has already gone into your Google account. Manage that through your device's Settings → System → Backup, or in your Google account. Scribble Sort cannot reach it.
Children's privacy
Scribble Sort is suitable for all ages, including children under 13. The app is not directed at children under 13, and does not knowingly collect personal information from children under 13.
The app does not collect names, emails, contact details or content you create. The only user data involved in the app's operation is:
- Your game progress, saved locally on your device.
- Your Android Advertising ID and related data, used only by the Google Mobile Ads SDK when you choose to watch a rewarded ad — described in detail in the Google Mobile Ads SDK section above.
Because the app requests no contact information and no location permission, and uses no identifiers beyond those the Google Mobile Ads SDK uses — which include the IP address and the approximate location Google may estimate from it, as described above — it complies with COPPA (the Children's Online Privacy Protection Act) and with the GDPR's provisions on children's data.
Developer note: This paragraph reflects that the app is not directed at
children under 13, and it matches the code: kChildDirectedAds in
lib/ads/ad_config.dart is false, so ad requests are not tagged for
child-directed treatment. If you select a target-audience age group that
includes ages under 13 in Play Console, all three have to move together — set
kChildDirectedAds to true, rewrite this paragraph to describe
child-directed treatment, and make sure the app complies with Google Play's
Families policy (no ads except families-certified ads, no collection of
personal data from children, no use of identifiers like the Advertising ID).
If you believe a child has somehow provided personal information through this app, please contact us at the address below.
Your rights
Data-protection laws such as the GDPR and the CCPA give you rights to access, correct, delete and port the personal data held about you. The only data we hold as the developer lives on your own device, under your direct control — plus, if you have Android backup switched on, the copy of it that Android keeps in your own Google account. You can access, export or erase all of it yourself, as described in “How to delete your data” above; we have no copy of it anywhere else to disclose, correct or delete on your behalf.
Separately, the Google Mobile Ads SDK collects and shares your advertising ID and other device identifiers with Google, for advertising, analytics and fraud prevention, as described in the Google Mobile Ads SDK section above. You exercise your rights over that data through Google's own controls — the Google Ads settings and Google's privacy policy linked above — and through this app's Settings → Privacy options, where you can withdraw or change your consent at any time. Any data shared with Google for advertising is handled under Google's own privacy policy, not ours.
We do not sell personal information, and the only sharing we do is the Google Mobile Ads SDK sending the data described above to Google when you choose to watch a rewarded ad.
Changes to this policy
If the app ever changes in a way that affects this policy, the policy will be updated and the “Last updated” date at the top of this page will change. The app does not send you push notifications about policy updates; the current version will always be at the URL where you are reading this.
Contact
For any question about this policy or about Scribble Sort, contact:
About this page
This policy is published as a single static file. The page sets no cookies, loads no external resources — no fonts, no stylesheets, no images, no analytics — and runs no scripts.