Privacy Policy Informativa sulla privacy

Shake to Enable Torch — Android (com.luxebyte.shaketoenabletorch)

Publisher / Editore: Luxebyte Labs · luxebytecomp@gmail.com

Effective / In vigore dal: · Last updated / Ultimo aggiornamento: · Version / Versione 2.7

v2.7: what has changed since the version you last saw. Version 2.6 was published earlier on 21 August 2026 and this version amends it in one place. It adds three items to the “Product usage” list in Section 3(d): the appearance of one of the two occasional startup prompts and which of the two it was; which of four fixed outcomes ended it; and the opening of the Google Play listing for our other app, together with which of four places it was opened from. It also corrects the bullet about taps in that same list, which said the App records taps on a fixed, short list of named controls and that a control outside that list is not recorded at all: opening that Play listing is a tap outside it, so the bullet now names both lists and repeats the promise about everything outside them. Version 2.6, published earlier the same day, was described against version 2.5 of 20 August 2026; versions 2.2 to 2.4 were drafted but never published and 2.6 carried all of their corrections. Version 2.6 itself adds Section 3(d), describing the usage and reliability statistics the App can send through Google Analytics for Firebase — every field, what is deliberately not collected, and how to switch it off, these statistics being active outside the EEA, the UK and Switzerland and not collected at all inside them; discloses Android’s own Auto Backup, which copies the on-device data in Section 3(a) into your own Google Drive and which no earlier version mentioned; states plainly that adverts are requested in advance, before you accept any offer and even if you are never shown one; documents two further places where the App can offer you a rewarded video — the dark theme switch and the block mini-game — alongside the achievements gallery, which was the only one described before; describes the device-local “keep-alive” account and the additional motion sensors the App reads on some devices; records that the App shows no banner and no full-screen advert anywhere, the mini-game included; and corrects the stated minimum age from 13 to 16, matching the App’s Google Play declaration. / v2.7: che cosa è cambiato rispetto alla versione che hai visto finora. La versione 2.6 è stata pubblicata il 21 agosto 2026 e la presente versione la corregge in un punto. Aggiunge tre voci all’elenco “Utilizzo del prodotto” della Sezione 3(d): la comparsa di uno dei due messaggi occasionali di avvio e quale dei due fosse; quale di quattro esiti fissi lo ha concluso; e l’apertura della scheda su Google Play della nostra altra app, insieme al punto, fra quattro, da cui è stata aperta. Corregge inoltre la voce sui tocchi del medesimo elenco, che diceva che l’App registra i tocchi su un elenco fisso e breve di comandi nominati e che un comando fuori da quell’elenco non viene registrato affatto: aprire quella scheda è un tocco fuori da quell’elenco, perciò ora la voce nomina entrambi gli elenchi e ribadisce la promessa su tutto ciò che ne resta fuori. La versione 2.6, pubblicata in precedenza nella stessa giornata, era descritta rispetto alla 2.5 del 20 agosto 2026; le versioni dalla 2.2 alla 2.4 sono state redatte ma mai pubblicate e la 2.6 ne raccoglieva tutte le correzioni. La versione 2.6 aggiunge di per sé la Sezione 3(d), che descrive le statistiche di utilizzo e affidabilità che l’App può inviare tramite Google Analytics per Firebase — ogni campo, ciò che non viene deliberatamente raccolto e i modi per disattivarle, statistiche attive al di fuori dello SEE, del Regno Unito e della Svizzera e non vengono raccolte affatto al loro interno; dichiara il backup automatico (Auto Backup) di Android, che copia i dati on-device della Sezione 3(a) sul tuo Google Drive e di cui nessuna versione precedente faceva menzione; afferma esplicitamente che gli annunci vengono richiesti in anticipo, prima che tu accetti qualsiasi proposta e anche se non te ne viene mai mostrato alcuno; documenta due ulteriori punti in cui l’App può proporti un video con premio — l’interruttore del tema scuro e il mini-gioco a blocchi — accanto alla galleria degli obiettivi, che era l’unico punto descritto in precedenza; descrive l’account locale “keep-alive” e gli ulteriori sensori di movimento che l’App legge su alcuni dispositivi; dà atto che l’App non mostra alcun banner e alcun annuncio a schermo intero in nessun punto, mini-gioco compreso; e corregge l’età minima dichiarata da 13 a 16 anni, in linea con la dichiarazione dell’App su Google Play.

1. Who is responsible for your data (Data Controller)

The app “Shake to Enable Torch” (Android package com.luxebyte.shaketoenabletorch, the “App”) is published by Luxebyte Labs (the “Developer”, “we”, “us”). For the limited processing described in this policy, the data controller is:

“Luxebyte Labs” is a trading name of Matteo Lamarque, an independent developer based in Italy. This is a one-person publisher, and the email address above is the contact point for every privacy matter — it reaches the person who can actually act on it. If you need a postal address in order to exercise a right, write to luxebytecomp@gmail.com and it will be given to you.

