Privacy Policy
Last updated
Patterns is a chess training app. To run it we keep an account, your puzzle history and your rating. We don't sell your data, we don't show ads, and we don't track you across other apps. This page explains the rest.
Who we are
Patterns (the app, and this website at patterns.gg) is made by Reactiive SRL, a company registered in Italy (VAT 10701501214). We are the controller of the personal data described here. For anything about your data, write to privacy@patterns.gg.
What we collect
Your account
- Sign-in details. Your email address, and — if you sign in with Google or Apple — the account identifier they give us, your name and, from Google, your profile picture. If you sign up with an email and password, we store the password only as a salted hash. If you sign in with Apple, we also keep, encrypted, the token Apple issues, so that deleting your account can revoke Sign in with Apple.
- Profile. The username you choose, the level you start at, and your time zone (so the daily puzzle and reminders follow your day).
- Sessions. A random device identifier, so you can stay signed in on up to ten devices and sign one out. On iPhone it is kept in the keychain, so it survives reinstalling the app; deleting your account replaces it with a new one.
How you play
- Every puzzle attempt: the moves you played, how long you took, whether you solved it, and your rating before and after.
- Storm runs, Journey progress, bookmarks, the puzzles on your Mistakes list and when they're due for review, your daily streak, your daily goal and reminder times, and your other settings.
Usage and diagnostics
- Product events we record ourselves, on our own servers: the screens you open, what you play (puzzles, Storm, Journey lessons, the level test), the steps of signing in and of buying Pro, the notifications and links you open, the settings you change, and errors. Each event carries your app version and build, platform, language, time zone, rating band, starting level, whether you have Pro and allow notifications, and the device identifier above; while you're signed in, it's linked to your account. We don't store your IP address with them.
- Crash and performance reports, sent to Sentry when the app fails or runs slowly (performance from a sample of about one in ten), and when our servers fail on one of your requests: your account ID once you're signed in (before that, a random identifier the Sentry SDK creates on install), device model, operating system, app version, the device's state at the time (such as free memory), and the error or the slow operation, with the screens and requests that led to it. Not your IP address, your email or your name. If feedback you send can't reach our team on Slack, it's kept in Sentry instead, with your account ID.
- Performance timings, sent to Expo (Expo Observe): how long the app takes to start and each screen to appear, frame rate and memory, with the screen's route, device model, operating system, app version and a random install identifier. Not your account.
What you send us
- Feedback you write in the app, with the email address of your account so we can answer.
- Purchases. Whether you subscribe to Patterns Pro and when it renews. Payment itself is handled by Apple or Google; we never see your card.
- The waitlist on this website: the email address you leave, the browser it came from, and a random identifier kept in your browser so the same address isn't counted twice.
We don't collect your location, contacts, photos or advertising identifier, and Patterns doesn't ask to track you across other companies' apps.
Why we use it
| Purpose | Legal basis (GDPR) |
|---|---|
| Running your account, choosing puzzles at your level, keeping your rating, streaks, Journey and history | Performing our contract with you |
| Providing a subscription you bought | Performing our contract with you |
| Showing your username and score on leaderboards and in the Hall of Fame | Performing our contract with you |
| Fixing crashes, keeping the service secure, understanding which parts of the app are used | Our legitimate interest in a working, safe app |
| Opening the right screen from a shared link, and counting installs and launches of the app | Our legitimate interest in links that work and in knowing how many people use Patterns |
| One email from our founder after you sign up | Our legitimate interest in hearing from the people who use Patterns |
| Push notifications | Your consent, given in the system prompt |
| The launch email to the waitlist | Your consent, given by leaving your address |
| Keeping records the law requires | Legal obligation |
What other players see
If you choose a username, signed-in players can see it next to your Storm score or your rating on leaderboards, and your medal weeks in the Hall of Fame. They never see your email, your name or your picture.
Emails we send
- Account emails: a code to confirm your address when you sign up with email, and a code to reset your password when you ask for one.
- One email from Enzo, who made Patterns, two days after you sign up. It asks what you think of the app so far and links to Patterns on the App Store or Google Play. It's sent once per account and never again, so there is no list to leave; replies reach Enzo. You can object to it, as to any use based on our legitimate interest (see Your rights).
- If you joined the waitlist on patterns.gg, one email when Patterns launches.
Who processes it for us
We run our own servers and database. A few specialised services handle parts of the work on our behalf, only for the purpose listed:
Apple, Google
- What for
- Sign-in; in-app payments
- What it receives
- What you authorise at sign-in; your purchase
RevenueCat
- What for
- Managing subscriptions
- What it receives
- Your Patterns user ID and purchase history
Sentry
- What for
- Crash and performance reports, from the app and our servers
- What it receives
- Your Patterns user ID, a random install identifier, device model, operating system, app version and the error. Not your IP address.
AppsFlyer
- What for
- Opening shared puzzle links in the app, and counting installs and launches
- What it receives
- Your Patterns user ID and device details, including the identifier your iPhone gives apps from the same developer (IDFV). Advertising identifiers are switched off.
Expo, and Firebase Cloud Messaging on Android
- What for
- Delivering notifications and app updates
- What it receives
- A push token for your device and the notification; checking for an update sends the app version and a random install identifier
Expo Observe
- What for
- Measuring how fast the app runs
- What it receives
- Screen timings and routes, device model, operating system, app version and a random install identifier
Resend
- What for
- Sending account emails, such as password-reset codes, and the founder's email after you sign up
- What it receives
- Your email address and the message
Slack
- What for
- Delivering in-app feedback to our team
- What it receives
- Your message and your account email
Vercel
- What for
- Hosting this website
- What it receives
- Standard request data, such as IP address
Some of these providers are outside the European Economic Area. When data leaves it, the transfer relies on an adequacy decision (such as the EU–US Data Privacy Framework) or on the European Commission's Standard Contractual Clauses.
We don't sell or rent personal data, and we only disclose it otherwise when the law requires us to.
How long we keep it
- Your account and everything in it — until you delete your account. Deletion is immediate and removes your profile, history, rating, bookmarks, Mistakes list, sessions, push tokens and settings, and any waitlist entry with the same email.
- Product events are kept after deletion without your account or device identifier, under random identifiers that don't lead back to you.
- Password-reset codes expire after one hour.
- Waitlist addresses — until Patterns launches and the launch email is sent, or sooner if you ask us to remove yours.
- Service providers keep what they receive for the periods set in their own policies. Subscription and payment records are also held by Apple or Google.
Your rights
You can ask us to:
- give you a copy of your data, including in a portable format;
- correct it;
- delete it;
- restrict how we use it, or object to a use based on our legitimate interest;
- stop using it where you gave consent — for notifications, turn them off in your device settings at any time.
Write to privacy@patterns.gg from the address on your account. We answer within one month. You can delete your account yourself, at any time, from the app — here's how.
If you think we've handled your data wrongly, you can complain to the Italian data protection authority, the Garante per la protezione dei dati personali, or to the authority where you live.
Security
Connections to our servers are encrypted, passwords are stored only as salted hashes, and access to the database is limited to the people who run Patterns. No system is perfectly secure, but we'll tell you, and the authorities, if a breach puts your data at risk.
Children
Patterns isn't directed at children under 13, and in the European Union not at children under the age of digital consent in their country (14 in Italy). If you believe a child has given us personal data, write to privacy@patterns.gg and we'll delete it.
Changes
When this policy changes we'll update the date at the top, and if a change matters to how your data is used we'll let you know in the app.