Skej Privacy Policy

Last updated: 2 October 2026 Provided by: Cubed Element LLC Contact: support@cubedelement.com

1. Overview

Skej changes your phone’s ringer mode, volume, vibration, ringtone and related settings automatically, based on a schedule you set: by time and day of week, by arriving at or leaving a saved place, by a calendar event, or by a Bluetooth device connecting.

The app is built to keep your data on your phone. Your schedules, profiles, saved places, and settings are stored in private storage on the device and are never uploaded to us. We do not sell data, we do not show ads, and we do not use advertising identifiers.

Four things leave your device, described precisely in section 2: anonymous usage analytics, crash and error reports, a check with our own service that confirms whether your trial or paid plan is active, and, only while you are using the map to pick a place, requests to OpenStreetMap.

2. Information that leaves your device

Usage analytics (Firebase Analytics, by Google)

The app records a fixed set of product events so we can tell which features are used and where people get stuck:

Firebase also records its own standard automatic events, such as first open, session start, engagement time and app or operating-system updates, and an app_exception event when the app crashes.

Events describe what kind of thing happened, never its content. A control is reported by a fixed name, never by the text on screen, so we never receive the names of your schedules, profiles, or saved places, your calendar or account names, addresses you searched for, Bluetooth device names, app names, song titles, or ringtone names. Where an event concerns a schedule, it carries a random identifier for that schedule, not its name. Screen names have the app’s record identifiers replaced before they are sent.

Alongside these, Firebase automatically collects standard technical information: a randomly generated app-instance identifier, your device model, operating system version, app version, how the app was installed (Google Play’s install referrer), and an approximate region derived from your IP address. We do not set a user ID and we do not attach any user properties, so these events are not linked to you as a person or to any account.

Crash and error reports (Firebase Crashlytics, by Google)

When the app crashes, or runs into an error it recovers from, we receive a technical report: where in the code it happened (the stack trace), the type of error, the device model, the operating system version and API level, the app version, whether the device is an automated test device, and a randomly generated installation identifier. This is used only to find and fix bugs.

Error messages can quote the data a program was working on, so for errors the app reports itself, we remove the message and send only its type and location. Errors the app does not catch itself, including crashes, are recorded by the crash reporter before the app can remove the message. We write the app’s error messages so that they do not contain your content, but we cannot rule out that such a report includes a fragment of what the app was processing at the moment it crashed.

Place search and map display (OpenStreetMap)

The in-app map picker, used only when you are creating or editing a saved place, talks to services run by the OpenStreetMap Foundation:

As with any web request, OpenStreetMap’s servers can see your IP address. This happens only while the map picker is open. Your saved places, once created, are never sent anywhere. The geofences that trigger your schedules are evaluated entirely on your device by Android. OpenStreetMap’s own privacy policy is at https://wiki.osmfoundation.org/wiki/Privacy_Policy.

Confirming your plan (Cubed Element’s entitlement service)

To confirm whether Skej should be unlocked, the app checks with a service we run at entitlements.cubedelement.com. It does this when you open the app, when you return to it, when you tap Check now in Settings, when you redeem an invite code, and right after you buy a plan or restore a purchase.

Each check sends:

Our service answers with whether the app is unlocked, why (for example “trial” or “active”), until when, and, for a subscription, which plan it is (monthly or annual). It keeps, for each purchase: Google Play’s code for it, whether it currently grants access, until when, the reason, which plan, whether it was a test purchase, and when it was last checked with Google Play. For testers it keeps the name we issued the invite to, its codes, whether it is active, and any test state we have set on it. Apart from a tester’s name, it keeps no name, email address, or device identifier.

Google Play also tells our service when a subscription changes, for example when it renews or is cancelled, so that its records stay current without waiting for your next check. These notices carry the same purchase code, never your name or account. If you cancel and answer Google Play’s question about why, we receive only the category you chose (for example “cost” or “found a better app”), never anything you typed. It is recorded in our technical logs, which are deleted after 14 days, to help us understand why people cancel.