Important to understand up front: the Developer operates no servers and runs no backend of its own. We do not receive, store, or have access to the advertising data described in Section 3(b). That data is collected and processed by Google (our advertising provider) and its partners. We are the controller only in the sense that we chose to integrate advertising into the App and we decide where and how an ad may appear. Google determines the means and purposes of its own processing of advertising data and acts as an independent (and, where applicable, joint) controller for it.

2. Scope of this policy

This policy applies only to the “Shake to Enable Torch” Android App distributed through the Google Play Store. It does not cover any other product, website, or third-party service except as expressly described here (in particular Google’s advertising services).

The App is distributed globally and its interface is localized into 17 languages. This English text is the primary version; a faithful Italian translation of equal completeness is provided on this same page (“Informativa sulla privacy”).

Changes and versioning

We may update this policy, for example if the App changes or if legal requirements change. When we make a material change we will update the “Last updated” date above and publish the new version at the same web address where you found this policy, before or at the time the change takes effect. Where the change concerns advertising consent, you may be asked again through the in-app consent mechanism (see Section 7). Your continued use of the App after an update takes effect means the updated policy applies to you; if you do not agree, you can stop using the App and uninstall it.

3. What data is processed

The App processes four clearly separate categories of data. We keep them separate on purpose, because they behave very differently: one stays on your device, apart from Android’s own backup into your own Google Drive; one is collected by Google and never reaches us; one is a single request that carries nothing about you but cannot help revealing where it came from; and one is a small set of counts and categories about how reliably the App is working, which is not collected at all in the EEA, the UK and Switzerland, and which you can switch off at any time everywhere else.

3(a) — Data kept on your device, never transmitted to us

To make the App work and to power its features, the App stores a small amount of information locally on your device only, using Android’s standard SharedPreferences storage. This includes:

  • your shake counts (how many times the App has detected a shake);
  • your daily streak (consecutive-day usage counter);
  • your achievements (in-app milestones you have unlocked);
  • your block mini-game progress, where that feature is switched on for your device (see Section 3(c)) — your best score, and how many rounds you have finished;
  • your settings and preferences, such as shake sensitivity and the theme (light/dark) you have chosen.

This on-device data is never sent anywhere by the App as the values you see, with two exceptions stated below and nowhere else — Android’s own backup, and the two coarse bands described under Section 3(d). It is never transmitted to the Developer (who has no servers to receive it), and is never sold or shared with anyone. It is fully under your control: uninstalling the App, or clearing the App’s storage/data in Settings → Apps → Shake to Enable Torch → Storage, deletes it.

One exception, stated here rather than left to be assumed: Android’s own backup. The App leaves Android’s standard Auto Backup switched on, which is the platform default. If you have device backup turned on in your Android settings, then Android — not the App — copies the App’s stored preferences to your own Google Drive, and includes them when you transfer to a new phone. That copy is not limited to the list above: it takes every preference the App has on the device, which also includes the cached copy of the file described in Section 3(c) and the preferences written by Google’s advertising and consent components — among them the record of the advertising-consent choice you made in the consent form described in Section 7. That copy leaves your device and is held by Google under your Google account, so it is the one way the data in this Section 3(a) is transmitted at all. We cannot see it, reach it, or ask for it — app backups are not accessible to app developers, we operate no servers, and we receive nothing from it. You control it entirely: turn backup off, or delete this App’s backup, in Settings → Google → Backup.

One narrow carve-out, stated here rather than buried. Where the usage and reliability statistics described in Section 3(d) are active — never in the EEA, the UK or Switzerland, and elsewhere only until you turn the in-app switch off — two of the values above are also sent as coarse bands, never as the values themselves: which quarter of the sensitivity slider you are on, and roughly how many mini-game rounds you have finished. Your best score, your shake counts, your streak and your achievements are not sent in any form. Apart from Android’s backup and that carve-out, nothing in this Section 3(a) leaves your device.

The App also reads your device’s accelerometer (motion sensor) through a foreground service in order to detect shaking. Where the device provides them, it additionally registers the proximity, tilt, wake-gesture and pick-up-gesture sensors (or a manufacturer’s equivalent of them). Those are not used to observe you: they are used only as a signal that the device has been picked up or moved, so that shake detection can be started again after Android has suspended it. The App does not use the proximity sensor to work out where the device is or what is near it.

All of these readings are processed transiently on the device to decide whether to toggle the flashlight; they are not recorded, stored, profiled, or transmitted. No sample, no trace and no magnitude of any of them leaves your device in any form. Two things derived from them can. The shake counts and streak listed above leave by the Android backup route described immediately above — into your own Google Drive, never to us. And where the statistics in Section 3(d) are switched on, what may be sent is a banded count of how many shakes were detected during a window and a three-way comparison of the strongest reading in that window against the shake threshold you chose (below / near / above) — never a sample, never a trace, never a magnitude. Nothing that leaves your device could reconstruct your movement.

