Kubelo Back to the app

Privacy policy

Last updated: 1 November 2026

In short

Who is responsible

Kubelo is made by Tore Meling (Norway), who is the data controller. If you have questions about privacy, write to us in the app (Menu → Settings → About Kubelo → Write to us).

Camera

Kubelo can use your phone's camera to read the colours of your own cube (Scan).

The leaderboard

The leaderboard is optional. You can use everything else in Kubelo without it. It lists the fastest ranked solves of the 3×3 on the screen, for this week and for all time. A ranked solve starts from a cube made by the Kubelo server, has 15 seconds of inspection, and has Help and Undo off. Solves with a real cube are not on the leaderboard. Read the leaderboard rules before you join.

What is sent, and when

The app only talks to the Kubelo server when you do something with the leaderboard. Nothing is sent in the background, with one exception that you asked for yourself: a solve you chose to post while you were offline waits on your phone, and is sent when you are back online, as long as its ticket is still valid (2 hours). After that it is dropped.

The server stores your name, the random player ID, a hash of your secret key (not the key itself), the date you joined, and for each solve you post the time, any +2 penalty, how the moves were made (dragging, buttons or both), the moves with their times, the date and the app version. It also keeps the ID of each ticket you have used, so a ticket counts once. It does not store your IP address, and it does not store the inspection time.

Who sees what

Why, and who handles the data

How long it is kept

Age

You must be 13 or older to join. The app asks you to confirm it, and does not let you join without it.

Delete your leaderboard data

A new phone: save a backup first (… → Settings → Your data). It includes your leaderboard name and secret key, so your name and times come with you when you restore it. Whoever has the file can post in your name, so keep it private. If the new phone already has a leaderboard name, it keeps that one and the app tells you.

What is stored on your device

Kubelo keeps its data in your browser's storage on your device, tied to this website. If you install the app from Google Play, it opens full screen in your browser, usually Chrome, and the data is kept in the browser's storage on your phone. The names in the "Stored as" column are the storage keys, so you can check them in your browser's developer tools.

WhatContentsStored asWhy
Your solves Time, number of moves, when the solve was completed, how the cube was mixed, any penalty (+2 or DNF), whether inspection was on, whether Help was used, whether you solved on the screen or with a real cube, and the date if it was the daily cube. kube.solves.v1 Records and statistics.
Cubes in progress One per size (2 to 7): the position, the moves you can undo and redo, the time so far and when the cube was saved. kube.session.v1.2 to kube.session.v1.7 So you can continue where you left off.
Your progress in the guide Which steps you have done, where you are, and how long you have used the guide. For your own cube, also the position from the scan, the moves you have confirmed with Done, and whether camera checks are on. kube.guide.v1 So you can continue the guide.
Choices in the guide Sound, vibration, move letters under the cube, camera checks, automatic mode and its pace. kube.guide.prefs.v1 So the guide stays the way you set it.
Lessons Which lessons are open and completed, the days and sessions you practised, each attempt (time, moves, help used and result), the task in progress, short answers about practising on a real cube, and a random five-character code that is not linked to you. The code is used in user tests, where a test leader reads the results on the same phone. kube.learn.v1 kube.learn.log.v1 kube.learn.current.v1 So the lessons open in the right order.
Settings For example size, finish, colours, time of day, controls, sound, vibration, inspection and the real-cube timer. kube.settings.v1 So the app stays the way you set it.
Choices in the interface Options that only concern the look and feel on this device, such as the glass style, the language and the real-cube timer. kube.ui.v1 So the app looks the way you chose.
Where you are in the app The part of the app that was open last: home, Free cube or the guide. In test builds only, also a switch for the test leader. kube.nav.v1 So the app opens where you left it.
Introduction Whether you have turned and rotated the cube. kube.onboarding.v1 So it is not shown again.
Camera choice An ID for the camera you used last. The browser makes this ID for this website only. It is not a photo and says nothing about you. kube.scan.camera So the scan opens the same camera.
Saved cubes Cubes you saved to use again or send to a friend: the moves, the date and a short name if you gave one. For a cube a friend sent you, also the first name and the time that came in the link. At most 50. A cube you share as a link is only in the link, not stored here. kube.scrambles.v1 So you can use the same cube again, and see your time next to your friend's.
Your first name for a challenge A first name, only if you choose to give one when you send a challenge link. It is kept on your phone, and leaves it only when you send a link yourself: the link then holds the cube, your time and this name. Without it, your friend sees “Your friend”. kube.duel.name.v1 So your friend knows who the link is from.
Your leaderboard identity Only if you join the leaderboard: the name you chose, a random secret key made on your phone, a random player ID and the day you joined. It is part of a backup, so whoever has a backup file can post in your name. kube.board.v1 So you stay on the leaderboard and can post.
Blocked players The players you blocked on the leaderboard: their player ID and the name they had. It is never sent anywhere. kube.board.blocked.v1 So you do not see their names.
Saved leaderboard The last lists you opened (this week and all time): names, times and dates of the players on them. kube.board.cache.v1 So you can read the lists without a connection.
A solve waiting to be posted If you post without a connection, the solve (time and moves) waits here until you are online again, for at most 2 hours. kube.board.pending.v1 So the post is not lost.
The moving message Only in the last version on the old web address: the time after which the message about Kubelo moving to Google Play may show again (three days after you tap "Not now"). kube.farewell.snooze.v1 So the message does not show every time you open the app.
Error log The last 20 technical errors in the app: the error message, where in the code it happened (a stack trace), the app version and the time. kube.errors.v1 So you can tell us what went wrong. It only leaves your phone if you copy it yourself (see below).
Technical information The data format version, when the app last asked for persistent storage, a copy of your data from before the last restore (so it can be undone), data that could not be read (set aside), a test write that is deleted immediately, and leftovers from older versions of the app. kube.data.schema kube.persist.v1 kube.restore.before kube.probe kube.settings.rev kube.seenIntro.v1 kube.leverHint.v1 kube.solves.v1.unreadable kube.learn.v1.unreadable kube.learn.log.v1.unreadable kube.guide.v1.unreadable So storage works safely.
Temporary When the graphics last failed, whether simpler graphics was chosen, a language chosen by a link, the zoom level, and whether the app was opened from Google Play. Deleted when you close the app. kube.lost kube.graphics kube.learn.lang kube.session.zoom kube.play So the app does not restart in a loop, and keeps your choices while it is open.
Replays of your solves The moves of each solve you did on the screen, and when you made each move, so a solve can be played back on the cube. Only your best solve and your first solve for each size are kept for good; of the rest, the latest 300. A replay is deleted when you delete its solve. Solves with a real cube have none. kube-replays (IndexedDB) So Records can play back your best solve. Replays are not part of a backup.
Landscape cache Computed terrain for the background, at most 40 MB. It is rebuilt when needed. The pictures for the Earth view, when you choose it, are loaded from the same address as the app and stored on your phone. kube-terrain (IndexedDB) Faster start-up.
App files Program code, fonts and images. The app's offline cache So the app works offline.