Trials are once per phone. Where Google Play’s “device recall” is available, our service asks Google, when a free trial ends, to remember on that phone that its trial has been used. Google keeps this mark, not us; it survives reinstalling the app, is not linked to you, and Google keeps it for up to three years after it was last used.

The service runs on Amazon Web Services in the United States and uses Google’s Play Integrity and Play Developer APIs. Its technical logs record the outcome of each check, are written not to contain your codes or tokens, and are deleted after 14 days. As with any web request, the service can see your IP address while handling it; it does not store it.

Things you choose to send

Some actions hand information to another app or service, and only when you start them:

What we never collect

3. Information stored on your device

Your schedules, sound profiles, saved places (each a name, coordinates, and a radius you chose), settings, and trial status are stored in private app storage that other apps cannot read. To work, the app also keeps a few supporting records there: your sound settings from just before a place or Bluetooth trigger changed them, so they can be put back afterwards, and the names and icons of your installed apps, so the “open an app” picker loads quickly. The result of the last plan check (section 2) is kept too, so the app keeps working between checks, and, for testers, their tester code.

Automatic cloud backup is switched off, so Android does not copy any of this to Google Drive. All of it is removed when you uninstall the app.

Your calendar, music library, and list of installed apps are read on the device when a feature needs them: to set up or run a calendar-linked schedule, or to fill a picker. They are not copied into storage, apart from the app-picker names and icons above, and they are not transmitted.

4. Data you choose to export

Settings → Data offers an Export that hands a single snapshot of your schedules, profiles, places, and settings to Android’s share sheet, where you choose where it goes (for example Downloads, a cloud drive, or another app). This is entirely under your control. Once you have sent it somewhere, it is yours, and what happens to it there is outside the app and outside this policy. Import reads a snapshot from a file you select. The app keeps a copy of the last exported or imported snapshot in its private cache until Android clears it.

5. Trial and payments

Skej is free to install and starts with a 14-day trial. Your phone counts the 14 days, and sends the date the trial started with each plan check (section 2). When the trial ends, where Google Play’s device recall is available, Google remembers on that phone that its trial has been used, so reinstalling does not start a new one.

Paid plans, a subscription or a one-time lifetime purchase, are sold through Google Play, and all billing is handled by Google Play. When you choose a plan, the app opens Google Play’s own purchase screen. To confirm a purchase, the app sends Google Play’s code for it to our service, which checks it with Google Play (section 2). The app never sees, receives, or stores your payment details: no card numbers, no billing address, nothing. Google’s handling of your payment information is governed by Google’s own privacy policy at https://policies.google.com/privacy. You can view, change, or cancel a subscription at any time at https://play.google.com/store/account/subscriptions.

6. Permissions, and why each is requested

Permission Why the app asks Optional?
Do Not Disturb access The only way Android permits an app to change ringer mode and volume. This is the app’s core function. Required
Alarms & reminders Fires your schedules at the exact minute you chose, instead of whenever Android next decides to. Required
Notifications Confirms a schedule fired, and warns you when one was blocked by a missing permission. Optional
Run at startup Re-arms your schedules after a reboot, so they survive restarting your phone. Automatic
Modify system settings Lets a schedule change brightness, screen timeout, auto-rotate, font size, vibrate-while-ringing, and the default notification and alarm sounds. Android exposes these only through this permission. Optional
Ignore battery optimization Asks Android not to sleep the app, so schedules fire reliably on aggressive manufacturers. Optional
Location — while using the app Centres the map on you when you are picking a saved place. Optional
Location — in the background Lets a schedule trigger when you arrive at or leave a saved place, while the app is closed. Evaluated on-device by Android’s geofencing; no location is transmitted or stored off-device. Optional
Calendar Reads your calendars and event times so a schedule can silence your phone during meetings. Read on the device while you set up a schedule and when it fires; never stored or transmitted. Optional
Nearby devices (Bluetooth) Detects a Bluetooth device connecting or disconnecting, so a schedule can trigger on it. Optional
Music and audio Lets you pick a song from your device as a ringtone or alarm sound. Read on the device only. Optional
Full-screen alarms Lets an alarm you scheduled ring over the lock screen. A playing alarm runs as a foreground service so Android does not stop it. Optional
Seeing your installed apps Lists your apps so a schedule can open one. Read on the device only. Automatic
Google Play billing Lets the app offer its paid plans through Google Play. Automatic
Internet, network state Analytics, crash reports, and the map picker (section 2). Automatic
Vibration, keeping the phone awake, foreground service Ringing alarms and applying schedules reliably. Automatic
Install referrer Lets Firebase record how the app was installed (section 2). Automatic

