MOONLET LABS

Moonlet Labs

Privacy policy

Effective date: 30 September 2026 · Last updated: 4 October 2026

Applies to Datum, Downbeat, Relay, Lode, Cone, Halloo, Startle, Assay, Spinney, Palindrome, Binnacle, Hashmark and Clatter for Android, and to the website moonletlabs.com. The apps are published on Google Play under the developer name Moonlet Labs LLC by Moonlet Labs LLC, a Minnesota limited liability company ("Moonlet Labs", "we"), which is the controller of the personal data described here. Contact details are at the end of this page.

Moonlet Labs games have their own policy: Privacy policy for games. It covers Ennead: Sudoku Puzzles.

The short version

Contents

What we collect and why

We have no servers that the apps talk to. The apps use Google services, described below, and those services are where data about your use of the apps ends up. None of them receives your name, email address, contacts, photos, files or precise location; the apps never ask for them. Every connection to Google is encrypted (TLS), and Google receives your IP address whenever the app connects.

Crash reports (Firebase Crashlytics)

Usage statistics (Google Analytics for Firebase)

App configuration (Firebase Remote Config)

Consent check (Google User Messaging Platform)

Each time an app starts, it asks Google's consent service whether a consent or privacy message applies where you are, and stores your answers on your phone. Google receives your IP address and basic device information for this. See Consent and your choices.

Advertising (Google AdMob)

The ads SDK collects data for Google, which uses it as an independent controller. See Advertising.

Support email

If you email us, we receive your email address, your message and anything you choose to include (such as your phone model). We use it only to answer you. We keep the thread for as long as we need it to resolve your request, then delete it no later than 12 months after the request is resolved.

Website

Visiting moonletlabs.com sends your IP address to our host and to Google Fonts. See Our website.

Things we do not do

We do not sell your personal data for money or build profiles of you (Google may, for personalised ads, as described under Advertising), and we do not make decisions about you by automated means that have legal or similarly significant effects. You are not required by law or by contract to give us any personal data; the apps work offline and without consent.

If you are in the EEA, the UK or Switzerland, these are the legal bases we rely on under the GDPR, the UK GDPR and the Swiss Federal Act on Data Protection, and for reading or storing information on your device under the ePrivacy rules and UK PECR.

PurposeLegal basis
Usage statistics (Analytics)Your consent. You can withdraw it at any time; this does not affect processing before you withdrew.
Measuring our own Google Ads campaigns (Analytics events shared with Google Ads)Your consent, given in the consent form ("Measure advertising performance"). You can withdraw it at any time in "Privacy options", or turn "Share usage statistics" off.
Crash reports (Crashlytics)Your consent, as above.
Personalised ads (AdMob)Your consent, given in the consent form. Google relies on its own legal bases as an independent controller.
Non-personalised and limited ads (AdMob)As set out in Google's consent framework: your consent where Google's consent form requires it, and otherwise our legitimate interest in funding free apps with advertising.
App configuration (Remote Config)Our legitimate interest in operating the apps, switching off faulty features and controlling how often ads appear. Remote Config is needed to deliver the apps as configured.
Consent check (User Messaging Platform)Our legal obligation to ask for and record consent, and our legitimate interest in doing so reliably.
Support emailsOur legitimate interest in answering you, or steps you ask us to take.
Website logsOur legitimate interest in delivering a secure website.
Keeping records the law requires, or responding to lawful requestsLegal obligation.

You can object at any time to processing based on our legitimate interests by emailing support@moonletlabs.com. See Your rights.

What stays on your phone, and app permissions

Your settings, presets, calibration and history are stored in the app's private storage on your phone. We cannot see them. Uninstalling the app or clearing its storage deletes them from the phone.

Google Play rating prompt. Each app keeps a few counters with its settings: on how many days you used it, how many jobs you finished with it, and when it last asked Google Play to show its rating prompt. They decide when the app may ask, at most once every 90 days; Google Play then decides whether the prompt appears. They never leave your phone (except in your own Android backup, with the settings). If you rate or review the app there, Google Play handles it under Google's terms, and the app is never told whether you did.

