1. What this game is
Clean Slate is a first-person browser cleaning game made by Antonio Jelić, trading as Vedia s.p., in Slovenia. In this policy "we" and "us" mean Vedia s.p. You can currently play the game on this studio website and on our own preview address at clean-slate-production.up.railway.app.
This policy covers the game itself, wherever it runs. If the game is later published on another platform, that platform will provide everything around the game (the page, ads, cookie banners, any platform account) under its own privacy policy, and this page will be updated to link to it. Section 5 explains what that will mean if it happens.
2. What we do not collect
- No accounts. There is no sign-up, login, password or profile anywhere in the game. You open it and play.
- No personal details. The game never asks for a name, email address, phone number, postal address, photo or contact list, and it has no place where you could type one. It has no chat and no text entry at all; the only controls you can set are four sliders for volume and look sensitivity.
- No precise location. The game does not use GPS or any location service.
- No cookies and no tracking libraries of our own. The game sets no cookies. It contains no third-party analytics or advertising code (no Google Analytics, no ad trackers). On this studio website it loads no third-party script at all. If it is later published on a hosting platform, the only third-party script it will load is that platform's own SDK, described in section 5.
- No reading of your platform account. When the game runs on a game portal it does not ask the portal for your username, avatar or profile.
3. Data stored in your browser
The game keeps a handful of entries in your browser's local storage, at the address the game is served from. None is a cookie, and none leaves your device except as described in section 4. There is no cloud copy of your save: your career lives in this browser and nowhere else.
cleanSlate.save.v4: your save. It holds your cash, the tool upgrades you own, the contract you are working, and for every property you have visited how much of it you have cleaned (the grime left on each surface, the lawn, the litter picked up), your XP, the perks you chose, the time each visit took, your progress through the training yard, and the "before" photograph the game takes of the level itself when you arrive. It is what lets you close the tab and come back later. Older versions of the game usedcleanSlate.property.v2andcleanSlate.property.v3; if one of those is found it is read once, converted, and removed.cleanslate.volume,cleanslate.music,cleanslate.sfx,cleanslate.sensitivity: your master, music and sound-effect volumes and your look sensitivity, so the sliders stay where you left them.cleanSlate.playerId: a random identifier (a UUID) created the first time a build with analytics starts in a browser. It contains no information about you. It exists only so that the anonymous statistics in section 4 can tell "the same browser came back" apart from "a new player". It sits outside the save on purpose, so starting over does not turn you into a new player.
On start the game writes and immediately removes a one-character test entry
(cleanSlate.probe) to learn whether storage works at all. If you play in a
private window, or your browser blocks storage, the game keeps everything in memory for the
session and its pause, results and title screens say that progress will not be saved.
Deleting it. The start-over control on the game's title screen wipes the save and starts a fresh career. Clearing site data for the game's address in your browser settings removes every entry, including the random identifier, after which you look like a brand new player to us.
4. Gameplay analytics
What is sent, and where
Release builds of the game send anonymous gameplay events over an encrypted WebSocket
connection to our own analytics service at api.observer.vediagames.com. We run this service
ourselves. No third party receives these events. The build embedded on this studio website
today is made without the analytics client, so it sends nothing at all.
Every event carries:
- the random player identifier from section 3, and a random session identifier that is new on every page load,
- the event name and the time it happened,
- the game version (the release number and the source-code revision it was built from) and the tag "clean-slate", so our service can tell this game's rows from other projects.
The events are gameplay moments: each lesson of the training yard started, finished or abandoned; each property started, finished or abandoned, with the name of the property and how many times you have cleaned it; how long a level took, as a rounded bracket, and whether that beat your previous visit; each quarter of a property's jobs done; the first time the full bag or the skip is used on a property; a perk picked; an upgrade bought and its tier; the phone, the shop and the level-up cards being shown and used; the haggling buttons pressed on a client call; the football dog or the dinosaur noticing you; and whether a rewarded-ad button was shown and pressed. Each event carries only fixed identifiers and numbers, for example the property's id or the upgrade's tier. There are no free-text fields, so nothing you type can end up in them; the game has no text input anyway.
A few events describe the session rather than the play. At start the game records whether browser storage is working and the size of the game window. When the first level is built, and again at your first click or touch, it records how many milliseconds that took since the page opened, and at the first input whether you are playing with a keyboard and mouse or with your thumbs. After that, a heartbeat once a minute records how long the page has been open, how many seconds of that were actual play, and whether the tab was hidden. When the connection opens, our server also records the address of the page the game is running in and the IP address of the connecting device in one connection record, and when it closes, why (as a numeric code). The gameplay events themselves do not contain your name, your IP address, your user agent string or your device model.
What it is for
Balancing the pacing of each property and the price of each upgrade, finding where players get stuck in the training yard, spotting builds that load slowly on particular kinds of devices, and checking that a new release behaves as intended. We do not use these events for advertising or profiling, and we do not sell or share them.
Why it is anonymous
The identifiers are random. We hold no name, email address or account to attach them to, so we cannot work out who a player is. If you clear site data, the identifier is gone and you become a new player to us.
How long we keep it
We keep these events for as long as they are useful for analysing and improving the game, and we delete them on request.
How to have it deleted
Send us your player identifier and we will delete every event recorded under it. You can
find it in your browser's developer tools, under local storage for the game's address, as
the value of cleanSlate.playerId. Without the identifier we cannot find your data,
because nothing else links it to you. Write to [email protected].
Blocking it
If your browser, an extension or your network blocks connections to api.observer.vediagames.com, the game plays normally and simply sends nothing. Events that
cannot be delivered wait in memory for a while and are dropped when the tab closes.
Diagnostic lines in the browser console
The game prints nothing about you or your device to the browser's developer console. The only lines it writes there are warnings when a music file or a level photograph fails to load. A hosting platform that records play sessions for quality testing may capture the console together with the game footage, under its own policy.
5. Hosting platforms and ads
The game is not currently published on any third-party game portal. Right now you play it directly on this studio website, where there are no ads, no cookie banner and no third-party SDK of any kind.
If the game is published on a hosting platform in the future, that platform will provide the page around the game, the ads, and any cookie or consent banner. The game has no ad or consent technology of its own: when it wants to show an ad (a short break when you come back from the pause screen, put the phone away or leave the results, or a rewarded video you choose to watch to double a tip or earn a power-up card), it will ask the platform's SDK, and the SDK does the rest.
All the game would learn back from such an SDK is whether the ad played and whether a reward should be granted. The game would never learn who you are from the SDK.
Ad personalisation, consent choices, cookies and platform accounts would be that platform's responsibility, described in its own policy. This page will link to that policy once the game is published somewhere.
This studio website is a static site with no analytics and no cookies of its own. It embeds the game in a frame, and the game then behaves exactly as described on this page.
6. Children's privacy
Clean Slate is made for everyone, and that includes children. We do not knowingly collect personal information from anyone, and in particular not from children under 13 (as defined by COPPA in the United States) or under 16 (as defined by the GDPR in the European Union). The game has no account, no chat, no text entry and no way to share content, and the statistics it sends are anonymous, as described in section 4.
If you are a parent or guardian and would like the anonymous statistics from your child's browser deleted, write to us with the player identifier (see section 3) and we will delete them. If the game is later published on a hosting platform, any ads shown around it, and any consent or age gate in front of them, will be run by that platform under its own rules.
7. Server logs
As with every website, the servers that deliver the game files and the server that receives the analytics see the IP address of the connecting device, what was requested and when, and may keep this in short-lived technical logs. These logs are used only to run the service, keep it secure and diagnose faults. We do not join them with gameplay events and we do not use them to build profiles of anyone.
8. Your rights and how to reach us
The data controller is Antonio Jelić, Vedia s.p., Slovenia. Write to [email protected] for anything on this page. We aim to answer within a month.
If you are in the European Economic Area, the United Kingdom or Switzerland, you have the rights the GDPR gives you: to access the data we hold about you, to have it corrected or erased, to restrict or object to its use, and to receive a copy of it. Because the only data we hold is tied to a random identifier and not to you, the practical way to exercise these rights is to send us that identifier, as explained in section 4. You also have the right to complain to a supervisory authority; in Slovenia that is the Information Commissioner (ip-rs.si).
The right to erasure in one sentence: tell us your player identifier, and every event recorded under it is deleted.
9. Changes to this policy
We will update this page whenever the game's handling of data changes, for example when it is published on a new platform or a new kind of event is added to the analytics. The version number and effective date below change with it. The policy in force is always the one at this address.