If you switch on the option to stop the torch during phone calls, the App asks for the Android phone state permission (android.permission.READ_PHONE_STATE) and then observes whether a call is ringing, in progress, or finished — and nothing else. It does not read your phone number, your call history, your contacts, or who is calling. The state is read transiently on the device, for the sole purpose of not leaving a torch burning during a call, and is never profiled and never transmitted to us.

One detail rather than a round claim: so that it can put the torch back as it found it, the App stores on the device the time at which a call-related pause began. That timestamp is stored in the same preferences described above, and is therefore included in the Android backup described above. It records nothing about the call itself — no number, no direction, no duration, no identity — and it is never sent to us.

This permission is requested at the moment you enable that option, not at install time, and the feature is entirely optional: refuse it, or leave the option off, and the rest of the App is unaffected. You can withdraw it at any time in Settings → Apps → Shake to Enable Torch → Permissions.

So that shake detection keeps working on devices whose manufacturer shuts background apps down, the App registers a device-local account named “Shake to Torch (keep-alive)”, which you can see in Settings → Accounts. It holds no credentials and no data, it is not linked to any online account, and nothing is ever synchronised through it: Android’s sync scheduler is used purely as a periodic nudge that tells the App to check whether its own flashlight service is still running. Uninstalling the App removes it.

3(b) — Advertising data, collected and shared by Google (AdMob)

The App shows advertising supplied by the Google Mobile Ads SDK (Google AdMob). There is one advertising format and only one: a rewarded video that you choose to watch. Nothing is shown to you that you did not ask for.

Rewarded video ads — opt-in, you choose to watch them

A rewarded ad is never played on its own. You tap something, the App tells you that an ad is involved, and you confirm — or refuse. There are up to three such places, depending on which of the App’s optional parts are switched on for your device (see Section 3(c)):

  • the achievements gallery — tapping to view your achievements may first offer you a short video;
  • the dark theme — switching the dark theme on may first offer you a short video (switching it off is always free);
  • the block mini-game’s “continue”, where the mini-game is switched on — when a round ends, you may be offered one short video in exchange for one extra life.

These ads are never auto-played and are always declinable; declining leaves the App fully usable. On the two torch surfaces, declining simply means you do not open that screen or change that setting at that moment — and if you did agree but the ad cannot actually be shown, the App gives you what you asked for anyway rather than leaving you stuck.

There is no second format — no advertising is imposed on you

The rewarded video described above is the only advertising format the App contains. The App shows no banner ad, no full-screen interstitial, no app-open ad and no native ad — on any screen, including inside the block mini-game.

So every advert in the App is one you started: nothing plays by itself, nothing occupies part of the screen while you use the App, and declining every offer leaves the App fully usable.

What “you choose to watch it” does not mean. So that an ad is ready at the moment you ask for one, the App asks Google’s SDK to fetch one in advance, in the background, while a screen that can offer one is open. That fetch is an ad request, and it is what sends the advertising data listed below. It therefore happens whether or not you go on to accept the offer, and even if you are never shown an ad at all. What your choice controls is whether an advert is ever displayed to you and whether you receive the reward — not whether an advert was requested for you.

No ad is requested, and no advertising identifier is read, until the consent step described in Section 7 has been resolved and the remote advertising switch described in Section 3(c) has been read.

To serve these ads we use the Google Mobile Ads SDK (Google AdMob). When an ad is requested and shown, Google and its advertising partners collect and process the following categories of data for the purposes of serving ads, measuring ad performance, and preventing fraud and abuse:

  • the Android Advertising ID (AAID) — a resettable advertising identifier;
  • the app-set ID — an identifier scoped to apps from the same developer;
  • your IP address;
  • device and diagnostic information (e.g. device model, OS version, language/region, and similar technical data);
  • your interactions with ads (e.g. whether an ad was shown, viewed, or clicked).

This advertising data is collected by and shared with Google and Google’s advertising partners. The Developer does not receive it. Because Google’s advertising infrastructure is global, this data may be processed on servers located outside the EU/EEA, including in the United States (see Section 6).

If you do not consent (where consent is required — see Section 7) or you opt out, the App still works fully; you simply will not be served personalized ads, and in regions where consent is required no ad identifiers are used without your consent.

So that Google can read the advertising identifier listed above, the App declares the Android Advertising ID permission (com.google.android.gms.permission.AD_ID). It is declared explicitly rather than inherited silently, so that what the App can reach is written down rather than guessed at. It grants access to that identifier and to nothing else.

3(c) — One request to a static file, so ads can be switched off without an update

The App fetches a single small text file from a fixed address:

https://matteomark.github.io/ads-flag.txt

It does so at most once a day. The App keeps its own copy of the file and re-uses that copy for a day before asking for a fresh one, so opening the App repeatedly does not repeat the request.