Kubelo does not store your e-mail address, phone number, location, photos or any other contact details. If you join the leaderboard, it stores the name you choose, which does not need to be your real name.

The app asks the browser for persistent storage so that your data is not deleted when the device runs low on space. The browser may answer without asking you.

What is sent from your device

Kubelo sends no information about you or how you use it off your device, unless you join the leaderboard. If you do, the app sends what is described under The leaderboard, and only when you do something there. Even then, we never receive your settings, your cube, the camera pictures or anything else you do in the app. Only the solves you choose to post are sent.

When you open the app for the first time, and when it checks for a new version, your device downloads the app's files from this website. The website is hosted by GitHub Pages (GitHub, Inc.).

The app uses no cookies, advertising ID, analytics, crash reporting or content from other websites. The fonts are part of the app.

When you share or save something yourself

This only happens when you tap a button, and we receive none of it.

If you test Kubelo before launch

Before Kubelo comes to Google Play, volunteers test it. Signing up happens at Google, not in the app, and the app sends nothing about it. Signing up collects nothing in the app or on the Kubelo web pages: they collect nothing and set no cookies. Only the missions below collect answers, and only when you send them.

Other permissions

Apart from the camera, Kubelo does not ask for microphone, location, contacts or notifications, and it only reads files you choose yourself. Sound is generated in the app. Vibration can be turned off in the settings. While you solve, the app keeps the screen awake.

Children

Children can use Kubelo. The app has no chat, no ads and no purchases. Unless you join the leaderboard, it collects no personal data from anyone, including children. The leaderboard is only for people aged 13 or older: you confirm this when you join, and the app does not let you join without it. This also applies to the camera: the pictures are only read on the phone and are never saved or sent.

How long data is kept, and how to delete it

Your data stays on your device until you delete it. The browser may also delete it by itself if the device runs low on space and persistent storage has not been granted.

Security

The app is downloaded over an encrypted connection (HTTPS). Unless you join the leaderboard, we store no information about you on any server. If you do, the server stores only a hash of your secret key, never the key itself, and everything is sent over HTTPS. The accounts that control the website and the app are protected with two-step verification.

Your rights

Under the GDPR you have the right of access, rectification, erasure, restriction and data portability, and the right to object. Unless you join the leaderboard, we hold no information about you, so we have nothing to show or delete. Everything is kept by you and can be deleted as described above. If you have joined, you can delete everything we hold about you yourself with Leave the leaderboard, or by asking us.

You can still ask us at any time, by writing to us in the app (see Contact below). We reply within one month. You can also complain to the Norwegian Data Protection Authority, Datatilsynet (datatilsynet.no).

Changes

When the app changes, we update this policy and the date at the top. If we change what the leaderboard collects, or the app will later send other information off your device, you will be told in the app before the change takes effect.

Contact

Write to us in the app: open Menu, then Settings → About Kubelo → Write to us. We reply within one month.

This page works without the app and without a network connection once the app has been opened.