Kikashi Go

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

What data, why, and on what basis

DataWhyWhere it livesLawful 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 progressOn your phone (the app's local storage). With sync (see "Your Kikashi account and sync") also a copy in your account on our serverContract (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 photoTo keep your progress safe, to sync your devices, to let you sign in again, and to show we asked for consentOn 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 oneTo check it is you, and keep you signed inOur server; your phoneContract (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 dayTo keep the service working and safeCloudflare; our serverLegitimate interests (Art. 6(1)(f))
Your OGS username: you type it in the app (optional)To find your gamesStored 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 playedTo list your games in the app, and to turn your own mistakes into practice cardsFetched 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 notContract (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 mistakesTo find your mistakes and make cards, on your phoneAnalysed 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 movesContract (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 itselfTo give you cards from your own gamesOn 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 nameSo the pack address does not list namesIn 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 dataContract (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 versionTo fix mistakes in cardsOn 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 itConsent (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 playTo email you about the launch of Kikashi, and nothing elseWith 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 writeTo answer youOur mailboxLegitimate 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 typeDelivering the website and packsWith 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):

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

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

DataHow long
Study data, games and settings on your phoneUntil you delete them in the app or uninstall it
Your account and its synced data on our serverWhile 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 codesHashed, valid 15 minutes, deleted within an hour of use or expiry
Rate-limit entries (keyed hash of IP)At most a day
Backups at CloudflareCloudflare 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 detailsUntil 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 logsAs kept by the host (see below); we do not keep our own copy

Who else handles your data

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:

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