Android backup. If you have Android backup turned on, Android includes the app's settings, presets, calibration and history, and your "Share usage statistics" choice, in your own Google account backup and in a device-to-device transfer to a new phone, except Binnacle's compass trim and its last approximate location, which stay on the phone. Google stores that backup under its own terms; Moonlet Labs cannot access it. A backup you made stays in your Google account until you delete it or Android lets it expire, which can be after you uninstall the app.

Never backed up. Firebase identifiers, your consent choices, queued crash reports and usage statistics, ad data, and Binnacle's compass trim and last approximate location are never included in a backup or transfer. A reinstall or a new phone therefore starts with fresh Firebase identifiers and asks for consent again where consent is required.

Permissions

PermissionAppsWhy
Internet access (INTERNET)AllAds, consent check, usage statistics, crash reports and app configuration. No app feature needs it.
View network connections (ACCESS_NETWORK_STATE)AllAdded by the Google ads and Firebase SDKs, to check whether a connection is available before sending or loading. (In Relay, Halloo and Hashmark, Android's background-task library, which the home-screen widget uses, also declares it.)
Advertising ID (com.google.android.gms.permission.AD_ID)AllAdded by the Google ads and Analytics SDKs, so AdMob can read your advertising ID, and Analytics can read it for measuring our own Google Ads campaigns when that is allowed (see Usage statistics).
Microphone (RECORD_AUDIO), asked at run timeDownbeat, Halloo, Assay, PalindromeDownbeat: the tuner, asked the first time you open the Tuner tab. Halloo: listening for a clap or a whistle, and Test it; asked the first time you start listening or open Test it. Assay: its two microphone tests, asked when you reach them. Palindrome: recording your voice, only while a recording screen is open; asked the first time you record.
Notifications (POST_NOTIFICATIONS), asked at run time on Android 13 and laterDownbeat, Relay, Halloo, StartleThe notification with playback or timer controls while the metronome or a session runs; in Halloo, the listening notification with its Stop button and the alert; in Startle, the notification shown while it is armed, with its Disarm button, and the alarm notification.
Foreground service (FOREGROUND_SERVICE and its type permission)Downbeat, Relay, Halloo, StartleKeeps the metronome, the timer, Halloo's listening (a microphone service) or Startle's watch (FOREGROUND_SERVICE_SPECIAL_USE: a service of the "special use" type, which keeps watching the trigger while the phone is armed and the screen is off) running when the screen is off or you switch apps. (In every app, Android's background-task library used by the Google SDKs also declares FOREGROUND_SERVICE.)
Prevent phone from sleeping (WAKE_LOCK)AllAdded by the Google ads and Analytics SDKs, to finish sending queued data or background work. Relay also holds it while a session runs, so the timer and its cues stay on time with the screen off. Startle holds it while it counts down, while its alarm rings, and while it is armed on phones whose sensors cannot wake the phone, never longer than the stop time you chose plus the ring time and one minute.
Use biometric hardware (USE_BIOMETRIC; on Android 9 and older also USE_FINGERPRINT)StartleLets you disarm Startle with your phone's own screen lock or fingerprint. Android checks it; Startle never sees your fingerprint or your screen lock. Granted when you install the app; Android does not ask.
Approximate location (ACCESS_COARSE_LOCATION), asked at run timeBinnacleOptional. True north and the Qibla direction, worked out on your phone. Asked only after a screen that explains why, when you choose true north or the Qibla or tap Use my location; Binnacle works without it, using a city you choose or magnetic north. Never your precise location, never in the background.
Control vibration (VIBRATE)Relay, Halloo, Startle, Assay, Spinney, Hashmark, ClatterVibration cues during a session (you can choose sound, vibration or both in Settings), and Halloo's alert and Startle's alarm unless you turn Vibrate off. In Assay, the vibration test. The finger chooser's pick in Spinney, unless you turn Haptics off. In Hashmark, a vibration on each tap, with a different pattern at each 33, at the target and at each mala, unless you turn it off. In Clatter, one short buzz when the dice land, unless you turn Haptics off.
Change audio settings (MODIFY_AUDIO_SETTINGS)Cone, AssaySends the cleaning tone to the earpiece when you choose the earpiece. Granted when you install the app; Android does not ask. Assay: plays its earpiece test through the earpiece.
View Wi-Fi state (ACCESS_WIFI_STATE)AssayShows whether Wi-Fi is on in the connectivity test. Assay does not scan for networks. Granted when you install the app; Android does not ask.
Bluetooth (BLUETOOTH), Android 11 and earlier onlyAssayShows whether Bluetooth is on in the connectivity test. Assay does not scan, pair or connect. Granted when you install the app; Android does not ask.
Run at startup (RECEIVE_BOOT_COMPLETED)AllAdded by the Google ads SDK and Android's background-task library, to reschedule queued background work after the phone restarts.
Android ad services (ACCESS_ADSERVICES_AD_ID, ACCESS_ADSERVICES_ATTRIBUTION, ACCESS_ADSERVICES_TOPICS)AllAdded by the Google ads and Analytics SDKs, so they can use Android's privacy-preserving advertising APIs (ad ID, ad attribution and interest topics computed on the phone) where your phone offers them and you have not turned them off in Android's ad privacy settings.
Install referrer (com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE)AllAdded by Analytics, to read from Google Play which link or campaign led to the install.

Datum reads motion sensors and Lode reads the magnetic field sensor; neither needs a permission. Startle reads the motion and proximity sensors and the charger state; none needs a permission. Assay reads motion, rotation, magnetic field, proximity, light and pressure sensors, which need no permission either. Halloo and Startle can turn on the camera's flash as a torch during an alert or an alarm, which needs no camera permission and takes no pictures. Binnacle reads the rotation-vector, magnetic field and, on some phones, accelerometer sensors, which need no permission. Clatter's Shake to roll reads the motion sensor only while you have switched it on and the dice screen is open, to notice a shake; the readings are processed on your phone only and are never stored or sent, and the sensor needs no permission. Binnacle is the only app that can ask for your location: only your approximate location, and only if you want true north or the Qibla from where you are. No app asks for your precise location, contacts, camera, photos or files.

Datum: Spirit & Bubble Level

Downbeat: Metronome & Tuner

Relay: Interval & HIIT Timer

Lode: Stud & Metal Detector

Cone: Speaker Cleaner & Test

Halloo: Clap to Find Phone

Startle: Anti-Theft Alarm

Assay: Phone Test & Checkup

Spinney: Spin the Wheel

  • Spinney: Spin the Wheel (com.moonletlabs.wheel). Wheels, labels and history stay on your phone and in your own Android backup. A shared wheel is plain text that you send. It goes through Android's share sheet to whoever you choose; Moonlet Labs never receives it.
  • History keeps your last 50 results (what was picked and from which wheel, the coin's side, or how many fingers and teams), stored on your phone. Clear in History deletes them. Paste a list reads only the text you put in its box; Spinney never reads your clipboard by itself.
  • Usage statistics, when they are on, say which tool you used (wheel, coin or chooser) and that a spin, flip or choice finished. They never include your labels or wheel names, how many slices a wheel has, or any result.
  • Your last tool and wheel, and your sound, haptics, spin length and reduced-motion settings, are stored on your phone.
  • Spinney shows a banner ad on the wheel, the coin, your wheels list and History, never on the finger chooser or in the editor, and at most one full-screen ad per app open: only when you leave the editor after saving a new wheel, after 30 seconds of use; never after a spin, flip or choice.
  • Spinney asks for no permissions while you use it. It can vibrate when the finger chooser picks someone, which needs no prompt.

Palindrome: Reverse Singing

Binnacle: Compass & True North

Hashmark: Tally Counter

Clatter: Dice Roller

Advertising

The apps are free and funded by ads from Google AdMob, as described per app above. Ads never interrupt a measurement, practice session, workout, cleaning cycle, listening, counting, a roll, a game or an alert. We limit ads to content rated G (suitable for general audiences).

To request, show and measure ads and prevent fraud, the Google Mobile Ads SDK collects your advertising ID, IP address and the approximate location derived from it, device and app information, ad interactions and diagnostic information such as app launch time and crashes in the SDK. Google uses this data as an independent controller under its own policies, and may share it with its advertising partners, who are listed in the consent form. See How Google uses information from sites or apps that use our services and the Google Privacy Policy.

Google and its advertising partners may collect information about your activity over time and across apps for personalised ads. See Consent and your choices to limit this.

Where the "Privacy options" entry is not shown, no consent or opt-out message applies to your region. You can still use the other controls above, or email us.

Who receives your data

International transfers

We are based in Minnesota, United States. Google and Vercel process data in the United States and other countries where they operate. When personal data from the EEA, the UK or Switzerland is transferred to the United States, we rely on the EU-US Data Privacy Framework, its UK Extension and the Swiss-US Data Privacy Framework where the recipient is certified (Google LLC is), and otherwise on the European Commission's Standard Contractual Clauses with the UK Addendum and the Swiss amendments. The providers that hold the data we collect directly, Google Workspace for support emails and Vercel for website logs, rely on the EU-US Data Privacy Framework and/or Standard Contractual Clauses.

How long data is kept

DataHow long
Crash reports and their identifiers (Crashlytics)90 days
Usage statistics at event and identifier level (Analytics)14 months. Aggregated reports that are not linked to an identifier are kept longer.
Firebase installation IDThe identifier on your phone is removed when you uninstall the app or clear its storage. Google deletes the data associated with it as the retention periods above expire.
Ad data held by GoogleUnder Google's retention policy
Your consent choicesOn your phone, until you change them or uninstall the app (never backed up)
Saved clips (Palindrome)On your phone, until you delete them or uninstall the app; never backed up
Binnacle's last approximate location and compass trimOn your phone only, until a new location replaces it or you reset the trim, clear the app's storage or uninstall the app; never in a backup
Assay's last reportOn your phone only, until the next checkup replaces it, you delete it or turn off "Remember last report" in Settings, or you uninstall the app; never in a backup
Hashmark's tap log (the time of each tap)A tap's time is deleted the first time Hashmark starts after it is 90 days old, and only each day's total is kept; until then on your phone and, if you use Android backup, in your Google account backup. Deleting a counter deletes its taps and totals
Settings, presets, calibration, historyOn your phone, until you delete them or uninstall the app; if you use Android backup, also in your Google account backup until you delete it or Android lets it expire
Support emailsAs long as needed to resolve your request, then up to 12 months after it is resolved, then deleted
Website request logs (Vercel)The limited period Vercel keeps them under its privacy policy

Your rights

Depending on where you live, you may have the right to access the personal data we hold about you, to have it corrected or deleted, to restrict or object to its use, to receive it in a portable format, and to withdraw consent at any time. You may object at any time to processing based on our legitimate interests.

How to use them without an account. The apps have no accounts, and the identifiers Firebase uses are not linked to your name or email, so we cannot find your data from your email address. These routes work:

We reply within one month (EEA, UK and Switzerland) or 45 days (US states), and may extend this where the law allows. You also have the right to complain to a data protection authority: in the EU or EEA, the authority where you live or work (list of authorities); in the UK, the Information Commissioner's Office; in Switzerland, the Federal Data Protection and Information Commissioner. If you live elsewhere, you may have similar rights under local law; contact us.

US state privacy rights

This section applies to residents of California and other US states with consumer privacy laws, and is our notice at collection. Whether or not these laws apply to Moonlet Labs, everyone in the United States can limit targeted advertising with the advertising ID controls in their phone's settings, and where Google's US state privacy message applies, the app also offers an in-app opt-out of the sale or sharing of personal data and of targeted advertising, as described below.

Children

Datum, Downbeat, Relay, Lode, Cone, Halloo, Startle, Assay, Spinney, Palindrome, Binnacle, Hashmark and Clatter are general-audience tools rated for a general audience. On Google Play they target people aged 13 and over, and they are not directed at children under 13 (or under the minimum age for consenting to online services in your country). We do not knowingly collect personal data from children. Ads are limited to content rated G. If you believe a child has given us personal data, for example by emailing us, contact support@moonletlabs.com and we will delete it.

Our website

moonletlabs.com is a static website hosted by Vercel Inc. When you visit, Vercel processes your IP address, browser user agent, the pages you request and the time, to deliver the site and protect it from abuse, and keeps these request logs for the limited period set out in Vercel's privacy policy. The pages load fonts from Google Fonts, so Google receives your IP address and browser information when you visit; see the Google Privacy Policy. The site sets no cookies of its own and uses no analytics or advertising. Our legal basis is our legitimate interest in running a working, secure website.

Security

Data sent from the apps to Google is encrypted in transit. We operate no servers that store your data, and we limit access to the Firebase and AdMob consoles to the people who run Moonlet Labs.

Changes to this policy

If we change what the apps or the website do with data, we will update this page and the dates above. For material changes we will also tell you in the app before the change takes effect, and ask for consent again where the law requires it. Previous versions are available on request.

Contact

Moonlet Labs LLC · 445 Karen Dr Unit 316, Woodbury, MN 55129, USA · support@moonletlabs.com

Google Play Data safety summary

This summarises each app's Google Play Data safety answers, using Play's definitions: "collected" means sent off your phone, including by the Google SDKs in the app; "shared" means transferred to a third party, and data processed by our service provider on our behalf is not "shared".

Play data typeCollectedSharedPurposesOptional
Device or other IDsYes: Firebase installation ID, app-instance ID and Crashlytics installation ID (Firebase); advertising ID (AdMob, and Analytics for ad measurement)Yes: advertising ID with Google for advertising; app-instance ID and advertising ID with Google Ads to measure our ad campaigns. Other Firebase IDs: no (service provider)App functionality, analytics, advertising or marketing, fraud preventionRequired
App activity: app interactionsYes: screens, features and sessions (Analytics); ad interactions (AdMob)Yes: the app's first open and finished jobs (first_open, task_completed) with Google Ads to measure our ad campaigns; ad interactions with Google for advertising (AdMob). Other Analytics events: noAnalytics, advertising or marketingRequired (the Analytics part, including what goes to Google Ads, can be switched off)
App info and performance: crash logsYes (Crashlytics; AdMob for SDK crashes)Crashlytics: no. AdMob: yes, with GoogleApp functionality, analyticsRequired
App info and performance: diagnosticsYes: device state with crash reports (Crashlytics); performance data (AdMob)Crashlytics: no. AdMob: yes, with GoogleApp functionality, analytics, advertising, fraud preventionRequired
Location: approximate locationYes: derived from IP address by AdMob; city-level by AnalyticsAnalytics: no. AdMob: yes, with GoogleAdvertising, analytics, fraud preventionRequired
Audio: microphone (Downbeat, Halloo, Assay)No: processed on the phone onlyNoTuner; hearing a clap or a whistle; Assay's loopback and playback tests—
Audio: voice or sound recordings (Palindrome)No: recorded and stored on the phone only; a copy leaves the phone only when you share or save it yourselfNoReverse challenge and voice effects—
Motion sensor readings (Datum)No: processed on the phone onlyNoLevel and protractor—
Magnetic field readings (Lode)No: processed on the phone onlyNoMetal detector, stud finder and field meter—
Motion, proximity and charger state (Startle)No: processed on the phone onlyNoSounding the alarm when the phone is moved, taken from a pocket or unplugged—
Location from location services (Binnacle)No: approximate, rounded, used and kept on the phone onlyNoTrue north and the Qibla direction—
Tones (Cone)No: generated and played on the phone; nothing is recordedNoWater eject, speaker test, tone generator—
Phone test results and report (Assay)No: made and kept on the phone only, not backed up; shared only by youNoPhone test report—
Wheels, labels and results (Spinney)No: stored on the phone and, if you use it, in your own Android backup. A wheel you share goes from your phone to whoever you send it toNoWheel, coin, finger chooser and History—
Counters, taps and daily totals (Hashmark)No: stored on the phone and, if you use it, in your own Android backup; exported only by you, to a place you chooseNoCounting, history and CSV export—
Rolls, dice labels, player names and scores (Clatter)No: stored on the phone and, if you use it, in your own Android backup. A roll or standings you share goes from your phone to whoever you send it toNoDice, saved rolls, custom dice, History and the score keeper—
Settings, presets, calibration, historyNo: stored on the phone and, if you use it, in your own Android backupNoApp functionality—
Name, email, contacts, photos, files, precise location, health or financial dataNoNo——

All data is encrypted in transit. "Required" means collection cannot be switched off for every user in every region: in the EEA, the UK and Switzerland, Analytics and Crashlytics run only with consent, and nothing goes to Google Ads without consent.