Privacy Policy
Countermoves · Last updated 25 October 2026
Who we are
Countermoves is published on the App Store by Fraser Keetch, a director of Walford & Keetch Ltd, which is the data controller. Walford & Keetch Ltd is a company registered in England and Wales (company number 17463048), trading as Countermoves. Contact us about anything on this page at privacy@countermoves.app.
What we collect, and how
- Screenshots you choose to upload to Counter or Review. You pick them in Apple's photo picker; the app receives only the images you select and never browses the rest of your library.
- What is in those screenshots: the messages, and any names and profile photos on screen, including the other person's. See other people's messages.
- What you type in Practice, the replies, and how long you take to answer each message, which is stored with the chat. The other side of a Practice chat is an AI character, not a real person.
- The replies, reviews and grades we produce from the above.
- Your progress: XP, rating, rank, streak, Practice chats played, lessons finished, and the kinds of mistakes your Practice chats show. The app sends these as you use it.
- Anonymous usage statistics: which screens and features are used, for how long, and how far people get through setup. For example: how many phones reached each setup screen, minutes on each tab, how many Practice chats and lessons were finished, and which paywall was shown and whether a purchase went through. Each one is a screen or feature name and a number, sent with no identifier: never your name, your random identifier, anything you typed, or a screenshot, message or reply. A few setup answers are counted by the option chosen (why you downloaded the app, the chat clock you prefer, your goal, your weekly pace, where you get stuck, your texting style, whether you picked a screenshot, whether you allowed Anthropic's AI, whether a free read was available and whether you saw your own replies or the example, how a free read came back (with replies, or the kind of chat it would not answer), how the Practice demo ended, your placement bracket, and whether you are 18 or over). If you tap Under 16, or tell a Practice character you are under 18, counting stops on that phone for good, and nothing that reads as a crisis is ever counted. The app keeps a small note on your phone (the day you first opened it, and which setup screens it has already counted) so each phone is counted once; only the week and the number of days since are sent. To turn it off: open Settings (the menu button, top right of any tab) and switch off Share anonymous usage stats.
- A display name, only if you choose one. It does not need to be your real name.
- Your age group (16-17, 18-20, 21-24 or 25+), which you pick during setup. We never ask for your date of birth.
- An age record: when this phone first chose 16-17, or an age group of 18 or over, kept with its random identifier.
- Sign in with Apple, only if you choose it. Apple gives us an identifier for your account that is unique to Countermoves; we keep only a keyed fingerprint of it, and we do not ask Apple for your name or email address. We also keep the token Apple issues, encrypted, so that we can disconnect Sign in with Apple when you delete your account.
- Today's line challenge, only if you enter (18 and over): your display name, the score Review gave the chat, whether Review marked it won, how many of your replies it had and when you entered. So that one chat can be entered only once, we keep a one-way fingerprint of the chat's words, never the words, until that day's board closes.
- The weekly league: your division, this week's XP and your place.
- Your weekly plan, if you make one: its pace and the day it started, sent with each request so rest days do not break your streak.
- Your setup placement (the three moves you picked) and five skill ratings worked out from your Practice chats.
- The setup Practice demo: whether you used it, how it ended, the kind of opener you sent, and a keyed fingerprint of your message and the character's reply (never the words), so the app can carry that chat on once.
- How many Counters, Practice chats and Reviews you used, and how your top-ups were used, to count allowances.
- A random identifier the app makes on your phone the first time you open it, sent with every request. It is not derived from your phone, your Apple ID or anything about you.
- Your IP address, which any server necessarily sees with each request. We do not write it to disk: see how long we keep it.
- Your subscription status, from Apple through RevenueCat. Apple handles payment; we never see your card details.
- A report you send about an AI reply, a Practice chat, a review or a name on a board: see reports.
- Anything you email us, with the address you send it from.
What we do not collect
We do not collect your contacts, your location, your browsing history, your health data, your financial information or your date of birth. We do not use advertising or attribution SDKs and we do not track you across other apps or websites. Reminders are scheduled on your phone, so we hold no push notification token.
What we use it for
- To give you the app: Counter's replies, Practice chats and their reviews, Review's grades, lessons, your progress, and your subscription.
- To suggest which Learn lessons are worth another look, from the kinds of mistakes your Practice chats show.
- To see which parts of the app work: the anonymous usage statistics show us where people stop during setup, which features they use and whether they come back, so we can fix what isn't working. They are hourly and daily totals, so they cannot be used to find or contact you.
- The boards: if you choose a display name, other players in your own age group see it on the league board (with your XP, rating, number of Practice chats and tier), in the weekly league (with this week's XP) and, if you enter, on Today's line board (with your place and score, never your chat). If you are 16 or 17, they see "Hidden player" unless you choose to show your name. You can leave the weekly league from the league screen. Your age group is used to seat you with your own age group and to decide which features you can use, and for nothing else.
- Reports: if you report an AI reply, a Practice chat or a review, we receive the text you reported (it can include the other person's words), the reason, which feature it came from and the time, and nothing that says who sent it; it is deleted after 90 days (plus up to 5 days in backups). If you report a name on a board, we also keep, with that name, your random identifier, a code made from your IP address and the time, for up to 12 months, so that one person cannot hide a name for everyone; this stays after you delete your account, so a report cannot be undone that way. The first report of a name is emailed to us with the name and its age group. A person on our team reviews every report. Reports are never sent to Anthropic or used to train AI.
- To stop abuse and keep costs bounded: your IP address, the random identifier and a code made from your IP address with a secret key we hold count rate limits and daily limits, and make sure the one free Counter is used once per install.
- To answer you when you email us.
We never sell your data, never use it for advertising, and never use your screenshots, conversations or Practice messages to train AI models.
Anthropic, our AI provider
Counter, Review and Practice are powered by Claude, an AI made by Anthropic, PBC (United States).
- What is sent to Anthropic: each screenshot you upload to Counter or Review, with everything visible in it; the text read from those screenshots; and, in Practice (including the one message you can send in the setup demo), every message you type, the conversation so far, and the whole chat again at the end to mark it and write your review.
- What is never sent to Anthropic: your display name, your random identifier, your age group, your IP address or anything else from your phone.
- Your permission comes first. Before anything is sent, the app shows a card that names Anthropic and says what is sent, with a box to tick. Nothing is sent until you tick it and continue. If you don't, the app asks again only when you next try Counter, Review or Practice.
- Withdrawing it: in the app, open Settings (the menu button, top right of any tab), tap AI consent, then Take it back. From then on nothing more is sent until you allow it again. Withdrawing cannot recall what was already sent; that copy is deleted on Anthropic's schedule below.
- What Anthropic does with it: it processes it only to send back your result, on our instructions. Its commercial terms bar it from training its models on what we send. It deletes it within 30 days, except that it may keep it for up to 2 years (and its safety scores for up to 7) if its automated safety systems flag it, or longer where the law requires.
Who else processes it
- Anthropic (United States): the AI, as described above.
- Fly.io: hosts our server, in London. Everything sent to us passes through it, and your progress and Practice chats are stored on a disk it operates.
- RevenueCat (United States): manages subscriptions. It receives the random identifier and your purchase records, and its code in the app also sends it device and operating system details, the app version, your country and your IP address, to process purchases. It never receives your screenshots or chats.
- Expo (United States): delivers app updates. It receives a random install token, your iOS version and the app version, and no content.
- Cloudflare: runs this website and forwards email sent to our addresses.
- Google: the email inbox where messages you send us arrive.
- Apple: handles payment and subscriptions, and Sign in with Apple if you use it, as its own controller, under its own privacy policy.
- Resend (United States): sends our own operational emails. The only personal data in them is a display name someone has reported, with its age group.
Each of these companies processes your data only to provide its service to us, under written terms that require it to keep your data confidential and secure and to protect it at least as well as this policy does. Where data goes to the United States, we rely on the safeguards in those terms.
How long we keep it
- Counter screenshots: held in our server's memory, never written to disk, and deleted within about 30 minutes. If you ask for more replies, the same image may be sent to Anthropic again within that time.
- Review screenshots: not kept once they have been read. The graded result is held in our server's memory, never written to disk, and deleted within 24 hours. The app keeps your last 20 reviews on your phone until you delete the app or your account.
- Practice chats and their reviews: 12 months from when the chat started.
- Your progress, display name, age group and random identifier: 12 months after you last use the app.
- Free Counter and Practice demo records: two years, including after you delete your account, so each can be used once per install.
- Age record: two years from when the phone first chose that age group, including after you delete your account.
- Sign in with Apple: the fingerprint and the encrypted token, until you delete your account or 12 months after you last use the app; either way we ask Apple to revoke the token.
- Today's line: the chat fingerprint until the board closes (noon UTC two days after the line's date); entries and boards for 14 days after that; your count of top-three finishes until you delete your account.
- Weekly league: the last 10 weeks.
- Name reports: 12 months. Your hidden-players list: until you delete your account, or 12 months after it last changed.
- Top-up records: the times your top-ups were used, for as long as we keep the purchase; after a year we remove which install and which chat or review each was used on.
- Your IP address: used as a key for rate limits until midnight UTC. Otherwise we keep only a code made from it with a secret key we hold, for up to 2 days, except in a name report, where the code is kept for up to 12 months.
- Reports: 90 days, plus up to 5 days in backups. See reports.
- Usage statistics: daily totals, kept for 90 days, and hourly totals, kept for 8 days (plus up to 5 days in backups). The small note on your phone stays until you delete the app.
- Server logs: can contain your display name, and are kept for up to 30 days.
- Backups: encrypted daily snapshots of our server's disk, kept for 5 days.
- Anthropic's copy: 30 days, with the exceptions above.
- Email: until your question is answered, and no longer than 12 months.
Deleting your data, and your other rights
Signing in is optional. Without it your data is filed under the random identifier; with Sign in with Apple it is filed under your account. To delete it from the app, open Settings (the menu button, top right of any tab) and tap Delete account: your progress, display name, Practice chats, reviews, league and challenge entries are deleted from our server and from your phone straight away, and if you signed in with Apple we ask Apple to disconnect Countermoves. To ask us instead, use Contact support in Settings, which fills in your identifier, or email privacy@countermoves.app; we do it within 30 days. What we cannot delete: copies Anthropic still holds on its schedule above, Apple's and RevenueCat's purchase records and our record of how your top-ups were used, the free Counter and Practice demo records (two years), the age record (two years), name reports you made (12 months), other reports (nothing in them says who sent them), the anonymous usage totals (nothing in them says who either), server logs until they expire after 30 days, and backups until they expire after 5 days. Deleting the app removes what is on your phone.
You can also ask for a copy of what we hold, or ask us to correct it. If you are unhappy with how we have handled your data you can complain to the UK Information Commissioner at ico.org.uk.
Age
Countermoves is rated 16+ and is not intended for anyone younger: the age question has an Under 16 answer, which ends onboarding there. Practice is for adults only, and if you say in a Practice chat that you are under 18, the chat ends and Practice stays closed on that phone. If you are 16 or 17, other players see "Hidden player" instead of your name unless you choose to show it, Practice and Today's line challenge are closed, and once a phone has chosen 16-17 it stays in the 16-17 group for two years. If we learn that we hold information from someone under 16, we delete it.
AI-generated people
Every Practice character is an AI, and every person pictured in Practice and Learn is AI-generated. No real person reads or replies to your Practice chats.
A word about other people's messages
A screenshot of a conversation contains someone else's words, and sometimes their name and photo. They are sent to Anthropic with the rest of the screenshot, used only to produce your reply or your review, and kept only as described above. We never publish them or show them to anyone else. Crop out anything you would rather not send, and please do not upload conversations you would not be comfortable having read back to you.
Changes
If this policy changes we will update the date at the top of this page, and tell you in the app if the change is significant.
Questions: privacy@countermoves.app