Last updated 18 September 2026
Perfect Sharp is run by UNSEEN FORMS LIMITED. No advertising company is involved, and there is no third-party analytics and no tracking script on the page. The only adverts are our own, described below. This notice covers every site we run under the Perfect Sharp name, because they share one account system. Twixtle has its own privacy notice, at twixtle.games/privacy.html, for what Twixtle records; the account described here is the same one.
The data controller is UNSEEN FORMS LIMITED, a company registered in England and Wales (company no. 14395660), registered office: 11 Duchy Road, Harrogate, North Yorkshire, HG1 2EZ. Contact: hi@perfectsharp.games.
There is no cookie banner because playing sets no cookies at all. A cookie is set in exactly one situation: when you deliberately sign in, either to an account or to the admin area. It holds a session reference and nothing else, and it is what keeps you signed in. Visiting, reading and playing never set one.
A game may show a player who is not signed in as a member one advert a day, before the puzzle, from their second day onwards. The advert is for another of our games or for PerfectSharp+, and we make it ourselves. Whether you see one is decided from whether you are signed in as a member, and from two dates your browser keeps: the day you first played and the day you last saw an advert. Neither date leaves your device. We count how often each advert is shown, watched, tapped or closed, in the same anonymous event log described above. No advertising company is involved and nothing is shared.
perfectsharp.games shows what you have done today in each game. When you follow a link from a game to perfectsharp.games, the game can send today's result with you: for each puzzle, whether you started, finished or solved it, and your seal, score and time. It travels in the part of the web address after the # sign, which your browser does not send to any server, including ours, and it carries nothing that identifies you or your device. perfectsharp.games keeps it in your browser for three days and then deletes it.
An account is optional and exists to carry a membership and your history between devices. One account covers every game we run, and it is kept in a database those games share. It holds your email address, which memberships you hold and until when, which devices you have signed in on, and the days you have finished in each game: for each, the date, which puzzle, whether you solved it, your time, how many reveals or clues you used, your seal and your score. That is what lets your history follow you between devices, and lets perfectsharp.games show your day on any device you sign in on.
Signing in is by a link emailed to you. We store only a one-way hash of that link's token, never the token itself, so our database cannot be used to sign in as you. Links expire and work once. We send sign-in links and purchase confirmations by email, from perfectsharp.games or from the game you are using, to the address on your account.
When you go from perfectsharp.games to a game, or come back from buying a membership, you are signed in there with a one-time code. It works once, for under a minute, and only on the game it was made for. We store a one-way hash of it and of the network address it was made for, never the code or the address itself. Sign out everywhere records when you asked, and every game treats any sign-in from before then as ended.
Payment is handled by Stripe. We never see or store your card details. Stripe may also ask for your billing address, which it uses to work out tax. What we keep is the customer, subscription and payment references Stripe gives us, which plan you chose, the currency and amount you were charged, the date your access runs to, and where you were in the game when you chose to buy.
If you choose to appear on the supporters list, the name you pick is public on every Perfect Sharp game; nothing else about your account ever is. We keep a record of every name that has appeared there, including one you have since taken down, so that a complaint about it can still be dealt with.
Mail to any address at our domains reaches one inbox that a person reads. We keep those messages so we can reply and so we have a record of what was asked, particularly for reports and complaints. Do not send us anything sensitive that we have not asked for.
Without an account, nothing on our server records who you are. Each play is recorded against the random token in your browser, described above, which lets us tell your plays apart from other people's but does not tell us who you are. To tell one visit from another we also compute a one-way fingerprint from your IP address, your browser family, and a secret that we rotate every 90 days. It cannot be reversed into an IP address, it is never shared, and it stops meaning anything once the secret rotates.
Your IP address is used to look up a country and is held in a lookup cache, which is deleted after 30 days. Your IP address is not stored on the record of your play. Only the two-letter country code is. When you ask for a sign-in link, we also keep your IP address beside the email address for about two days, so that the form cannot be used to flood somebody's inbox.
For play records and event counts, our lawful basis is legitimate interests: knowing how many people play, how hard a puzzle turned out to be, and roughly where players are, so the games can be run and improved. It is a small, fixed set of measurements, none of which identifies you, and it cannot be used to contact you.
For accounts and payment, the basis is performance of a contract: we cannot give you something you have paid for without knowing who you are. For keeping records of reports and complaints, it is our legal obligation and our legitimate interest in running a service people are safe on.
Event records are deleted after 90 days. The country lookup cache is deleted after 30 days. Play records are kept while the game runs, because they are what the daily comparison and the puzzle statistics are built from. League memberships and scores are kept while the league exists, because they are its history: leaving a league keeps your past scores in it, which is what stops other members' past results changing when somebody departs. The record of supporters list names is kept for as long as the list exists. Account records are kept while the account exists and for as long afterwards as we need them for tax and accounting, which is six years for anything relating to a payment.
We take a nightly backup of our databases, which is deleted after 30 days. A record you ask us to erase may therefore persist in a backup for up to that long before it ages out.
There are no advertising networks, no analytics providers and no data brokers involved. We use these processors and no others:
Stripe is a US company. Payment data it holds is transferred under the safeguards in Stripe's own terms (the UK International Data Transfer Addendum and the EU standard contractual clauses). Our servers, backups and email stay in the UK and Ireland.
You have the right to ask what is held about you, to have it corrected or erased, to object to it being processed, and to receive it in a portable form. If you have an account, ask us using the address it is registered to. If you do not, nothing here identifies you by name, so we will usually need the browser token described above to find anything at all, and once your browser storage is cleared we cannot connect any record to you. Write to hi@perfectsharp.games.
You can also complain to the Information Commissioner's Office at ico.org.uk.
If we start storing something new, this page changes in the same release. The date at the top is when it was last changed.