Every optional permission can be declined, and the app keeps working without the feature it powers. “Automatic” permissions are granted at install and are not shown as a prompt.

7. Third-party services

Service Operator What it receives
Firebase Analytics Google Product events and standard technical data (section 2)
Firebase Crashlytics Google Crash and error reports (section 2)
Nominatim OpenStreetMap Foundation Your place-search text and IP, only while searching
Tile server OpenStreetMap Foundation Map tile requests and IP, only while the map is open
Google Play Google Your install and, once paid plans are available, your purchase (section 5); it also sends our service notices when a subscription changes
Entitlement service Cubed Element, hosted by Amazon Web Services (US) Each plan check (section 2)
Play Integrity and Play Developer APIs Google Your check’s Integrity token and purchase code, read for our service; Google’s “trial used” mark (section 2)

Google’s privacy policy: https://policies.google.com/privacy. OpenStreetMap Foundation’s: https://wiki.osmfoundation.org/wiki/Privacy_Policy.

There are no other third parties. Amazon Web Services and Google handle this data for us, as our service providers. We do not use advertising networks, attribution SDKs, or data brokers.

8. Children’s privacy

Skej is not directed at children and we do not knowingly collect personal information from children under 13. If you believe a child has provided us with personal information, contact support@cubedelement.com and we will delete it.

9. Retention, and how to delete your data

On your device. Uninstalling Skej removes all of it. You can also clear it at any time through Android’s Settings → Apps → Skej → Storage → Clear data.

Analytics and crash data. These are held by Google on our behalf, under Firebase’s retention settings, and are pseudonymous: tied to a random per-installation identifier, not to you. Uninstalling the app stops all further collection, and clearing the app’s data gives it a new identifier.

Plan checks. Our service keeps each purchase’s record while the service runs, so a reinstall or a new phone can be confirmed; technical logs, including the reason category from a cancellation, are deleted after 14 days. Tester invites are kept while the service runs, including after we revoke them; ask us to delete yours. Google keeps the “trial used” mark for up to three years after it was last used.

Requesting deletion. Email support@cubedelement.com. Apart from testers’ invites, which carry the name we issued them to, this data is not linked to a name, email, or account, so we may not be able to tell which records are yours; tell us your device model and roughly when you installed the app, and we will do what we can.

Skej has no user accounts, so there is no account to delete.

10. Your rights

Depending on where you live, you may have the right to access, correct, delete, or restrict processing of your personal data, and to object to it or request it in portable form. Most of this you can exercise directly: your substantive data is on your device, readable through Export and erasable through uninstall. For anything held by Firebase, write to support@cubedelement.com.

We do not sell personal information and we do not share it for cross-context behavioural advertising.

11. Changes to this policy

If this policy changes, we will update the “Last updated” date at the top and post the revised version at the same address. Material changes will also be noted in the app’s release notes. Continuing to use the app after a change means you accept the revised policy.

12. Contact

Questions about this policy or your data: support@cubedelement.com