The lines in that file say whether advertising is switched on at all, and which of the App’s optional parts are switched on individually — the dark-theme rewarded ad, the block mini-game, and the promotion of our other app. It exists so that any of them can be turned off without publishing a new version of the App. It does not govern the usage and reliability statistics described in Section 3(d); those are governed only by the controls listed there.

The App sends nothing with this request: no identifier, no advertising ID, nothing about you or about how you use the App. But as with any request to any web server, the server that answers it necessarily sees the IP address the request came from, together with ordinary connection information such as the time, the file requested and the type of client. That server is GitHub Pages, operated by GitHub, Inc., which hosts the file as a plain static document. We run no server, and we never see a log of these requests.

3(d) — Usage and reliability statistics (Google Analytics for Firebase)

Why this exists, plainly. A large share of the negative reviews the App receives say the same thing: the shake stops working. The App currently cannot tell why on any device except the Developer’s own. Was the background service killed by the phone’s manufacturer? Does the hardware have no usable motion sensor? Was the shake detected but the flashlight refused to come on? Those are three different faults with three different fixes, and a one-star review cannot tell them apart. These statistics are how that question gets answered across many devices instead of one.

We describe this data as pseudonymous, and deliberately not as “anonymous”. Each installation is identified by a random identifier generated by Google’s SDK, and Google sees the IP address the data arrives from. That is enough for the data to count as personal data, so it is treated as personal data throughout this policy.

Where this is active, and where nothing is sent at all

This is stated first because it is the most important fact in this Section.

In the EEA, the UK and Switzerland, nothing is sent at all. Not a reduced set, not an anonymised set — nothing. The consent form described in Section 7 is presented by a Google component that, in the version this release ships, carries no analytics purpose at all, so the App can never receive consent for this purpose in those regions and treats it as never given. That much is a property of the App as built. It rests on one thing that is not: whether a consent form is required for you at all is decided by Google’s consent system, from the consent message we publish for those regions — the same mechanism that already decides whether the advertising described in Section 3(b) is personalised there. The App does not work out your location itself, and does not try to. Should either of those change, that form becomes the control, this Section will say so, and this policy will be updated before any collection begins there.

Everywhere else, these statistics are active. The App carries the Google Analytics for Firebase SDK and is built with the Google project credentials it needs, so what is described below is a collection and not merely a capability. It is on unless you turn it off: the in-app “share usage statistics” switch starts in the on position and turning it off stops the collection immediately and completely, and also discards the identifier described further down, so that switching it back on later starts a new one rather than resuming the old. Section 4 sets out the legal basis, which outside those regions is our legitimate interest in diagnosing a fault we otherwise cannot see, with that opt-out always available.

An earlier draft of this Section said that nothing was being sent from any device and that nothing could be. The first half is still true of the App you have today. The second stops being true with the update described above, which is why this Section now leads with where the line falls, and from when.

What is collected, where it is active — every field, in plain words

Reliability of the background service

  • why the App’s background service last stopped — one value from a fixed list of reasons Android itself supplies (for example “out of memory”, “stopped by the system”, “crash”);
  • roughly how long ago that happened, as a band (“less than an hour”, “1–6 hours”, “6–24 hours”, “1–2 days”, “more than 2 days”);
  • whether the App holds the battery-optimisation exemption on that device;
  • whether you had the shake service switched on.

Recovery

  • which of the App’s internal recovery paths restarted the service, what the outcome was, and roughly how long the service had been stopped (the same bands as above);
  • when Android refused to let the App restart its own service, and which of three kinds of refusal it was.

The device’s motion-sensor capabilities — sent once per installation and once per App update, and not again

  • whether an accelerometer exists at all;
  • how deep its buffer is, as a band (0 / 1–99 / 100–999 / 1000 or more);
  • whether a wake-capable accelerometer exists;
  • which kind of “pick-up”-type sensor is the best one available — a category such as “pick up”, “tilt” or “proximity”, never the manufacturer’s own name for the part — and how many such sensors exist.

A periodic summary — at most a few times a day, covering a window of at least 30 minutes whose length is included

  • how many shakes were detected, how many flashlight commands were attempted, how many failed, and how many were refused by the camera — each one as a band (“0”, “1–5”, “6–20”, “more than 20”);
  • whether the strongest motion reading in that window was below, near, or above the sensitivity threshold you chose;
  • which quarter of the sensitivity slider you are on;
  • which screen-off strategy was in force.

