Privacy policy
Last updated: 2026-09-15. This policy describes processing by SH0, a browser game with a level editor and online multiplayer.
1. Controller
Ferdinand StrixnerNiemöllerallee 20
81739 München
ferdinand.strixner@sh0.eu
Privacy enquiries: ferdinand.strixner@sh0.eu.
2. Overview
You can play and edit locally without an account. Settings, progress and browser levels are stored on your device. Online games transfer control inputs and the required levels to the server and your playing partner. Levels are stored permanently on the server only through online actions you explicitly choose, such as “Share with editors”, “Publish”, pack uploads or synchronisation.
SH0 itself does not embed advertising networks, social media pixels, or external font or script services. Game graphics, system fonts and program libraries do not require additional third-party requests from the game code. Processing by the hosting provider and any additional services is described below.
3. Website, hosting and abuse prevention
A request transmits your IP address, the time, requested address and technical information such as the browser identifier and, where applicable, referring page to the server infrastructure. The SH0 application does not write general HTTP access logs containing visitor IP addresses. To limit abusive requests, it temporarily processes IP addresses and, for login attempts, the entered username in memory. Connection addresses remain available for the duration of a WebSocket connection. Rate-limit windows last up to one hour depending on the action; expired entries are removed regularly. This information is not added to usage statistics.
Processing to deliver and protect the service is based on Article 6(1)(f) GDPR. The legitimate interests are keeping the service available and functional and protecting it against attacks and unauthorised access.
The website is hosted by Render Services, Inc., USA. Selected server location: Frankfurt, Germany.
Render processes the connection data needed to deliver and protect the service, particularly IP addresses and technical request data. Render acts as a processor for hosted content; for certain operational and security data used for its own purposes, Render describes itself as an independent controller. Processing on our behalf is governed by Render's Data Processing Addendum.
Logs available in the Render dashboard are retained for 7 days according to the documentation for the workspace plan specified here. This plan does not include HTTP request logs in the dashboard. This period is not a general deletion deadline for all of the provider's security or IP data. Render describes retention criteria including the time needed to operate its services securely and reliably. See the logging documentation and Render privacy policy.
Data may be processed in the USA even when the selected server is in Germany. Render's DPA provides for EU standard contractual clauses for applicable transfers, and Render states that it is certified under the EU–US Data Privacy Framework. The applicable safeguards and their wording can be accessed through the DPA. Render's listed subprocessors include AWS, Google Cloud, Cloudflare and ClickHouse; the current list is on Render's security page.
4. Cookies and browser storage
The browser stores data for the features you use. Storage access necessary for login, progress, chosen settings, browser levels and multiplayer connections is based on section 25(2)(2) of Germany's TDDDG. Where personal data is processed, this serves the requested feature (Article 6(1)(b) GDPR) or reliable operation (Article 6(1)(f) GDPR). Optional local-game usage reporting is separate and off by default.
| Storage / name | Purpose and contents | Retention / removal |
|---|---|---|
Cookie sh0_session | Login session after a successful sign-in; a random secret, not a password. HttpOnly and SameSite=Strict; also Secure when HTTPS is correctly configured. | Seven days, or until you sign out or delete the cookie. |
Local Storage: sh0-progress, sh0-recent-levels | Completed levels, personal progress and up to 30 recently selected levels. | Until you clear the website's data. |
sh0-sound, sh0-gamepad, sh0-second-gamepad, sh0-player-controls, sh0-mouse-sensitivity, sh0-split-layout, sh0-projection, sh0-prediction | Chosen sound, controller, view and multiplayer settings. | Until changed or the website's data is cleared. |
sh0-selected-pack, sh0-editor-*, sh0-draft | Selected pack, open browser level, filename and revision reference, and a recovery copy of the last edited landscape. | Until replaced or the website's data is cleared. A recovery copy may remain after a level entry is deleted. |
IndexedDB: sh0-library, stores packs and working | Local packs, imported and authored levels, unfinished browser work, revision references for synchronisation, and any folder links you explicitly permit. | Until removed in the application or the website's data is cleared. |
Local Storage: sh0-browser-id | A random identifier created for online play to recognise two game windows in the same browser and share input controls. It is sent to the game server and is not used for usage statistics. | In the browser until the website's data is cleared; on the server only in connection with the current connection / game room. |
Session Storage: sh0-room | Room code, player slot and secret reconnect token. | Until you leave online play or the browser tab's session ends; the browser's session-restore feature may preserve it. |
Local Storage: sh0-usage-consent | Your choice about optional local-game reporting and the version of that choice. | Until changed or the website's data is cleared. |
Older storage names are migrated when the game opens. Original entries are removed only after a successful copy; if browser storage is unavailable or full, they may remain until a later attempt.
Local Storage and IndexedDB are not sent with every request like cookies. Level contents leave your browser only through the online actions described here. Exported files and linked folders remain wherever you save them; clearing website data does not remove them. You can delete or block browser data in your browser's privacy/website settings. First export any levels you want to keep. Blocking storage may affect login, reconnection and keeping local work. Optional statistics are not required for the game's necessary features.
5. Accounts and login
When you create an account or an administrator creates one for you, we store the username, internal account ID, role/permissions, creation time, any disabled status, and a scrypt password hash derived with an individual salt. Your password is transmitted and checked during login but is not stored in plain text. For valid logins, we store a hash of the session token, the account ID and expiry time. The application does not require an email address or postal address for a game account.
Accounts enable editing and administration of online packs (Article 6(1)(b) GDPR); permission and security checks also protect the service (Article 6(1)(f) GDPR). Administrators can manage accounts. Pack owners and authorised editors see the user and revision information necessary for collaboration. For accounts created by an administrator, the information comes from that administrator; pack invitations come from the inviting pack owner.
Account data is retained while the account exists; disabling an account does not delete it. Login sessions are valid for seven days and are revoked on logout or account changes; expired server sessions are cleaned up at a subsequent login. To delete or correct an account, use the contact details above. The operator handles these requests; the application currently has no automatic account-deletion feature. Accounts cannot work without this data; playing without an account remains possible.
6. Browser levels, sharing and publication
Browser work is automatically stored on your device, even when an online pack is selected. “Share with editors” transfers the current complete level to the editing group. “Publish” or “Publish Update” makes the current browser level available to all visitors. Explicitly chosen pack uploads and synchronisation also store content online. This includes level files with freely entered titles, hints and metadata, pack membership, stable IDs, revisions, timestamps and attribution to the editing account.
Shared content is accessible to the relevant pack owner, invited editors and administrators. Published content can be retrieved and exported by anyone. Browser playtests do not require online sharing. “Unpublish” removes public availability and keeps the version available to editors. For online content, “Delete” is a restorable removal: content and earlier revisions may remain in revision history. Administrative actions and permission changes are also recorded with the account ID, time and affected object.
Processing enables the storage, collaboration and publication you request (Article 6(1)(b) GDPR). Revision and change records support recovery, conflict resolution and access protection (Article 6(1)(f) GDPR). They are retained while needed for these purposes; there is no automatic blanket deletion period for revisions. For final erasure of personal content, contact the operator and identify the relevant packs/levels. Requests also take account of history, account attribution and backups; necessary evidence may be retained with restricted use where a legal retention ground applies. Copies already downloaded by other people are outside our control.
Do not put personal information in level text unless it is intended for publication. You do not need to send levels to the server for purely local editing.
7. Online multiplayer
When you host or join, the server processes the room code, player slot, reconnect token, browser identifier, connection address, control inputs, game state and required levels. This supports and protects the requested online game (Article 6(1)(b) and (f) GDPR). Your playing partner receives levels, game state and the information needed for controls. SH0 does not send them your IP address or login password. There is no voice, video or text chat.
Hosting a local pack temporarily uploads the selected complete multiplayer levels. The upload is not stored as a public pack or a pack shared with editors. Unused uploads expire after two minutes and are cleaned up; levels in use remain as an in-memory copy for the game. After leaving the room, vacant player slots are normally reserved for 120 seconds for reconnection. Rooms without players or valid reservations and rooms inactive for 30 minutes are removed. A server restart ends this temporary storage. Your playing partner may keep transferred levels; we cannot enforce later deletion on their device.
8. Usage statistics
The server can form daily totals of games started and completed, active playing time and online player pairs, grouped by play mode. Stored statistics contain no IP addresses, accounts, level names, device identifiers or individual game histories and are retained for 400 days.
For local games, reports are sent only with your voluntary consent. They contain the play mode and cumulative counters. A random per-game token prevents duplicate reports; it remains only in memory and is not linked to an account, browser identifier or IP address. Server tokens expire after 30 minutes without a report or two minutes after a game ends and are removed by cleanup running every ten seconds. Reports are sent without a login cookie or referrer; the host still processes the connection data technically required.
These optional reports are based on Article 6(1)(a) GDPR and, where terminal-device access is involved, section 25(1) TDDDG. You may withdraw your consent here at any time for the future. Processing before withdrawal remains lawful. Anonymous totals already formed cannot be attributed to a person and therefore cannot be individually subtracted. Your consent does not affect your ability to play.
For online games, equivalent totals are formed from game activity already processed by the server to run the game, without additional statistics cookies or persistent player profiles. The purpose is to assess usage and operation; processing up to aggregation is based on Article 6(1)(f) GDPR. You may object to the operator on grounds relating to your particular situation.
Optional local-game statistics
Permission applies from your next game. Turning this off stops further reports, including for games already running. If you are under 16, enable this optional feature only with authorisation from your parent or guardian.
9. Contact and other recipients
When you email us in our role as SH0's operator, we process your sender address, message and any information you provide to handle your enquiry. The legal basis is Article 6(1)(b) GDPR for enquiries about agreed services; otherwise Article 6(1)(f) GDPR for communication and handling enquiries, and additionally Article 6(1)(c) GDPR for statutory privacy requests.
Contact enquiries are deleted once the matter has been resolved and the
correspondence is no longer needed for follow-up questions. Where individual
messages are necessary to meet statutory retention obligations or to establish,
exercise or defend legal claims, they are retained solely for those purposes
and only as long as necessary.
Recipients may include providers engaged for hosting, email and backups, and competent authorities where required by law. For published levels and online games, the recipients described above also apply.
No additional CDN or proxy services or external logging services are used
beyond the infrastructure employed by Render.
10. Backups and erasure
Permanently stored application data is kept on a persistent disk at Render.
To recover from data loss, Render's documentation says it creates a disk
snapshot every 24 hours and makes it available for at least seven days.
This is not a guaranteed maximum deletion period. Data already deleted
from the live system may remain in these backups until their retention
period ends. No backups are made outside Render.
Removing public availability, restorable deletion in the editor, disabling an account and final erasure of personal data are different actions. To exercise your privacy rights, use the contact details above. Where data remains necessary to meet legal obligations or to establish, exercise or defend legal claims, further use is restricted to that purpose.
11. Your rights
Subject to the legal conditions, you have rights of access, rectification, erasure, restriction of processing and data portability (Articles 15–20 GDPR). You may withdraw consent at any time with effect for the future.
Objection: Where we process data on the basis of legitimate interests, you may object on grounds relating to your particular situation (Article 21 GDPR). Contact us using the address above.
You may complain to a data protection supervisory authority, particularly where you usually live, work or where the alleged infringement occurred (Article 77 GDPR). The German Data Protection Conference provides a directory.
We do not use automated decision-making with legal or similarly significant effects, including profiling within the meaning of Article 22 GDPR. Providing the data is not required by law; the features that cannot work without the relevant data are described above.
Legal bases: GDPR · Section 25 TDDDG