Privacy policy for Kikashi Go
Last updated: [DATE]
Kikashi Go ("Kikashi", "we") is a Go training app and website. This page says what personal data we handle, why, and what your rights are. We keep it short on purpose. We write "you" for the person using the app or the website.
Who we are
The controller of your data is Liam Llamazares-Elias, 13 Bevan House, Pointer Court, Lancaster LA1 4JH, United Kingdom. You can reach us at privacy@kikashi.app. [If a UK or EU representative is required: name and address.] [LAWYER]
The short version
- Your answers, scores, plan, settings and game results are kept on your phone, and, once you accept this policy, copied to a Kikashi account on our server so you do not lose them and can use them on another device. The account is anonymous until you sign in with an email or Google.
- If you give your OGS username and agree, the app sends that username to online-go.com to get the public list of your finished games.
- Games you add (an OGS game, an SGF, a game you recorded) are analysed on your phone when you switch on the experimental on-phone engine. The cards stay on your phone. For an OGS game the app asks OGS for that game's moves.
- We make your practice positions from your finished games on our own computers. You get them as a deck pack: a file you open in the app, and later a file the app fetches from kikashi.app using a hashed form of your username.
- The "Test game" button opens a third-party website outside the app.
- You can export your data and delete it (on the phone and in your account) in the app. You can copy a problem report yourself; the app never sends one.
- No analytics, no ads, no tracking. The website has no cookies.
- You must be 16 or older.
What data, why, and on what basis
| Data | Why | Where it lives | Lawful basis (UK and EU GDPR) |
|---|---|---|---|
| Study data: the positions you answered, your answers, time taken, hints used, results of games you log, review dates, concept scores, your settings, your plan, and a record that you accepted this policy and are 16 or older (with the time) | To run the app: choose what to practise and when, and show your progress | On your phone (the app's local storage). With sync (see "Your Kikashi account and sync") also a copy in your account on our server | Contract (Art. 6(1)(b)): it is how the app works |
| Account data: an anonymous account id and a random device id, made automatically after you accept this policy; the policy version you accepted and when; if you sign in by email, your email address and that it is verified; if you sign in with Google, your Google account id and your Google email address with Google's "verified" flag. We store no password and no Google profile or photo | To keep your progress safe, to sync your devices, to let you sign in again, and to show we asked for consent | On our server (Cloudflare, see below) | Contract (Art. 6(1)(b)) |
| Sign-in codes and tokens: when you sign in by email we send a 6-digit code and a link; we store only a scrambled (hashed) form for 15 minutes, and delete it within an hour of use. Your phone holds sign-in tokens; we store only a hash of the long-lived one | To check it is you, and keep you signed in | Our server; your phone | Contract (Art. 6(1)(b)) |
| Request data: each request to our server shows your IP address to Cloudflare, like any web request. For rate limiting (to stop abuse) we keep only a keyed hash of it for at most a day | To keep the service working and safe | Cloudflare; our server | Legitimate interests (Art. 6(1)(f)) |
| Your OGS username: you type it in the app (optional) | To find your games | Stored on your phone. Not sent to our account. Sent to online-go.com only after you accept this policy (see "OGS" below) | Contract (Art. 6(1)(b)) |
| Your finished games from OGS (public: moves, result, date, opponent's public OGS name, rank). The app asks OGS for the list of your finished games. It never uses a game that is still being played | To list your games in the app, and to turn your own mistakes into practice cards | Fetched by your phone from OGS and kept on your phone. The games you log in the app are synced (see below); the list fetched from OGS is not | Contract (Art. 6(1)(b)) |
| Games you add and the cards from the on-phone check (experimental): an OGS game (the app asks OGS for its moves), an SGF you paste or open, or a game you record. The moves, the analysis and the practice cards made from your mistakes | To find your mistakes and make cards, on your phone | Analysed by the engine inside the app on your phone. The cards made from your mistakes are part of what syncs. The only request that leaves the phone for the analysis is the one to OGS for that game's moves | Contract (Art. 6(1)(b)) |
| Deck pack, made by us. Your username is given to us by you, when you email us at privacy@kikashi.app to ask for a pack (for now we make packs only on request, and only for a small group of testers). We fetch your finished public games from OGS ourselves, analyse them on our computers, and make a pack of practice positions. The pack holds the positions, the game ids, dates, sizes and results, and a hash of your username, not the username itself | To give you cards from your own games | On our computers (the games, the analysis and the pack); then in the file you open, or on kikashi.app at an address made from the hash (see "Deck packs") | Contract (Art. 6(1)(b)) |
| The hash of your username: SHA-256 of your OGS username in lower case, used as the pack's file name | So the pack address does not list names | In the app's request to kikashi.app and in our server's logs. A hash is not anonymous: anyone who knows your OGS name can compute it, so we treat it as personal data | Contract (Art. 6(1)(b)); legitimate interests (Art. 6(1)(f)) for the server logs |
| Problem reports ("This is wrong" on a card, "Send reports"): the card, what you write and the app version | To fix mistakes in cards | On your phone. The app copies the text to your clipboard when you press the button; you choose whether to paste it into a message to us. The app does not send it | Consent (Art. 6(1)(a)) for what you choose to send us |
| Waiting-list form (website): your email address, and optionally your rank and where you play | To email you about the launch of Kikashi, and nothing else | With our form service (see below) | Consent (Art. 6(1)(a)) |
| Emails you send us (for example a data request, or a report you paste): your address and what you write | To answer you | Our mailbox | Legitimate interests (Art. 6(1)(f)), and legal duty when it is a rights request |
| Website and pack server logs: your IP address, time, page or file requested, browser type | Delivering the website and packs | With the host (see below) | Legitimate interests (Art. 6(1)(f)) of the host and ours: a working, secure site |
We do not: show ads, use analytics or crash reporting, sell data, build advertising profiles, use cookies on the website, or make decisions about you that have legal effects. We do not analyse or help with a game that is still in progress: Kikashi only works on finished games.
Your Kikashi account and sync
When you accept this policy, the app creates an anonymous account for you on our server, with no name and no email. This happens automatically so your progress is backed up and can follow you. If you do not accept, no account is made and nothing is sent.
What syncs (copied to your account):
- your cards and review history (which cards, how well, when due);
- your answers (which card, right or wrong, time taken, hints used, when, and the game it came from);
- days you practised, your plan and weekly wishes;
- your settings, and a few progress markers (for example that you finished the introduction);
- results of games you log, and club games you add;
- cards from the on-phone check, and your deck pack (positions from your own games, with game ids and dates) and its name;
- the record that you accepted this policy (version and time).
What does not sync: the consent screen's answers beyond that record, your OGS username, problem reports, the Settings preview profile, the Live engine switch (it describes what this phone can do), and games that are still being played (the app does not handle those at all).
Sign in (optional). You can sign in by email (we send a code; no password) or, when it is available, with Google. Then you can use the same progress on another device. We store from email sign-in: your email address and that you verified it. From Google: your Google account id and your Google email address with Google's "email verified" flag. If the verified email matches an account you already have, the two are joined into one. We use the email only to sign you in and to answer you; no marketing.
Turn sync off. In Settings, Sync, switch off Save progress to your Kikashi account. The app then sends nothing, forgets its sign-in on the phone and does not make a new account until you switch it on again; the app remembers your choice. What we already hold stays until you delete it or it is deleted for inactivity, so if you want it gone, use Delete account data (under Sync) first: it removes your account and everything we hold for it on our server at once, and also switches sync off. Sign out (if you signed in) only stops using your email or Google account on this phone. Delete my data (under Your data) removes your data from the phone, your consent and your account on our server, and the app then asks for your agreement again. You can also email us to delete your account.
OGS: your username goes to online-go.com
When you have accepted this policy and given your OGS username, the app asks OGS (online-go.com) for your finished games. Your phone sends your username (and, like any web request, your IP address) straight to OGS. We do not see that request. If you then ask the app to check one of those games on your phone, it asks OGS for that game's moves in the same way (the game's id is sent). OGS has its own privacy policy, and Kikashi is not affiliated with OGS. If you leave the username empty or do not agree, nothing is sent.
Deck packs
- Open a file. You can open a deck-pack file in the app (Settings, "Your data", "Load my deck"). Opening a file happens on your phone; nothing is sent.
- Fetched from kikashi.app (later). Once our hosting for packs is live, the app will fetch
https://kikashi.app/packs/<hash>.json, where<hash>is the SHA-256 of your lower-case OGS username. We see the hash, your IP address and the time in the host's logs. Until then packs are delivered as a file. - What we keep. We keep the games we fetched, our analysis and your pack for [12] months after the last pack we made for you, or until you ask us to delete them, whichever is first. We delete a pack from kikashi.app when you ask.
- Public data only. We use only the public finished games that OGS shows to everyone.
Games analysed on your phone
If you switch on Live engine (experimental) in Settings, the app can check a game for your mistakes on your phone: a game from your OGS list, an SGF you paste or open, or a game you recorded in the app. The analysis runs inside the app, using a Go engine and network stored in the app. The analysis never leaves your phone. The cards made from it are kept on your phone, are included in Export and removed by Delete, and, once you have an account, are copied to it like your other cards (see "Your Kikashi account and sync"); the full moves and analysis are not. The only request that leaves your phone for the analysis is, for an OGS game, the request to OGS for that game's moves (see above). The check only works on finished games.
Test game: a third-party site
On the Today screen the "Test game" button opens a website run by someone else (a Go bot in your browser, outside the app). Nothing is sent to it from the app: not your username, not your data. Its owner and its host (GitHub) can see your visit, as any website can, under their own privacy policies. Pressing the button is your choice; the rest of the app works without it. You then log the result in Kikashi yourself.
Export and delete
In the app, Settings, "Your data": Export copies or saves all your data as a file; Delete my data removes it from your phone (study data, settings, your OGS username and the consent record), and your account copy too while you are signed in to sync. In Settings, Sync, Delete account data removes only the server copy and switches sync off (see "Turn sync off" above). Uninstalling the app removes the phone's data but not your account: use Delete account data first, or email us. For other data we hold (a deck pack, the games and analysis behind it, the waiting list, emails), write to us and we will delete it. You can also ask us to delete your account by email without the app.
Special categories
We do not ask for and do not need health, ethnicity, religion or other special-category data. Please do not put such data in free-text boxes, reports or emails.
How long we keep it
| Data | How long |
|---|---|
| Study data, games and settings on your phone | Until you delete them in the app or uninstall it |
| Your account and its synced data on our server | While the account exists. It is deleted when you use "Delete account data" in Settings or ask us. If an account is not used for [24] months we delete it automatically, with everything we hold for it. |
| Change log of recent edits (for syncing devices) | 90 days; the merged records stay in your account |
| Sign-in codes | Hashed, valid 15 minutes, deleted within an hour of use or expiry |
| Rate-limit entries (keyed hash of IP) | At most a day |
| Backups at Cloudflare | Cloudflare keeps database restore points for up to [30] days on its side; they age out after that, also after you delete your account. [Check the current period.] |
| Games, analysis and deck pack we hold for you | [12] months after the last pack we made for you, or until you ask us to delete them, whichever is first |
| Waiting-list details | Until you ask us to remove you, or [12] months after Kikashi launches, whichever is first |
| Emails, reports you send us and rights requests | [24] months, so we can show we answered |
| Website and pack server logs | As kept by the host (see below); we do not keep our own copy |
Who else handles your data
- OGS (online-go.com). Receives your username when you fetch your games (see above).
- Cloudflare (Cloudflare, Inc., USA): hosts our sync server (a Cloudflare Worker) and its database (Cloudflare D1), so it stores your account and synced data and sees your IP address. It acts as our processor. The database is stored in Cloudflare's Western Europe region; the Worker that answers your app runs in Cloudflare's data centre nearest to you, which may be outside the UK and EU. [LAWYER]
- Resend (Resend, Inc., USA): sends the sign-in email from login@kikashi.app. It receives your email address and the mail content (the code and link) and keeps a log of it for a limited time under its own terms. It acts as our processor. We use its sending region eu-west-1 (Ireland). Only if you sign in by email.
- Google (Google LLC and Google Ireland Limited): only if you choose Google sign-in. Google tells us your account id and your verified email address. It does not receive your study data. Its own privacy policy applies to your Google account. (Not available yet.)
- Hosting of the website and packs. The site is hosted by GitHub Pages (GitHub, Inc., a Microsoft company, USA). The host receives your IP address and the page or file you ask for, like any web host. See its own privacy statement. It does not set cookies on our pages.
- The third-party "Test game" site and its host. See above. Not our processor; your own visit.
- Waiting-list form. [FORM SERVICE NAME] (for example Tally, Formspree or Google Forms) receives what you type and stores it for us. It acts as our processor under its data processing terms. [Add its company and country.]
- Google Play. If you install through Google Play, Google handles the install and any purchases under its own policy. We do not receive your Google account details from Play (only if you choose Google sign-in in the app, as above).
- Email. [Mailbox provider or forwarding service] handles mail sent to our kikashi.app address.
- We do not use any analytics, advertising or crash-reporting service. If that changes we will update this page first and, where required, ask for your consent.
Transfers outside the UK and EU
Cloudflare, Resend and Google are US companies, and Cloudflare's database may be outside the UK and EU. Resend sends from Ireland (eu-west-1) but is a US company and can access data in the USA. Where these providers handle your data outside the UK and EU we rely on the UK extension to the EU-US Data Privacy Framework, the EU-US Data Privacy Framework, or standard contractual clauses (with the UK addendum), as each provider states in its data processing terms. [Check each provider's terms and whether it is certified. [LAWYER]] OGS and GitHub (website) may also be outside the UK and EU: [LAWYER].
Your rights
Under UK GDPR and EU GDPR you can ask us to:
- give you a copy of your data (access) and a portable version (export);
- correct data that is wrong;
- delete your data (erasure);
- restrict or object to how we use it;
- withdraw your consent at any time (this does not affect what we did before).
How: email privacy@kikashi.app. We reply within one month. We may ask you to confirm who you are. Data on your phone and in your account you can export or delete yourself in the app (Settings, "Your data" and "Sync"); for other data we hold (a deck pack and the games behind it, the waiting list, emails), or if you cannot use the app, email us and we will do it.
Complaints. You can complain to us, and also to your data protection authority: in the UK the Information Commissioner's Office (ico.org.uk, 0303 123 1113); in the EU, the authority of your country (list at edpb.europa.eu).
Age
Kikashi is for people aged 16 or over. It is not aimed at children. If you think a child has given us data, write to us and we will delete it.
Security
Data on your phone is protected by your phone's own security (lock screen, app storage). Everything between the app and our server is encrypted in transit (HTTPS), and you stay signed in with short-lived tokens that we can revoke; sign-in codes and long-lived tokens are stored only hashed. Other data we hold is kept on our own computers and in services with access controls, and we keep as little as we can. Requests to OGS and to kikashi.app use HTTPS. No system is perfectly secure. If a breach would put you at risk, we will tell you and the regulator as the law requires.
Changes
If we change this policy in a way that matters (for example, a new service that handles your data, or a new kind of data we keep) we will show a notice in the app and on this page before the change takes effect, and ask for consent where the law requires it.
Contact
privacy@kikashi.app ยท 13 Bevan House, Pointer Court, Lancaster LA1 4JH