Product usage

  • when the block mini-game is opened, and which doorway you came in through — the toolbar, the settings row, the mini-game column of the home screen’s progress card, an achievement tile, or the invitation popup (or that the screen was merely restored after Android recreated it);
  • roughly how long a game session lasted, as a band (under 30 seconds, 30 seconds to 2 minutes, 2–5 minutes, 5–15 minutes, over 15 minutes);
  • roughly how many rounds you have finished, as a band;
  • when one of the two occasional startup prompts is put on your screen, and which of the two it was: the invitation to the block mini-game, or the offer of our other app. It is counted once when it appears and not counted again until you answer it, so a screen that Android rebuilds does not count twice;
  • how that prompt ended, as one of four fixed words: that you accepted it, that you chose “not now”, that you chose “don’t show this again” where the prompt offers that, or that you dismissed it with the back gesture. If you never answer it, nothing is sent;
  • when the Google Play listing for our other app is opened, and which of four places you opened it from: the game card in the settings list, the standing bar inside the mini-game, the end-of-run card, or the startup prompt itself;
  • taps on a fixed, short list of named controls: the theme toggle, the rate button, the tutorial, the on/off switch, the sensitivity slider, the battery-exemption prompt, and the achievements page. Those named controls, together with the prompts and the store links in the three points above, are the whole of what is recorded about what you touch. This is not a heatmap: there are no coordinates, no session recording, and a control outside those lists is deliberately not recorded at all.

Those three points about the prompts and the store listing are the whole of what each of them records. Each carries only the fixed words listed with it: no free text, no timing figure, no reading from any sensor, nothing about where you are, and no identifier of its own. They travel with the same random installation identifier as every other item in this Section, and with nothing more.

Collected automatically by Google

  • Google’s own SDK also records app opens, app updates, operating-system updates and a rough measure of session length, and derives an approximate location (country/region level) from the IP address the data is received from. It may also record that an advert was shown. These are the SDK’s own events, not ours: we do not choose their contents, and the fixed lists described above do not govern them. Two of them we do switch off — no advertising identifier is collected for this purpose, and no screen-view tracking is enabled.

What is deliberately NOT collected

This list is the point of the design, not a footnote:

  • No raw accelerometer readings, traces or magnitudes ever leave your device. Only the coarse band comparisons described above do.
  • No advertising ID is used for this purpose. The App instructs the SDK not to collect it. The only identifier here is the random, app-scoped, resettable identifier that Google’s SDK generates for the installation. It is reset when you turn the “share usage statistics” switch off, so a switch turned off and later turned back on starts a new identifier rather than resuming the old one.
  • No free text of any kind — nothing you type, no strings composed by your device, no error messages, and no manufacturer-supplied text. Android’s own written description of why a process died is mapped to a fixed short list of values before anything is sent, and so is the manufacturer’s own name for a motion sensor. Every value listed above comes from a fixed list the App defines in advance.
  • No mini-game scores. They stay on your device (Section 3(a)).
  • No information from the phone-state / call-state check. That feature stays entirely on your device (Section 3(a)).
  • No record of when or where the torch was switched on — only the banded aggregate counts described above.
  • No per-shake events.
  • No memory figures, and no precise timestamps as event fields.

How to switch it off — and where it is off already

Either one of these is enough to stop it:

  1. In the EEA, the UK and Switzerland, these statistics are not collected at all in this version of the App — whichever way you answer any form. The consent form described in Section 7 is provided by a Google component that, in the version this release ships, carries no analytics purpose; the App therefore treats consent for this purpose as never given in those regions and sends nothing. Should that ever change, that same form — reopenable at any time from the App’s “Ad & privacy settings” row — becomes the control, and this Section will say so before any collection begins.
  2. The in-app “share usage statistics” switch, everywhere else. It starts in the on position; turn it off and nothing is collected, immediately and completely. You can turn it back on again at any time, and nothing else in the App changes either way.

A third control described in an earlier draft no longer exists. A line in the file in Section 3(c) used to let the Developer switch these statistics off for every installation at once. It has been removed and is not relied on anywhere in this policy; the two controls above are the whole of it.

To collect these statistics we use Google Analytics for Firebase (GA4), supplied by Google. Google is the recipient (Section 5), the data may be processed outside the EEA under the safeguards in Section 6, and Google’s event-level retention for it is set to the shortest period Google offers (Section 8).

The App does not collect or use contacts, photos, microphone, camera content (the torch uses the flash hardware, not camera imagery), account information, or any special-category (sensitive) personal data. It uses no location API and no GPS: the only location involved anywhere is the approximate, country/region level location that Google derives from an IP address — for advertising (Section 3(b)) and, where they are switched on, for the statistics in Section 3(d).

4. Why we process data, and the legal basis for each purpose (GDPR)

Under the EU GDPR, the UK GDPR, and the Italian Codice Privacy (D.lgs. 196/2003 as amended by D.lgs. 101/2018), every processing purpose needs a legal basis.

