Privacy statement
Last updated: 29 September 2026
This is a translation. The German version is the authoritative one - if the two differ, the text at /datenschutz applies. References to German law are kept in German, because they name specific provisions rather than concepts that translate: GDPR articles are cited as the regulation is known in Germany (DSGVO), and § 25 TDDDG is the German implementation of the ePrivacy rules on storing information on your device.
1. Controller
Johnna Golly, Golly Softwareentwicklung
Wentruper Weg 17, 48268 Greven, Germany
Telephone: +49 151 18695357
E-mail: info@golly-software.de
The full provider details are in the imprint. No data protection officer has been appointed; the legal requirements for appointing one are not met.
striduel itself carries out no automated decision-making in individual cases and no profiling. Where advertising is personalised, Google may process data to personalise those ads; see section 12.
2. The basics
striduel can be played without an account, without an e-mail address and without giving any personal data. Playing needs no sign-in, and nowhere is there a password, an age check or a connection to social networks.
There is an account only for those who create one: the creator account, which is used to submit Resonance Cave levels of your own (section 5, Creator account and Submitted levels). Playing and the level editor do not need it.
If you only play, you are not recognised again. A persistent identifier is created only when you explicitly ask for one (section 5). Without that step, the server cannot attribute a later visit to any player record. Settings and status information do stay in your browser, though - which ones is set out in section 3 under Local settings and status information.
When the pages load, with one exception no content is fetched from anyone else's servers - no external fonts, no maps, no social networks, no content delivery networks. The exception is Google's base advertising script (section 12), and it is not loaded everywhere:
- The game and the guide pages load it on every visit. Google thereby receives - as with any request to a server - your IP address.
- The imprint and this privacy statement do not load it. Opening either of those two pages sends no request to Google. Anyone who wants to read how their data is handled should be able to do so without a third party learning that they are doing it. The same applies to the page a shared challenge link opens.
Nothing is passed to any further third party.
Advertising: striduel embeds Google AdSense as its advertising service. Personalised advertising and access to your device's storage for advertising purposes only happen with your consent; details and legal basis in section 12.
Techniques for recognising you across devices - fingerprinting via screen, fonts, time zone or behaviour - are not used.
A shared server with WordSprig
striduel and the word game WordSprig come from the same operator and share a server and a database. The player rows of both products sit in the same table. The identifiers are still separate: browser storage is per domain, anyone who visits both sites is two different people there to begin with, and no feature carries an identifier from one domain to the other. What the shared database means is exactly this:
- Game records are not merged. Your striduel runs and your WordSprig matches are separate records; no cross-product profile is built.
- Self-chosen names share one namespace (section 7).
- The operator's figures count the player rows of both products together (section 6).
3. Visiting the website
Brief technical processing. In order to deliver a page to your browser, the server has to process your IP address for the duration of the connection. That is technically unavoidable. This processing ends when the page has been delivered.
- Purpose: transmitting the page you requested
- Legal basis: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: making the website technically available
- Storage period: only for the duration of the connection
- Recipient: Hetzner as a processor (section 13)
No access logs are written for striduel.com. The upstream server is configured for this domain so that opening a page leaves no line in a log file.
It is different for requests not addressed to striduel.com at all - to the bare IP address of the server, say, or to foreign host names, as automated scanners send. Those requests are logged so that attempted attacks can be spotted, but without the IP address and without the browser identification. Anyone who reaches striduel through its address is not affected by this.
Faults and runtime events - such as the renewal of encryption certificates or failed connection attempts - are stored by the upstream server in a shared log file with addresses removed. IP addresses, headers and browser identifiers are stripped before an entry is written.
- Purpose: detecting faults and keeping the service secure
- Content: the time and the kind of event; no IP addresses, no browser identifiers
- Legal basis: Art. 6(1)(f) GDPR (DSGVO), to the extent personal data is involved at all. Legitimate interest: a working and secure service
- Storage period: rotated files are deleted after seven days at most
- Recipient: Hetzner as a processor (section 13)
The application itself does not process your IP address. The upstream server does hand it over, but nothing in the application reads it, evaluates it or stores it.
Storing the program files on your device. So that striduel can be installed, and so that losing your connection does not leave you with a blank page, a service worker stores the website's program files in your browser's cache storage - the shell page, the stylesheet, the program code, the icons, and the help and legal pages, and, once you open them, the games' images and sound files.
Only files that are identical for every visitor are stored this way. No puzzle, no answer, no leaderboard and no identifier is stored through it; requests to the programming interface are explicitly excluded. What is stored says nothing about you, and it is never read back.
- Purpose: making the app installable, and keeping the pages readable without a connection
- Content: the website's unchanging program files only; no game data, no identifier
- Legal basis for storage on your device: § 25(2) no. 2 TDDDG - strictly necessary to provide the service you asked for, which is why there is no consent banner
- Storage period: until the next version of the application - updating discards the previous contents entirely - or until you clear your browser storage
- If you withhold it: without cache storage striduel cannot be installed and will not open without a connection
A stock of practice tasks for playing without a connection - only if you switch it on. In the settings you can have a stock of practice tasks stored on your device (the browser's IndexedDB storage), so that practice mode works without a connection. Until you use that switch, nothing is preloaded and nothing is stored.
- Contents: practice tasks without solutions. The stock holds no identifier, no answers and nothing that says anything about you - and what you practise without a connection never reaches the server.
- Legal basis for storage on the device: § 25(1) TDDDG - your consent, given through the switch. It is not tied to the identifier from section 5; someone playing anonymously can give it too
- Withdrawal: at any time, by switching it off - the stock is deleted immediately, not merely no longer used. “Forget this browser” removes it as well
- Storage period: until you switch it off or have the browser forgotten; used-up tasks are replaced while there is a connection
- If you withhold it: practice mode is not usable without a connection; everything else stays as it is
Local settings and status information
So that the page behaves next time the way you left it, striduel keeps a few small entries
in your device's browser storage (localStorage). They appear as you play and
as you change a setting, without your having to switch anything on. They are:
- Settings you made: how much the billiards aiming aid reveals, whether the games make any sound, and the sprint difficulty you last played, so that it is preselected next time. Most sounds are produced in the browser itself; the Resonance Cave plays short sound files, which are loaded from this server like its images and are the same for every visitor. Nothing is sent to another server.
- Whether the introduction has already been offered to you. A single marker, so that the question "Get to know the three puzzles first?" does not come back on every visit.
- References to runs you last started - one each for sprint, endless, rush, practice and duel. Through them the page finds its way back into a running game after a reload.
- Your progress in Resonance Cave: which levels you have finished, the best number of moves per level and the moves of the level you are currently playing; for a solved community level its public id, the version and your best number of moves. The game runs entirely in your browser; the server learns nothing of it. The entry lives where the references to runs live (next paragraph).
- Your drafts in the Resonance Cave level editor: for each draft the grid of the cave, the level's title and id, its size and the time of the last change. The editor creates a draft as soon as you change something in it, create a new draft or import a level definition - merely looking saves nothing, and a test play saves only once you solve it. If you solve a draft in test mode, the editor remembers the moves you solved it with and a check value of the version you solved; without both a level cannot be submitted. If you submit, the id of the submission is added. The drafts live in this device's persistent browser storage, even if you have not turned progress saving on, because keeping them is exactly what you create them for. They stay on this device: building, testing and saving upload nothing, and the server learns nothing of them. A level is transferred only when you explicitly submit it (section 5, Submitted levels). The drafts disappear when you delete a draft in the editor, make the browser forget (settings) or clear the browser storage.
None of these entries is an identifier. They contain nothing about you as a person, they are used neither for advertising nor for analysis, and they do not leave your device.
The references to runs live wherever your identifier lives. If you play without turning saving on, they sit in session storage and expire with the browser tab - just like the identifier that alone could redeem them (section 4). Only when you turn saving on do they move, together with the identifier, into persistent browser storage.
- Purpose: continuing the page in the state in which you left it
- Legal basis for storage on the device: § 25(2) no. 2 TDDDG - necessary to provide the service you asked for in the way you set it up and started it, which is why there is no consent banner
- Storage period: until you change them, use "Forget this browser" in the settings, or clear your browser storage
- Control: "Forget this browser" removes all the entries named here at once, together with the identifier - nothing is left behind
- Consequences of not providing it: Without browser storage everything is still playable; the page simply forgets your settings and no longer finds its way back into a started run after a reload
4. The session key while a game is running
So that a run you have started survives a page change or a reload, the application puts a
random identifier in your browser's session storage
(sessionStorage). The server uses it to match your answers to the game
currently being played.
This identifier expires as soon as you close the browser tab. It does not recognise you on a later visit, and it is used for nothing else - not for analysis, not for advertising, and not as the basis for any further identifier.
- Purpose: matching your input to the game currently being played
- Legal basis for storing it on your device: § 25(2) no. 2 TDDDG - strictly necessary for a game you have started to be continued, which is why there is no consent banner
- Legal basis for the processing: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: providing the game without an account
- Storage period: until the end of the browser session; the corresponding data on the server is deleted at the latest 24 hours after the last activity
- If you do not provide it: without session storage, a run cannot be continued after a reload
Playing sets no cookie from striduel. striduel itself sets cookies only when you sign in to a creator account, and therefore only if you do so (section 5, Creator account). For advertising purposes, Google sets cookies or comparable storage techniques only after your consent. The consent management itself may store technically necessary information in order to run the dialogue and record your decision (section 25(2) TDDDG). Details and legal basis in section 12.
5. A persistent identifier - only if you want one
If you would like your best times, streak and progress to be kept beyond the session, you
can switch that on explicitly (“save progress”). Only then is a randomly
generated identifier stored persistently in your browser
(localStorage).
Merely opening the site or playing does not set it. Before you switch it on, you are told what it is for.
The identifier is pseudonymous: it contains no information about you as a person, but it points to your stored runs and therefore remains personal data.
It is used for this purpose only - not for evaluating how difficult the puzzles are (section 8), not for advertising, and it appears in no web address.
Twelve months without activity, and the record is deleted. While the identifier is stored, the server notes the day of your last visit with it - the day only, no time. If there is no activity for twelve months, the record is deleted together with the name, streak, best times and every run and duel entry, without you having to do anything. Activity means any request carrying the identifier, any run started or finished, any game against the computer, and for duels the creation, the acceptance, every move and the end - in both games by the same operator (section 15), should the same identifier play there. A record that is active in either game is not deleted for silence in the other.
- Purpose: recognising this browser again, for progress, best times and the streak; the day of the last visit solely for the period above
- Legal basis for storing it on your device: § 25(2) no. 2 TDDDG - the storage is necessary in order to provide precisely the function you have explicitly asked for
- Legal basis for the processing: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: providing the requested function without an account and without collecting any further data
- Storage period: until you switch the function off or clear your browser storage - on the server at most twelve months after the last activity
- Control: you can switch the function off at any time in the settings. Doing so deletes the identifier in your browser and the corresponding data on the server
- If you do not provide it: every game remains fully playable; the streak, best times, a leaderboard place and duels are then not available
Creator account - only if you create one
If you would like to submit a Resonance Cave level of your own, you need a creator account. It is voluntary; playing and the level editor work without it. This section describes the account and signing in; what is stored when you submit is described in the next one (Submitted levels).
Why I need this data: If you want to submit a level, you need a creator account. For it I process your e-mail address, your creator name and sign-in and session data. Submitted levels are linked to your creator account. I need this data to provide your account, to find and manage your submissions, to attach the review and publication status to them, and to be able to contact you about matters concerning your submissions or a level contest. In detail:
- E-mail address: for signing in; so that your submissions are linked to the right account and you find them again after every sign-in; and for necessary messages about your submissions, their review and publication, and a level contest. Only the sign-in e-mail and, if you win, the winner e-mail with at most one reminder are sent automatically; I write a question about a submission myself only in individual cases.
- Creator name: so that your own submissions are attributed to you, and for naming you publicly on published community levels and on a winning level.
- Sign-in and session data (described below): for secure sign-in and managing your session.
- Submitted levels are linked to your account so that their status, review, publication and contest participation can be managed (Submitted levels).
- Shipping details only if you win: separate from the creator account, only for handling the prize, deleted 30 days after shipping (Submitted levels, “Prize and shipping”).
The account is separate from playing. It is not linked to the identifier from this section, not to the session key (section 4) and not to your game progress. Signing in changes nothing about your progress.
The account stores:
- your e-mail address, in lower case
- the creator name you choose after signing in for the first time. It appears publicly under your published levels (Submitted levels); your e-mail address is not published
- the time the account was created
- the day of your last sign-in - to the day, without a time
Signing in without a password: you enter your e-mail address and receive an e-mail with a link and a six-digit code. For this sign-in request the server stores the address, the language of the e-mail, the times and the number of wrong codes. It does not store the link and the code themselves, only check values (hashes) of them. Both are valid for 15 minutes and work once. The request is deleted 24 hours after it was made.
The link and the code only work in the browser in which you started signing in. You can read the e-mail itself on another device.
Two cookies are set by striduel for this, and only when signing in:
-
a sign-in cookie (
striduel_creator_login) that marks the browser in which the sign-in was started. It expires after 15 minutes and is deleted when you are signed in -
a session cookie (
striduel_creator) that keeps you signed in in this browser: 30 days from the last use, 90 days from signing in at most. Signing out deletes it, and the session ends on the server as well
Both cookies contain a random string and nothing else. They are sent only to the addresses of the creator sign-in, not while playing, and cannot be read by scripts in the browser. Of the session, the server holds a check value of the string, together with the time of signing in and of the last use.
Protection against abuse: so that nobody can fill someone else's mailbox with sign-in e-mails or try out codes, the number of times a sign-in can be requested and confirmed is limited - per IP address and per e-mail address. Counting happens exclusively in the working memory of the server and under a check value rather than the address itself. The count reaches back 24 hours at most, is held in no database and no log, and is forgotten when the server restarts.
The sign-in page does not load the base advertising script (section 12), nor anything else from third-party servers. The session key from section 4 is created there as on every call of the game; the account is not linked to it.
- Purpose: providing the creator account - sign-in and session, linking, finding and managing your submissions, naming your creator name publicly on published levels, and necessary messages about your submissions and a level contest; the IP address solely for protection against abuse. In addition, aggregate figures about the accounts - for example how many there are, how many have chosen a creator name and how many submissions each account has - which I read on the access-protected page described in section 6. They are sums with no reference to any individual; neither address nor name goes into them
- Legal basis for storing it on your device: § 25(2) no. 2 TDDDG - the two cookies are necessary in order to provide precisely the sign-in you have explicitly asked for
- Legal basis for the processing: Art. 6(1)(b) GDPR (DSGVO) - the account is created and kept at your request; for the protection against abuse and the aggregate figures Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: protecting other people's mailboxes and the sign-in from mass requests; for the aggregate figures: knowing whether and how creator accounts are used
- Recipients: Hetzner as a processor; for sending the sign-in e-mail IONOS SE (both section 13)
- Storage period: until you delete the account. An account with which nothing was submitted is also deleted automatically, at most twelve months after the last sign-in. An account with at least one submission is not deleted automatically. The other periods are listed in section 11
- Control: on the sign-in page you can sign out and delete the account. Deleting removes the address, the name, every session and every sign-in request; the name is free again afterwards. What happens to submitted levels and to shipping details you have already entered for a prize is described in the next section
- If you do not provide it: without a creator account every game and the level editor remain fully usable; only submitting levels of your own requires it
Submitted levels - only if you submit one
In the Resonance Cave level editor you can submit a level that you have solved yourself. This happens only when you tap “Submit level” there, and only while signed in to a creator account. Before that the editor transfers nothing about your level. When it opens, it only asks for the public status of the level contest; like every request of the game, this carries the session key (section 4), and nothing is stored for it.
Stored for each submission:
- the title you gave the level
- the content of the level: the grid of the cave, its size and the rules version it is played under
- the moves you solved the level with. The server replays them itself and accepts the submission only if they solve the level
- the link to your creator account
- the time of the submission
- the review status - waiting for review, accepted, declined or withdrawn - and the time it last changed
- a random request id that your browser creates, and a check value of the level. Both only prevent a double tap from creating two submissions
Not transferred are the other drafts on your device and the id of a draft. The session key (section 4) or, if you have one, the identifier from this section travels along as with every request of the game; it is neither stored with the submission nor linked to it. A submission is not linked to your game progress.
A submission is not public. Only a level I have accepted becomes public (next paragraphs). You see your submissions on the page of the creator account, with title, date and status; others do not see them there. I see them in order to review them. The title is free text: do not write anything into it that you do not want to share.
When reviewing, I can store an internal note with it - for a declined submission, the reason. The note is about the level, not about you as a person. It is not public and is not shown in the creator account; there you see the status. On request you are told what has been noted about your submissions (section 15).
Accepted means published. Before I accept a submission, I replay your moves once more; the level then appears publicly among the community levels of Resonance Cave, under a random public id. Anyone can see and play it there without signing in: title, grid, size, rules version, the date of publication and your creator name. Not published are your e-mail address, the moves of your solution, the link to the account, the id of the submission and the internal note. The published level is a copy of the accepted version and is never overwritten. On the page of the creator account the submission then shows “Published” and a link to the level.
A published level stays public until I take it down or you delete your creator account. Once taken down, it no longer appears in the list and can no longer be opened; the published version stays stored internally.
Level contest. If you submit during the submission phase of a level contest, the submission takes part in it. For this, I store which contest it takes part in, since when, the link to the creator account and whether the entry still counts. A contest level is reviewed and published like any other. I choose the winner myself after the deadline; there is no voting, no points and no ranking. Once announced, the winning level is shown on the start page with its title and your creator name, highlighted large for 14 days; afterwards it stays marked as “Contest winner” in the community for as long as it is published, and your submission in the creator account shows “Winner”. If you withdraw the submission or delete your account, the entry no longer counts and loses its link to the account; a winning level is then no longer shown. By taking part you accept the terms of the contest; the version of the terms, the time and the language in which they were shown are stored with the entry.
Prize and shipping. If your level wins, I notify you once by e-mail at the address of your creator account after the public announcement. The e-mail contains a personal link; only a check value of it is stored. You have 14 days from the sending of that e-mail to enter the shipping details; the link is valid for that long. If no shipping details have arrived after 7 days, you receive one reminder e-mail with a further personal link, of which again only a check value is stored. Through the link you enter your name, street and number, postcode, town and country for shipping the tote bag. These shipping details are collected only after the win and separately from the creator account; they are not stored in your profile, not published and used only for shipping. I never ask for your address by e-mail reply. I also store when the e-mail was sent, whether and when the reminder was sent, when the shipping details arrived and when the prize was shipped. 30 days after shipping the shipping details are deleted automatically; the note that and when the prize was shipped stays, without an address. If you delete your creator account after entering the shipping details, they remain stored separately from the account, solely for completing the shipment, and are likewise deleted 30 days after shipping. For delivery, the shipping company I use receives your name and address.
A submission does not change any more. You can withdraw a pending submission on the page of the creator account. It then counts as withdrawn and cannot be reopened; its content stays stored.
If you delete the creator account, pending submissions are withdrawn, and the link to the account and the request id are removed from all your submissions. Title, content, moves, times, status and a review note stay stored, without any link to your e-mail address or your creator name. Published levels are taken down at the same time: they leave the list, can no longer be opened, and your creator name no longer appears on any level. The published version stays stored internally, without any link to you.
Protection against abuse: how often an account can submit within a short time is limited. The count is kept per account, solely in the server's working memory and under a check value, reaching back 24 hours at most.
- Purpose: receiving, reviewing and publishing the levels you submit, running the level contest, and notifying the winner and shipping the prize - and aggregate figures about them, for example how many submissions are pending, how long the review takes, how many levels are published and how far the shipping of a prize has got. I read these too only on the access-protected page described in section 6; titles, levels and shipping details do not go into them
- Legal basis for the processing: Art. 6(1)(b) GDPR (DSGVO) - the submission is made at your request; for the protection against abuse and the aggregate figures Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: protecting the service from mass submissions; for the aggregate figures: running the review and the contest reliably
- Recipients: Hetzner as a processor; for the winner e-mail IONOS SE; for delivering the prize the shipping company I use (section 13)
- Storage period: there is currently no period after which a submission is deleted automatically. You can ask at any time for a submission to be deleted (section 15)
- Control: on the page of the creator account you see your submissions and can withdraw a pending one
- If you do not provide it: without a submission every game and the level editor remain fully usable
6. Game data
For a run, the following is stored: the puzzles played, your answers, solving times, wrong attempts, skipped puzzles, hints taken and the times at which all of this happened. If the identifier is switched on (section 5), the streak, best times, the time of your last run and the day of your last visit are added.
Tactu against another person over an invitation link is different: those games are stored in the database, because they run over several days. What is stored is set out in section 10.
In the local Tactu prototype - two people on the same device, or against the computer - only the initial configuration (who opens; one game or home and away; a person or the computer as opponent) and the sequence of moves of each game are held in the server's working memory. The computer opponent works from that same sequence of moves on the server and stores nothing of its own. There is no account, leaderboard or durable storage. The state is associated with the key from section 4 that your browser sends with the request - the session key, or the durable key if you save your progress - and is deleted no later than 24 hours after the last access; a server restart deletes it sooner, starting a new game replaces it, and deleting your data (section 4) removes it at once. So that you find the game again after a reload, your browser keeps its number in the same place as the other run numbers (section 3).
For a board game against the computer (Ringbreak), what is stored instead is the sequence of moves: both sides' moves in order, the strength the computer was set to, and how the game ended. The game can be replayed from it. In a game against the computer there is no opponent and no other person's data is involved; for matches against a person, section 10 applies.
For billiards the list of shots is stored: the angle and the strength of each shot, the thinking time measured on the server, and - where a pocket was called - the number of that pocket. The game's random value is added; it fixes the arrangement of the balls and, in a duel, the draw for the break. From these the game can be recomputed in full; the positions of the balls themselves are not stored but calculated afresh each time.
For Reflix - also against the computer - two things are added to the moves, the strength and the outcome. First, the layout of both fortresses: where you placed your target, walls, shields and fixed mirrors, and the same for the computer. Second, the thinking time per move - how many seconds passed between a move being released to you and your confirming it. It is recorded because it decides the winner when everything else is equal, and it is measured on the server rather than reported by your device.
For billiards solo - against nobody, you clear the table - the game is stored as a shot list: the starting arrangement of the balls (as a random value it can be computed from), the angle and strength of each shot, and the thinking time per shot - measured on the server, minus the time the balls were rolling while you watched. The score is the number of shots; thinking time breaks ties.
This data contains no information about you as a person. Through the identifier it is linked to a browser, and it is therefore pseudonymous.
- Purpose: running and scoring the game, best times, streak, leaderboards - and aggregate figures about what is being played: for example how many runs are started and finished per day, or how many players play on more than one day. These figures are sums with no reference to any individual; I read them on an access-protected page that only I can open. The head counts in them - how many player rows exist, how many are new and how many have a persistent identifier - include WordSprig's rows, because both products use the same table (section 2). They are sums, not profiles.
- Legal basis: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: providing the game you asked for; for the aggregate figures: knowing whether and how the service is used
- Storage period: see section 11
7. Display name and leaderboards
Display name. Your name is generated automatically and consists of two words from fixed lists and a number, for example “BronzeKranich638”. You can change it, but only using the same fixed lists - you cannot type free text. That rules out a name containing information about you as a person, or anything offensive.
A self-chosen name is unique across the server. It is reserved for you across striduel and WordSprig, because both use the same server (section 2). Anyone who wants the same name learns through the interface only that it is taken, not where or by whom. A generated name reserves nothing; it may occur twice.
Names you changed before reservation existed. If your display name differs from the one generated from your identifier, you chose it yourself; the server then reserves it for you at its next update. Nobody is renamed in the process. If two players chose the same name, the older record gets it; the younger player keeps their display name unchanged and only finds the name taken when they try to reserve one.
The leaderboard is a separate decision. Your times appear publicly only if you switch that on separately. The default is off. Saving your progress does not mean appearing in public.
If the leaderboard is switched on, other players see your display name and your time for the day in question. Nothing beyond that - no identifier, no history, no time of your last visit.
- Purpose: comparing one day's results
- Legal basis: Art. 6(1)(a) GDPR (DSGVO) - your consent
- Withdrawal: at any time in the settings, with effect for the future
- Storage period: see section 11
8. Measuring how difficult the puzzles are
In order to judge how difficult a puzzle actually is, the following is recorded for each finished puzzle: the kind and level of the puzzle, how long it took, wrong attempts, whether it was skipped, whether a hint was used, along with the time until the board was first touched and the number of touches. Those last two values are stored rounded into bands, not to the millisecond and not to the individual tap.
These measurements are pseudonymous, not anonymous. They carry no identifier of their own - not your device identifier, not a name, not a reference to your player record. What is stored is the characteristics of the puzzle, two factual entries - whether the introduction had already been completed at that point, and whether it was the first sprint - and the number of the run the puzzle belonged to.
The run number is a random value and not a key. It says only which measurement rows belong to the same run - it appears in no other table and leads to none. Your identifier, your name and your runs cannot be reached through it.
While a run is in progress it knows its number - it has to, in order to file further measurement rows under the same group. During that time the connection would be technically possible. Once the run is over it throws the number away, at most five minutes later; for a duel, after the duel ends, which can take up to 48 hours. After that nobody can attribute the number to a person any more - me included.
What remains is the grouping without the person. The measurement rows keep their number, and that several of them belong together stays visible. Whose they are does not.
The number of the individual puzzle is thrown away too. Until 4 September 2026 the number of the last puzzle played in an endless or practice run stayed on the run, and for a duel the numbers of the individual rounds sat there for as long as the round detail was kept. Both now go with the run number, at most five minutes after the end.
Why it still says pseudonymous and not anonymous. A measurement row records when the puzzle was served and when it ended. For the daily puzzle those same moments sit on the stored puzzles of your run; in the other modes they fall between the start and the end of the run. Anyone with access to the database could therefore attribute a measurement row to a run by its timing - with no shared number at all.
That is not a remainder for another cleanup pass to sweep up; it follows from both sides describing the same event. Closing it would mean storing the moments more coarsely, which is possible and is not decided. Until then the measurement series is pseudonymous and not anonymous - as a statement about what would be possible, not about what happens.
- Purpose: calibrating how difficult the puzzles are
- Legal basis: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: puzzles that are neither too easy nor too hard
- Storage period: the measurement rows are kept indefinitely; the numbers that would attribute them to you end with the run (see above)
9. Challenge links
After a run you can create a link and pass it on. Whoever opens it sees your display name and your time, and can play the same run.
The link contains a randomly generated key. It cannot be derived from your identifier and does not contain it. The page is closed to search engines.
Please bear in mind: anyone who knows the link sees the display name and the time. You decide who you pass it on to.
Four steps are recorded for every shared link: that it was created, that somebody opened it, that a run was started from it, and that this run was played to the end. For each step the following is stored: which of the four it is, which run it refers to, whether it was a sprint or an endless run, when it happened - and, except for opening, whose identifier acted.
On its own no single step says anything. Only the chain answers the question it is collected for: whether sharing results actually brings new players - how many of the links created get opened, how many openings lead to a run, and how many runs are played to the end.
Nobody is recorded when a link is opened. The landing page is public and needs no identifier; whoever clicks a stranger's link leaves behind only that it was opened and which run it belongs to. For the other three steps an identifier is stored - your own when the link is created, and that of the person who redeemed it when a run is started and finished.
- Purpose: telling whether sharing results brings new players
- Legal basis: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: being able to judge whether a function on offer serves its purpose
- Storage period: 90 days from the moment of the step. Sooner, if the rest of your data ends sooner: without a persistent identifier at most 24 hours after your last activity, with one the moment you turn it off or ask for deletion - including those for opened links, even though they carry no identifier: they belong to your run and are found through it.
10. Duels
In a duel, two people solve the same puzzles and compare their times. A duel comes about only through an invitation link, and only once the person invited explicitly accepts it.
This stores a connection between two identifiers. What is stored: the two identifiers, the two display names, the kind and level of the puzzles, the results of the rounds and the times at which they happened.
The other person sees only your display name and the results of this duel. No identifier, no other duels, no time of your last visit. There is no way to exchange messages, and no way to search for other players.
Duel results appear on no public leaderboard.
A duel requires the persistent identifier from section 5, because a duel runs over several days. You are told this before you accept.
- Purpose: running the duel and showing the result
- Legal basis: Art. 6(1)(f) GDPR (DSGVO). Legitimate interest: providing the function both participants asked for
-
Storage period:
- an invitation that is not accepted is deleted after 7 days
- the details of the rounds - times per round, answers - are deleted 30 days after the duel ends
- what remains is one row with both display names, the result and the date
- if one of the two people deletes their data, their name is replaced by a placeholder; if both do, the row disappears entirely
Ringbreak matches against a person. The board game too can be played against another person over an invitation link: a match of two games, with 48 hours per move. What is stored is the same as for a duel - the two identifiers, the two display names, the timestamps - and, instead of round results, the move lists of both games and the outcome.
The move lists are deleted 30 days after the match ends - not 30 days after it begins: at 48 hours per move a match can run for several weeks, and while it is being played, storing it is necessary to run it. What remains here too is one row with both display names, the outcome and the date; the invitation, the placeholder on deletion and the other rules apply as above.
Billiards against a person. Billiards too can be played against another person over an invitation link. The same details are stored as for a duel - the two identifiers, the two display names, the times - and instead of round results the list of shots from both sides, the game's random value and the outcome. Thinking time is measured from the moment it is your turn: while your opponent's shot is still being played out on your screen, your clock is not running.
Retention works as it does for a Ringbreak match: the list of shots is deleted 30 days after the game ends, not 30 days after it begins. What remains is one row with both display names, the outcome and the date.
Tactu against a person. The running game too can be played against another person over an invitation link: two games, in which each side opens exactly once, with 48 hours of thinking time per move. The same details are stored as for a duel - the two identifiers, the two display names, the times - and instead of round results the sequences of moves of both games and their outcome.
Retention works as it does for a Ringbreak match: the sequences of moves are deleted 30 days after the duel ends, not 30 days after it begins. What remains is one row with both display names, the outcome and the date; the invitation, the placeholder on deletion and the other rules apply as above.
Watching Ringbreak matches, billiards and Tactu duels. These three games are played live. Anyone who opens the invitation link after it has been accepted watches the game - and sees exactly what the two players see, no more: both display names, the board or the table, the moves and shots, and the running move clock. What is hidden from the players (the result of the first Ringbreak game until the match ends) stays hidden from spectators too. They cannot take part.
Watching needs no identifier, and none is created: no record is made on the server for a spectator. The session key from section 4 is sent as with every request, but it is not stored. The players can see how many people are watching - only the number, no names, no identifiers; that number is not stored either.
Passing the link on invites people to watch. The link works as a spectator link for as long as the details of the game are stored (30 days after it ends, section 11); after that it leads nowhere. If one of the two people deletes their data, the link stops working immediately.
11. Storage periods and deletion
| What | Period |
|---|---|
| Data without the identifier switched on | at the latest 24 hours after the last activity |
| Data with the identifier switched on | until you switch the function off or ask for deletion - at most twelve months after the last activity (section 5); the record is then deleted together with the name, the progress and the duel entries |
| Creator account: e-mail address and creator name (section 5) | until you delete the account; without a submission at most twelve months after the last sign-in |
| Submitted levels: title, content, moves, times, status and the internal review note (section 5) | currently without a period; the link to the creator account until you delete the account |
| Published levels: title, grid, size, rules version, times and the link to the creator account (section 5) | public until I take the level down or you delete the account; the version itself currently without a period, the link to the account until you delete it |
| Entries in the level contest and the choice of the winner (section 5) | currently without a period; the link to the creator account until you delete the account |
| Shipping details for a contest prize: name and address (section 5) | deleted automatically 30 days after shipping - even if you delete the creator account first, they remain stored until then, solely for the shipment |
| A sign-in request for a creator account (section 5) | the link and the code are valid for 15 minutes; the request is deleted 24 hours after it was made |
| A session of a creator account (section 5) | 30 days after the last use, 90 days after signing in at most - immediately when you sign out or delete the account |
| The count that protects the creator sign-in and submitting against abuse (working memory of the server, section 5) | 24 hours at most - earlier on a server restart; never in the database |
| A duel invitation that was not accepted (puzzle, Ringbreak, billiards, Tactu) | 7 days |
| The details of a finished duel | 30 days |
| The move lists of a Ringbreak match | 30 days after the match ends - a running match stays stored in full for as long as it is being played |
| The list of shots of a billiards game against a person | 30 days after the game ends - a running game stays stored in full for as long as it is being played |
| The move sequences of a Tactu duel against a person | 30 days after the duel ends - a running duel stays stored in full for as long as it is being played |
| The invitation link of a Ringbreak match, billiards or Tactu duel after acceptance (spectator link, section 10) | until the details are deleted - 30 days after the end; immediately if one of the two people deletes their data |
| Move sequence of a local Tactu game (two people on the device, or against the computer), both games in home-and-away play (server working memory, section 6) | 24 hours after the last access - sooner on a new game, when you delete your data, or on a server restart; never in the database |
| The stock of practice tasks (on your device, section 3) | until you switch it off or have the browser forgotten |
| The e-mail address given with feedback (section 14) | once the feedback has been answered, automatically after 90 days at the latest - the text then remains without the address |
| Difficulty measurements (section 8) | indefinite - the numbers that would attribute them to you end with the run, at most five minutes after it finishes (for a duel, after the duel ends). Attribution by timing stays possible, see section 8 |
| Steps of a challenge (section 9) | 90 days - sooner if the rest of your data ends sooner (the two rows at the top) |
| Summary of a finished duel or match (puzzle, Ringbreak, billiards, Tactu - section 10) | no period - two display names, the outcome and the date remain after the detail is deleted. If you delete your data, your name in it is replaced by a placeholder; the row itself only goes once the other side has deleted too |
| Text of a piece of feedback (section 14) | 24 months from receipt - without the address after 90 days, deleted entirely after that |
| Backups of the database | 7 days on the server, 30 days on separate backup storage (see below the table) |
| Session key (on your device, section 4) | until you close the browser tab |
| Local settings and status information (on your device, section 3) | until you change them, have the browser forgotten, or clear your browser storage |
| Drafts in the Resonance Cave level editor (on your device, section 3) | until you delete the draft, have the browser forgotten, or clear your browser storage - including the moves of a solved test play |
| Program files in the cache storage (on your device, section 3) | until the next version of the application, or until you clear your browser storage |
| Cookies of the creator sign-in (on your device, section 5) | sign-in cookie 15 minutes; session cookie 30 days from the last use, 90 days at most - both only if you sign in to a creator account |
| Google AdSense cookies (on your device, section 12) | only after your consent; the periods for these are set by Google, not by me |
| Logs of the upstream server | 7 days at most |
You can delete your data yourself at any time - in the settings, in one step. This removes the identifier in your browser and the corresponding data on the server. A creator account is deleted on the sign-in page of the account; it is separate from your game progress, and deleting one does not touch the other. Submitted levels lose their link to you when you do; their content stays (section 5).
Backups: deleted data does not disappear from technical backups immediately. Backups of the database are made several times a day: once overnight and additionally before every change to the database schema - in practice between two and eleven a day. They are held for seven days on the server itself and for 30 days on separate backup storage; only after that is a deleted entry gone from there as well. The same applies when you ask for deletion yourself.
12. Advertising
striduel embeds Google AdSense as its advertising service. The provider is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland (section 13).
The AdSense base script (adsbygoogle.js) is fetched from the server pagead2.googlesyndication.com on every page view; Google thereby receives your IP address, the usual technical details of a request (browser, time, requested address), and as its referrer only the address of the website (https://striduel.com) - not the page you are on. This is technically necessary because that script is what delivers the consent dialog - a dialog that would only load after consent could never appear.
The legal basis for this technical embedding is Art. 6(1)(f) GDPR - the legitimate interest in an ad-funded service including the consent management it requires. Personalised advertising, cookies and comparable access to your device's storage for advertising purposes only happen with your consent through that dialog. The game remains fully playable either way.
You can withdraw consent you have given at any time, with effect for the future. You can reopen the dialog at any time via “Ad settings” in the game's footer and change your decision there. The link appears once Google's consent management has loaded; it is therefore not shown on the imprint and this privacy statement, which do not load the base script.
Further information from Google: the Google privacy policy and the description of how Google uses information from sites or apps that use its services.
13. Recipients of your data
The application runs on a server operated by Hetzner Online GmbH, Industriestraße 25, 91710 Gunzenhausen, in a data centre in Germany. Hetzner processes the data solely on instructions, as a processor, on the basis of a contract under Art. 28 GDPR (DSGVO).
The backups of the database are also held at Hetzner, in a second data centre in Germany, and are covered by the same contract.
My e-mail mailbox is operated by IONOS SE, Elgendorfer Str. 57, 56410 Montabaur, as a processor on the basis of a contract under Art. 28 GDPR (DSGVO).
Both providers may engage further processors; those are contractually bound to the same level of protection. With these two providers, processing takes place exclusively within the European Economic Area.
The sign-in e-mail of a creator account (section 5) is sent through the outgoing mail server of IONOS SE, using the mailbox named above. IONOS receives your e-mail address and the content of that e-mail, that is the link and the code.
The winner e-mail of the level contest (section 5) goes out the same way; IONOS receives your e-mail address and the content of that e-mail, including the personal link. For delivering the prize, the shipping company I use receives your name and address.
For the base advertising script (section 12), Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland, is the recipient of the data arising from the request (IP address, technical request details). A transfer to Google LLC in the USA may occur; Google is certified under the EU-US Data Privacy Framework.
In Ringbreak matches and in billiards and Tactu duels, people to whom one of the two sides has passed the invitation link also see the details of that one game named in section 10 - display names, the course of the game and the move clock.
Beyond this, your data is not passed on.
14. Feedback and getting in touch
The feedback form in the app: there you can report a bug, suggest an improvement or submit a game idea. What is stored: the chosen category, your text, the time, the language of the interface and the version identifier of the running software - the latter so a bug report can be matched to the software it describes. The feedback is not linked to the identifier from section 5 and not to your game data.
Giving an e-mail address is optional and serves follow-up questions and a reply alone; sending works without it. The address is not verified. It is removed once your message has been answered, and automatically after 90 days at the latest - the text then remains without the address.
- Purpose: improving the product; where an address is given, follow-up questions and a reply
- Legal basis: Art. 6(1)(f) GDPR (DSGVO), legitimate interest in improving the product; for the e-mail address Art. 6(1)(a) GDPR (DSGVO), consent given by providing it voluntarily, revocable by an informal message
- Recipient: Hetzner as processor (section 13)
- Storage period: see section 11
Contact by e-mail or telephone: if you get in touch this way, I process what you provide in doing so: your name, your contact details and the content of your message.
- Purpose: handling and answering your enquiry
- Legal basis: Art. 6(1)(f) GDPR (DSGVO), legitimate interest in answering enquiries; where retention obligations apply, Art. 6(1)(c) GDPR (DSGVO)
- Recipient: IONOS SE (section 13)
- Storage period: until the enquiry has been dealt with; beyond that only where statutory retention obligations require it
15. Your rights
You have the right of access (Art. 15 GDPR/DSGVO), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18) and data portability (Art. 20, where the legal requirements are met). An informal message to info@golly-software.de is enough.
Access from within the browser: in the settings, “Show my data” lists everything the server holds for the identifier in your browser - display name, settings, runs, games and duel entries - and offers it as a file to download. No e-mail is needed, and the identifier does not leave your browser for it: it appears in no address and not in the file. Deletion is likewise done yourself in the settings - there it takes effect immediately and without any proof of identity.
Creator account: what is stored there is listed in section 5 - e-mail address, creator name, the time of creation and the day of the last sign-in, and your submitted levels. The sign-in page shows you the name, the account and your submissions and deletes the account immediately if you wish. For access, rectification or the deletion of a submission by e-mail, write from the address of the account; there it is the proof that the account is yours.
The access shows what is attached to this identifier. Normally that is striduel alone, because your identifier at WordSprig is a different one (section 2). Should a browser nevertheless have played there with the same identifier, those matches appear in the access too, and the period from section 5 counts the activity of both games.
E-mail only as a fallback: since striduel does not know who you are, I can otherwise match your data only through the display name and the period in which you played. Tell me both; do not send the identifier - I never ask for it, and an identifier in an e-mail would be a credential nobody should need.
If you lose access to the browser - a new device, cleared site data, another browser - nobody can attribute the record to your device any more, myself included. It then remains for at most twelve months after the last activity and is deleted by itself afterwards (section 5). I arrange an earlier deletion when the display name and the period identify the record unambiguously.
You can withdraw any consent you have given at any time with effect for the future (Art. 7(3) GDPR/DSGVO). The lawfulness of the processing carried out up to the withdrawal is unaffected. Here this concerns the stock of practice puzzles for playing offline (section 3), the leaderboard (section 7), the voluntary e-mail address in a piece of feedback (section 14) and your consent to advertising (section 12) - in each case where you gave it.
16. Right to object
You have the right to object at any time, on grounds relating to your particular situation, to processing of personal data concerning you which is based on Art. 6(1)(f) GDPR (DSGVO) (Art. 21 GDPR/DSGVO). Here this concerns sections 3, 4, 5, 6, 8, 9, 10, 12 and 14.
An informal message to info@golly-software.de is enough.
17. Right to lodge a complaint
You can lodge a complaint with a data protection supervisory authority. The competent one is the State Commissioner for Data Protection and Freedom of Information of North Rhine-Westphalia:
Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen
Postfach 20 04 44, 40102 Düsseldorf, Germany
Telephone: +49 211 38424-0
18. Changes
This statement is adjusted when the processing changes. The version available on this page is the one that applies.
Last updated: 29 September 2026