PurposeData involvedLegal basis
Provide the core flashlight function (detect a shake and toggle the torch) Transient accelerometer readings (on-device only) Performance of the service you requested and our legitimate interest (Art. 6(1)(b)/(f) GDPR) in making the App work. The readings themselves never leave your device and are never stored. Two things derived from them can leave it: the shake counts and streak, through the Android backup described in Section 3(a); and the coarse counts and band comparisons in Section 3(d), and then only where those statistics are active and you have not switched them off. Neither can reconstruct any movement.
Remember your settings, counts, streak, achievements, and mini-game progress On-device SharedPreferences data (3(a)) Legitimate interest (Art. 6(1)(f) GDPR) in providing the features you use; processing occurs only on your device and is not accessible to us.
Serve and measure the advertising described in Section 3(b) — the opt-in rewarded ads, including the requests made in advance so that an ad is ready when you ask for one (incl. fraud/abuse prevention) Advertising data via Google (3(b)) In the EEA, UK, and Switzerland: your consent (Art. 6(1)(a) GDPR; and ePrivacy consent to storing/reading identifiers on your device), collected via the Google UMP consent form before any ad is requested. Outside those regions, Google processes this data under the legal bases set out in Google’s own policies.
Stop the torch during a phone call, where you have switched that option on Whether a call is ringing, in progress or finished, read transiently on the device (Section 3(a)) Your consent to the Android runtime permission (Art. 6(1)(a) GDPR), given when you enable the option and withdrawable in Android’s own permission settings. Nothing about the call is transmitted to us; the only thing stored is the time a call-related pause began (Section 3(a)).
Check whether advertising, and the App’s other optional parts, are switched on The IP address the request comes from, seen by the file host (Section 3(c)) Legitimate interest (Art. 6(1)(f) GDPR) in being able to switch advertising off without shipping a release. No identifier is sent, and we receive nothing.
Understand why the shake stops working on some devices, and which parts of the App are used — the usage and reliability statistics in Section 3(d) Banded counts, fixed-list reasons and category values, plus the random app-instance identifier and the IP-derived approximate location described in Section 3(d) In the EEA, the UK, and Switzerland these statistics are not collected at all in this version (Section 3(d)); were that to change, the basis would be your consent (Art. 6(1)(a) GDPR, and ePrivacy consent for the identifier on your device), taken through the same Google UMP form used for advertising. Outside those regions: our legitimate interest (Art. 6(1)(f) GDPR) in diagnosing a fault we otherwise cannot see, with an opt-out available at any time — the in-app “share usage statistics” switch, which is on by default and takes effect the moment you turn it off.

We rely on legitimate interest for the first two purposes, which are confined to your device and involve no transmission, sharing, sale, or profiling, and for the advertising and feature kill-switch check, which transmits nothing about you; you can object (see Section 9) and exercise full control through Android’s app-storage controls and by uninstalling. For advertising in the EEA/UK/Switzerland we rely on consent, not legitimate interest: no ad identifiers are accessed and no ad is requested until you have made your choice, and you can withdraw consent at any time (Section 7), as easily as you gave it and without affecting the lawfulness of processing already carried out. The Developer receives none of the advertising data.

Every advert is user-initiated, which strengthens rather than replaces the basis above. Consent is still what makes the processing lawful in the EEA/UK/Switzerland, and it is still taken before any ad request, because the App fetches ads in advance of your tap (Section 3(b)). What changed is that no advert is displayed to anyone who did not ask for one, so the App relies on no “imposed format” anywhere in this analysis.

For the statistics in Section 3(d) we rely, outside the consent regions, on legitimate interest — our interest in being able to diagnose a fault that is invisible to us otherwise, balanced by the facts that the data is banded rather than exact, carries no advertising identifier, and can be switched off in the App at any time. You do not have to give a reason to opt out, and the App is fully usable either way. For that purpose the Developer does decide what is collected and why, and is the controller for it; Google acts as our analytics provider and processes the data additionally for its own purposes as described in its policies.

5. Who receives data (third parties / recipients)

Because we run no servers, the parties that receive data through the App are our advertising provider and its ecosystem, our analytics provider, and the host of the single file described in Section 3(c):

  • Google — specifically Google Ireland Limited (for users in the EEA/UK/Switzerland) and Google LLC (United States), operating Google Mobile Ads / AdMob; and
  • Google again, in a separate role — the same two companies, operating Google Analytics for Firebase, which receives the usage and reliability statistics described in Section 3(d) where they are switched on. This is a different purpose from advertising and we keep it that way deliberately: no advertising identifier is used for it, and the two are not linked; and
  • Google’s advertising partners (third-party ad networks, demand partners, and measurement providers involved in serving and measuring the ads described in Section 3(b)); and
  • Google once more, in a third and quite different role — as the operator of Android Auto Backup / Google Drive, which holds the backup copy of the on-device data described in Section 3(a) if you have device backup switched on. That copy is held in your own Google account, not ours, and we have no access to it; and
  • GitHub, Inc. — only as the host of the one static text file described in Section 3(c). It receives the IP address that request is made from, and nothing else. GitHub privacy statement — https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement

References describing how Google processes this data and who its partners are:

We do not share the on-device data in Section 3(a) with anyone, and we never receive it. It leaves your device by two routes and no others: Android’s own backup into your Google Drive, described in Section 3(a) — a copy held under your account, which we cannot reach — and, where the statistics in Section 3(d) are switched on, the two coarse bands named in the carve-out there.

6. International data transfers

The on-device data in Section 3(a) is not transferred anywhere by the App — it stays on your device. If you have Android’s device backup switched on, Android copies it to your own Google Drive (Section 3(a)), where it is stored on Google’s infrastructure and may therefore rest outside your country. That is a transfer made by the Android platform into your own Google account, on Google’s terms and under your control; the Developer is not a party to it and receives nothing from it.

The static file described in Section 3(c) is served by GitHub, Inc., a company based in the United States, so the IP address that request is made from is received there.

The advertising data in Section 3(b) is handled by Google’s global infrastructure and may be transferred to and processed in countries outside the EU/EEA, the UK, and Switzerland, including the United States.

The usage and reliability statistics in Section 3(d), where they are switched on, are handled by the same company on the same global infrastructure and may be transferred in the same way, under the same transfer mechanism described below.

Where such transfers occur, they are protected by the safeguards Google relies upon, which include:

  • the European Commission’s adequacy decision for the United States and Google’s certification under the EU–U.S. Data Privacy Framework (and the UK Extension and the Swiss–U.S. framework), where applicable; and/or
  • the Standard Contractual Clauses (SCCs) approved by the European Commission (and the UK International Data Transfer Addendum) under Art. 46 GDPR, with supplementary measures where required.

Details of Google’s transfer mechanisms are in the Google Privacy Policy and its data-transfer / Data Processing Terms at https://policies.google.com/privacy. As the Developer receives none of this data, the transfer safeguards for it are those operated by Google.

7. Consent and how to change or withdraw it

In the EEA, the UK, and Switzerland

Before the App requests any ad, we show you a consent form provided by Google’s User Messaging Platform (UMP) consent SDK. Through it you can agree to or decline the use of advertising identifiers and personalized advertising. No ad is requested and no advertising identifier is read until you have made your choice.

You can change or withdraw your choice at any time, from inside the App, via the “Ad & privacy settings” option — the App’s existing privacy settings row, which reopens exactly the same form. Withdrawing consent is as easy as giving it.

What that form does not cover in this version. The usage and reliability statistics in Section 3(d) are not collected at all in the EEA, the UK and Switzerland in this version of the App, whichever way you answer. The Google component that presents this form carries no analytics purpose in the version the App ships, so the App treats consent for that purpose as never given here and sends nothing. If that ever changes, this same form becomes the control for both purposes and this policy will say so before any collection begins.

Outside the EEA, the UK, and Switzerland

Where no consent form is shown, advertising is governed by Google’s own policies and by the Android Advertising ID controls below. The App still displays no advert you did not ask for, in any region.

The usage and reliability statistics in Section 3(d) are governed here by an in-app switch, “share usage statistics”, which you can turn off at any time and which takes effect immediately.

Everywhere — controlling your Advertising ID at the Android level

Independently of the in-app controls, you can manage the advertising identifier on your device via Settings → Privacy → Ads (the exact path varies by device/Android version), where you can Reset advertising ID or Delete advertising ID and turn off ad personalization. Deleting the advertising ID causes apps to receive a string of zeros instead of an identifier, which limits ad personalization.

8. Data retention — how long data is kept

  • On-device data (3(a)): kept on your device until you delete it by clearing the App’s storage/data or uninstalling. We never receive it, hold no copy, and apply no server-side retention to it. Where Android’s backup has copied it to your Google Drive (Section 3(a)), that copy is retained by Google under your account and its retention rules, and you delete it in Settings → Google → Backup.
  • Advertising data (3(b)): retained by Google per Google’s own data-retention policies, not by us. We store none of it. See the Google Privacy Policy (https://policies.google.com/privacy) and use the Android Advertising ID controls (Section 7) to reset or delete the identifier.
  • Usage and reliability statistics (3(d)): held by Google in Google Analytics for Firebase. Google offers a choice of event-level retention periods, and ours is 2 months — the shortest Google offers, and the value a new property carries by default. It is a setting in the Google Analytics console, applied to the whole property, so it applies to every event described in Section 3(d), and if we ever lengthen it this policy will say so before we do. After that period the event-level records are deleted by Google; aggregated reporting totals that cannot be traced back to an installation may persist longer under Google’s own policies. We store none of it ourselves, because we operate no servers.

9. Your privacy rights

EEA, UK, Switzerland (GDPR / UK GDPR / Italian Codice Privacy)

Subject to the conditions in the law, you have the right to access, rectification, erasure, restriction, objection to legitimate-interest processing, data portability, to withdraw consent at any time (for advertising, and for the statistics in Section 3(d) where they are ever collected on that basis — Section 7), and to lodge a complaint with a supervisory authority. In Italy this is the Garante per la protezione dei dati personali (www.garante.it); you may also complain to the authority in your country of residence or workplace. In the UK this is the Information Commissioner’s Office (ICO) (ico.org.uk).

Because the Developer holds no personal data on any server, in practice: for the on-device data you exercise these rights directly by viewing/changing it in the App and by clearing the App’s storage or uninstalling; for the advertising data, the most effective route is to withdraw consent / change your choice (Section 7), use the Android Advertising ID controls (Section 7), and exercise your rights with Google as the party that holds the data, via the Google Privacy Policy. You may still contact us at luxebytecomp@gmail.com for any request; we respond without undue delay and, under the GDPR, normally within one month.

California (CCPA/CPRA) and other US state privacy laws

You have the right to know/access, delete, correct, opt out of the “sale” or “sharing” of personal information (including “sharing” for cross-context behavioral advertising), limit certain uses, and non-discrimination for exercising your rights. The personal information involved is limited to the advertising identifiers, device/diagnostic information, IP address, and ad-interaction data (Section 3(b)) processed by Google and its partners, and — where they are switched on — the banded usage and reliability statistics, the random app-instance identifier, and the IP-derived approximate location described in Section 3(d), processed by Google as our analytics provider. The statistics in Section 3(d) are not sold or shared for cross-context behavioural advertising, and no advertising identifier is used for them; you can switch them off with the in-app “share usage statistics” control described in Section 3(d). Depending on your settings and region, the use of advertising identifiers for personalized advertising may be a “sale” or “sharing” under California law. Exercise an opt-out by declining consent / changing your choice in the in-app “Ad & privacy settings” and via the Android Advertising ID controls (Section 7). You may also contact us at luxebytecomp@gmail.com. Because we operate no servers and receive none of this data, opt-out and deletion for advertising data are fulfilled through these controls and directly with Google.

10. Children’s privacy

The App is a general-audience utility. On Google Play it is declared as not targeted to, and not primarily appealing to, children, and it is not part of the Google Play “Designed for Families” / Teacher Approved programme. Its declared target audience on Google Play is users aged 16 and over.

That number is chosen for a reason. Under Art. 8 GDPR each EU Member State sets its own age of digital consent, anywhere between 13 and 16 (Italy sets it at 14; some Member States set it at 16). 16 is the highest figure any Member State sets, so every user inside the App’s declared audience is at or above the age at which they can consent for themselves in their own country — including the advertising consent asked for in Section 7.

That is a statement about who the App is declared for, not a claim that nobody younger ever installs it. We cannot verify anyone’s age and we do not try to. What we do is: we do not knowingly collect personal data from children, we ask for no age, name, email address, contacts or account, and we collect nothing that identifies a person to us — we operate no servers and receive none of the data described in Sections 3(b) and 3(d).

The App contains no features directed at children. It does contain a block puzzle mini-game, which is offered as an ordinary general-audience feature of the App and not as content for children. No advertising is imposed inside it, or anywhere else in the App. There is no banner, no full-screen interstitial and no app-open ad; the only advert the mini-game can show is the rewarded video a player asks for in exchange for an extra life, and the only adverts elsewhere are the two rewarded videos described in Section 3(b). Every ad the App requests is requested with a maximum content rating of “PG” (parental guidance), so creatives rated for teen or mature audiences are not requested.

If you believe a child has used the App and that advertising data, or the statistics described in Section 3(d), were collected without appropriate consent, contact us at luxebytecomp@gmail.com. Because such data is held by Google rather than by us, we will help direct a deletion request to Google and provide the Android Advertising ID controls (Section 7) that immediately limit and reset the identifier. This approach is intended to be consistent with COPPA and the Google Play Families Policy.

11. Security

We take a proportionate approach matching the App’s minimal data footprint. The App keeps its data on your device, protected by Android’s standard application sandbox and the device’s own protections (lock screen, encryption, OS permissions); we hold no central database to breach. We transmit no personal data to our own infrastructure, because we operate none. The advertising data is transmitted and protected in transit by Google’s security measures as part of the Google Mobile Ads SDK, and the statistics in Section 3(d) likewise, as part of the Google Analytics for Firebase SDK. No method of electronic processing is ever completely secure; however, by keeping data on-device and operating no servers, we structurally minimize the risk to your information.

12. Changes to this policy and how you are notified

We may revise this policy from time to time. When we do, we will update the “Last updated” date at the top, publish the revised policy at the same web address where you found it, and — where the change affects advertising or your consent — ask you again through the in-app consent mechanism (UMP) where required. Material changes take effect when the updated policy is published (or, where the law requires renewed consent, once that consent is collected).

13. How to contact us about privacy

For any question about this policy or to exercise any of your rights, contact Luxebyte Labs at luxebytecomp@gmail.com. This email address is the single point of contact for all privacy requests relating to the App.

→ Leggi questa informativa in italiano