इस पृष्ठ का हिंदी संस्करण तैयार किया जा रहा है, इसलिए अंग्रेज़ी संस्करण दिखाया जा रहा है।
Privacy Policy
अंतिम अद्यतन: September 29, 2026
This policy explains how Chess: Emperor Napoleon (the "App") handles information. The App does not collect your name, email address, phone number, or date of birth. However, the app version distributed through the App Store / Google Play shows ads, so the advertising provider obtains an advertising identifier (Section 5).
1. Summary
- The app version (App Store / Google Play) shows ads. Ads are served by Google (AdMob), which obtains an advertising identifier. The browser version shows no ads.
- If you purchase the paid plan (a one-time purchase), no ads are shown at all. Buying it is optional; every game feature remains available for free. We do not offer any subscription.
- We do not collect information for advertising ourselves. All we receive is aggregated impression counts and revenue figures.
- The app version distributed through the App Store / Google Play contains no analytics tooling. Only the introductory pages you open in a browser (the top pages of napoleonchess.aicreonext.com) and the column (the articles under /column/ on the same site) are measured, using Google Analytics (GA4) — see Section 15. The legal pages are not measured.
- We use no crash-reporting or error-collection tool that transmits data externally, neither in the app version nor on the introductory pages. However, the Google ad SDK built into the app version does obtain records of how the App is used, and records of crashes and performance within the ad system, in order to serve ads (Section 5).
- No account registration is required. We do not collect your name, email address, phone number, or date of birth.
- The App does not request access to your location (GPS), contacts, photos, camera, or microphone.
- Most information about your games is stored only in your device's browser storage (localStorage).
- If you play online matches against other people, the match results and your display name (the one you set on the Profile screen; if you have not set one, the anonymous display name assigned automatically by the server) are stored on the server. Even if you never play online, purchasing or restoring a paid plan issues an anonymous account, and your identifier, the display name assigned automatically by the server, and your purchase status are stored on the server. Requesting the AI features (the AI coach's summary or an AI review) likewise causes an identifier to be recorded on the server for rate limiting (Section 4).
2. Information stored only on your device
The following information is stored in your device's browser storage (localStorage). Unless you use online matches (Section 3) or the AI features (Section 4), none of it is sent anywhere. When you use the AI features, only your display-language setting is sent, to tell the AI which language to write in.
- Display settings (chess.prefs.v1)
- Color theme, board texture, piece style, amount of HUD information, sound effects on/off, BGM on/off, haptic feedback on/off, display of legal moves, reduced animation, display language, and whether "The AI's thoughts" is enabled.
- Profile (chess.profile.v1)
- Your display name (default "Anonymous"; when you take part in online player-versus-player matches this display name is sent to the server and shown to your opponents and on the leaderboard — see the next section), the identifier of the avatar you selected, and the highest AI level you have beaten.
- Match records (chess.records.v1)
- For each game: when it was recorded, whether it was against the AI or a person, the AI level, the color you played, the result, how the game ended, the end-of-game details (the number of moves, the material left on the board, the final position and, in games with a variant rule, its identifier), and the move list (moves in long algebraic notation separated by spaces, for example “e2e4 e7e5”). Older records beyond the storage limit are discarded automatically.
- Skill estimate (chess.skill.v1, chess.skillTally.v2)
- Your estimated skill rating, the history of recent results used for the estimate, the match intent you selected, whether you have completed the skill assessment, and a per-game tally of skill metrics.
- Skill assessment progress (chess.onboarding.v1)
- The assessment stage, results of games played during the assessment, the level currently being played, when the assessment started, and the final estimate.
- Achievement progress (chess.achievements.v1)
- Completion status and progress for each achievement, and the version of the achievement data.
- Journey progress (chess.journey.v2, chess.journey.grandfather.v1)
- Chapter progress, sealed chapters, the number of playthroughs, the battle medal for each battle (grade, time earned, playthrough, and a reference to the game record), and an unlock floor preserved for players who were already playing before the journey was introduced.
- "The AI's thoughts" (chess.advice.v2)
- The short lines shown during games and a record of them (which move they appeared on, and so on). This is stored only on your device and is never sent anywhere.
- AI reviews (chess.review.v2)
- The text of post-game AI reviews you have received. The network communication involved in generating them is described in Section 4.
- Device identifier (chess.clientId, chess.auth.migratedFrom)
- A UUID generated automatically for each device and used to connect to online matches. It is not linked to your name, email address, or similar. A value recording an identifier issued under an earlier scheme is stored alongside it.
- Anonymous authentication session (chess.auth.v1)
- Only when server features are enabled. Session information (access token) for your anonymous account.
- Ad and paid-plan state (chess.ads.v1, chess.ads.remote.v1)
- The number of games completed and when an ad was last shown (used to space out ads), and a cached copy of operational settings for how ads are shown.
- Feature switches and splash-screen cache (chess.features.v1, chess.splash.v1)
- A cached copy of the feature on/off switches that we change during operation, and the splash-screen display duration. These copies let the App start without a network request and contain no information about you.
- Store-rating request log (chess.storeReview.v1, chess.storeReview.remote.v1)
- How many times the App was opened, how many times and when the App asked the operating system to show its rating dialog after a game, what triggered each request, and a cached copy of the operational settings for spacing those requests. This is used only to avoid asking too often, stays on the device, and is never sent anywhere. Whether the dialog appears, and what it shows, is decided by the store (Apple or Google).
- Crash records (chess.crash.v1)
- When the App crashes, the time, the location in the App, a summary of the error, the screen being shown, and the device and version are stored, up to the 5 most recent entries. They are kept only on your device and never sent to us or anyone else. They exist so that you can review the details yourself if you contact us about a problem.
- Coin balance (chess.wallet.v1)
- Your balance of coins earned by watching ads or from match results, and a short record of recent changes (type, time, amount). Stored only on your device and never sent anywhere. Coins have no monetary value and cannot be exchanged for cash, transferred, or refunded.
- Development and testing settings (chess.adminUnlocked.v1, chess.advice.endpoint.v1)
- Whether the admin screen has been opened, and a runtime override of the connection endpoint. These are not written during normal use.
The names in parentheses are the storage keys in the browser storage (localStorage). All of them begin with "chess." and are removed together by the App's "Delete all saved data" action. An automated check confirms that this list does not omit any key actually in use.
Your account in the App is anonymous and is tied to the browser storage (localStorage) of this device. If that storage is lost — for example, when browser data is cleared, the App is uninstalled, the device is reset, or a private browsing session ends — there is no way to restore the same account. Your game history, skill estimate, achievements, and online rating will all be lost. A feature for carrying an account over to another device is not currently offered.
3. Information sent to and stored on the server for online matches
Only when you start an online match against another person is the following information sent to the match server. If you only play against the on-device AI, none of the transmissions in this section occur (the transmissions described in Section 4 likewise do not occur unless you request the AI coach's summary or an AI review).
- On connection
- The identifier (UUID) generated automatically for your device, and the protocol version. To keep the connection alive, a periodic keep-alive signal is sent.
- During a game
- The coordinates of your moves, the game ID, the move number, and requests to resign or resynchronize. Because the server adjudicates the game, every move is validated on the server.
- Stored when a game ends
- The game ID, the player identifiers for Black and White, the result, how the game ended, the end-of-game details (the number of moves, the material left on the board, the final position), the move list, the number of moves, the start and end times, and whether the game was rated.
- Player information
- Your display name (the one you set on the Profile screen, or, if you have not set one, an anonymous display name assigned automatically by the server — for example "Player#4821"; 1–12 characters), your avatar identifier, creation and update timestamps, and the time of last access. The time of last access is not visible to other users.
- Results
- Rating, total games played, wins, losses, and draws.
- Network-level information
- By the nature of network communication, the IP address you connect from reaches the server. It is handled only to the extent needed to establish the connection and prevent abuse.
On the leaderboard, the display names, avatars, ratings, and overall records of top players are visible to other users. The display name shown is the one you set yourself (or an anonymous display name if you have not set one).
When we receive a report about a display name, we store the identifier of the person who reported it, the identifier of the person reported, and the date and time. We use this to remove duplicate reports from the same person and to recognise repeated violations. We do not disclose who filed a report to the person who was reported.
4. Communication involving AI
Only two features send information to the generative AI (Google Gemini), and both only when you ask for them. In every case, our server-side function (a Supabase Edge Function) acts as an intermediary; the App never connects to the generative AI directly. Because the two differ in what is sent, they are described separately. "The AI's thoughts", shown during a game, runs entirely on your device, and nothing is sent to the generative AI (see (3)). A route that uses generative AI can be switched on in builds made for development and testing, but it is never switched on in the app we distribute.
- (1) Post-game AI review — only when you request it
- Data is sent only when you request a review after a game. What is sent is the move list (moves in long algebraic notation), the color you played, the result, the material left on the board at the end (the total value of the pieces for Black and for White), the level of the AI you played, an evaluation of each move (move number, the move itself, change in evaluation, and so on), and your display language. This is available without purchasing the paid plan.
- (2) The AI coach's skill summary — only when you request it
- Data is sent only when you request a summary on the match records screen. What is sent is the scores on the five skill axes calculated on your device, the sample count for each axis, your total number of games, and your display language. The move list itself is not sent. This is a paid-plan feature.
- (3) "The AI's thoughts" (the AI's inner voice during games) — nothing is sent to the generative AI
- This feature runs entirely on your device. The App judges what has happened on the board (captures, changes in the number of available moves, the stage of the game) and picks one line from a set of phrases bundled with the App. Nothing is sent to the generative AI or to our server: not the position, not the move played, not the move number. The setting labeled "The AI's thoughts" is on by default; turning it off in the Settings screen stops these mid-game lines (the fixed opening and endgame lines still appear).
Features (1) and (2) send data only when you request them, so if you do not request them, no communication with the generative AI occurs. Turning off "The AI's thoughts" in the Settings screen stops the mid-game lines (the fixed opening and endgame lines still appear); because that feature does not send anything to the generative AI in the first place, turning it off does not change what is transmitted.
Only the contents of games and skill metrics are passed to the generative AI (Gemini); your name, email address, account identifier, display name, and IP address are not included, and no individual can be identified from that data. Separately, an account identifier may be sent to our intermediary server for rate limiting and entitlement checks (it is not passed to the generative AI).
The API key for the generative AI exists only on the server and is not included in the App. To prevent abuse and runaway costs, our server applies a rate limit to each call and, in order to count calls, records the following identifiers in our database.
- When you are not signed in
- A value derived from the IP address you connect from, in a form from which it cannot be recovered (a salted hash). The raw IP address is not stored.
- When you are signed in with an anonymous account
- The account's identifier (UUID) itself. This avoids penalizing other people on a shared connection and keeps the limit attached to you even if you connect from somewhere else. This identifier is not linked to your name, email address, or similar.
These records are used solely for rate-limit counting. Their retention period is described in Section 9.
The skill-summary and review texts are generated automatically by generative AI. Their accuracy is not guaranteed. "The AI's thoughts" is picked from a set of phrases written in advance, and its reading of the position is not always right either.
5. Ads and the paid plan
The app version distributed through the App Store / Google Play shows ads between games. If you use the App in a browser, no ads are shown (the browser version contains no ad-serving mechanism).
Ads are served through Google's AdMob. To show ads, prevent fraudulent clicks, measure effectiveness, and investigate faults in the ad system, Google obtains the following information.
- The advertising identifier (the Android advertising ID or the iOS IDFA). This is an identifier assigned to your device, which you can reset or delete yourself at any time. It is not linked to your name or email address.
- An approximate location inferred from your IP address — coarser than city level, not a street address or coordinates.
- Technical information such as device model, OS version, language, and screen size.
- How many times an ad was shown and whether it was clicked.
- Records of how the App is used (events such as the App being launched, a screen changing, or an ad being touched, together with when and how often they happened). These are used to decide when to show an ad and to measure effectiveness.
- Records of crashes and performance within the ad system (technical information from occasions when the ad SDK itself crashes or runs slowly). These describe the behaviour of the ad SDK itself; the crash records kept on your device and your match records are never passed to Google.
Google obtains and uses this information in its capacity as an advertising provider; we do not receive it. All we receive is aggregated impression counts and revenue figures. For how Google handles it, see "How Google uses information from sites or apps that use our services" (https://policies.google.com/technologies/partner-sites). Note that the analytics on the introductory web pages (Google Analytics) is a separate mechanism from this section; what it obtains and how to stop it are described in Section 15.
You can stop ads, or make them non-personalized, as follows.
- Purchase the paid plan (one-time purchase)
- No ads are shown at all. Once purchased, the App does not even load ads, so no ad-related communication occurs.
- Delete your advertising ID on Android
- On your device, go to Settings → Google → Ads to delete or reset your advertising ID. After deletion, ads are no longer personalized to your interests (ads are still shown).
- Decline tracking on iOS
- Choose "Ask App Not to Track" when the App asks for tracking permission, or change it later under Settings → Privacy & Security → Tracking. Ads are still shown if you decline, but they are not personalized to your interests.
We use RevenueCat (RevenueCat, Inc., United States) for paid-plan purchases and for managing purchase status. Payment itself is processed by the App Store / Google Play; neither we nor RevenueCat obtain payment details such as credit card numbers.
RevenueCat records whether a purchase was made, when it was made, when it expires, and an identifier corresponding to your device or anonymous account. We use this only to determine whether ads should be hidden for you and whether paid features are available to you, and for no other purpose.
We also store your paid-plan status (the identifier of the product purchased, which store it was purchased from, whether it is active, and its expiry date) in our database (Supabase), so that the App can determine whether you have purchased it without querying the purchase records every time it opens. No payment details such as your name, email address, or credit card number are stored.
6. Purposes of use
- Running games, determining results, and recording and displaying game results
- Estimating your skill and suggesting an appropriate difficulty level and opponents
- Calculating ratings for online matches and displaying the leaderboard
- Determining and displaying achievements
- Keeping the display, sound, and control settings you have chosen
- Showing "The AI's thoughts" during games (this runs entirely on your device; it can be turned off in the settings)
- Generating the AI coach's skill summary (when you request it)
- Generating post-game AI reviews (when you request them)
- Rate limiting the features that use generative AI, and preventing abuse and runaway costs
- Showing ads in the app version (not done if you have purchased the paid plan)
- Providing the paid plan and checking whether you have purchased it
- Detecting and preventing cheating and abuse, and investigating failures
We do not use information for any purpose other than those listed above. We do not use the match records, achievements, or settings on your device for ad targeting or for analyzing your interests, nor do we pass them to advertising providers.
7. Information we do not collect
The App does not obtain any of the following information. This is not merely a statement of policy: no implementation to collect it exists. One exception: in the administrative features used by the operator itself (web version only; the app version distributed through the App Store / Google Play has no entry point to them), the operator signs in with an email address and password. That is entered by us as the operator; there is no screen where you as a user enter such information. Information that Google obtains for advertising is described separately in Section 5 (it is not obtained by us, so it is not listed here). Analytics on the introductory web pages is described separately in Section 15; it does not apply to the app version.
- Analytics or behavioral measurement inside the app (Google Analytics, Firebase Analytics, or any other analytics tool). No analytics tooling is bundled with the app version. Only the introductory pages and the column opened in a browser are measured with Google Analytics (GA4); what is sent and how to stop it are described in Section 15. Your games, achievements, and settings inside the app are not part of that measurement.
- Crash-reporting or error-collection tools that transmit data externally (such as Firebase Crashlytics or Sentry). We use none of them. The App keeps a summary of crashes on your device only (see "Crash records" in Section 2) and never sends that summary to us or anyone else. Note that the Google ad SDK built into the app version does send records of crashes and performance within the ad system itself to Google (Section 5); we do not receive their contents.
- Name, email address, phone number, postal address, date of birth, or gender.
- Precise GPS location, contacts, calendar, photos, camera, microphone, or health data.
- Credit card numbers or other payment details. Payment for the paid plan is processed by the App Store / Google Play, and we do not receive such information.
- Browser history, or your use of other apps.
8. Disclosure to third parties
Except where required by law, we do not provide the information we obtain to third parties. We do not sell it.
We do, however, use the following service providers, and information is processed on their servers. Any of them may have servers located outside Japan.
- Supabase (database and authentication)
- Used for online match records, player information, results, paid-plan status, and rate-limit counting for the features that use generative AI. A service provider engaged by us.
- Google (Gemini API)
- Used to generate the AI coach's skill summary and post-game AI reviews, in both cases only when you request them. Only the contents of games and skill metrics are sent; no information that could identify you is included. A service provider engaged by us.
- Google (AdMob, ad serving)
- Used to serve ads in the app version. For this service Google is not a provider engaged by us; it obtains and uses advertising identifiers and related data as an independent advertising provider. What is obtained and how to stop it are described in Section 5.
- Google (Google Analytics, introductory web pages and column)
- Used to aggregate page views on the introductory pages and the column opened in a browser. Not used in the app version. What is obtained and how to stop it are described in Section 15.
- Fly.io, Inc. (online match server)
- Used for matchmaking and running online matches. Moves, ratings, and results are processed on this server. A service provider engaged by us; the server is located in Japan (Tokyo).
- RevenueCat, Inc. (purchase status management)
- Used to record and verify paid-plan purchase status. A service provider engaged by us. It does not handle payment details.
When personal data is provided to a third party located in a foreign country, we provide on this page, in accordance with the Act on the Protection of Personal Information of Japan, the name of the destination country and information about that country's personal-data protection regime. If you would like more detailed information, please contact us at the address given below.
9. Retention periods
- Data on your device
- Kept until you delete it, or until your device's or browser's storage is lost. Match records have a storage limit, and the oldest records beyond it are discarded automatically.
- Data on the server
- Online match records, player information, and results are kept until you request deletion. Because a match record is shared with your opponent, deleting it for you does not remove it from your opponent's history; on deletion it is retained in a form no longer linked to you (anonymized).
- Unused anonymous accounts
- Anonymous accounts that have played no games and hold no paid entitlement are deleted automatically 30 days after last use (including the identifier, display name, avatar selection, and settings). Accounts with at least one recorded game, or with a paid entitlement, are not subject to this automatic deletion.
- Data sent to generative AI, and rate-limit records
- The game and skill content sent to the generative AI is not stored on our server. Rate-limit counts (the identifiers described in Section 4) are recorded in our database, and entries older than 2 hours are deleted automatically in the course of subsequent calls. While no calls are being made, no deletion takes place either, so entries may remain until the next call. Raw IP addresses are never stored.
10. How to delete your data
You can delete the match records stored on your device yourself at any time.
- Open the App's Settings screen.
- Tap "Clear local game data". To prevent accidental deletion, you will be asked to tap once more to confirm; the data is then erased.
To delete all data on your device, including settings, profile, and achievements, uninstall the App or delete this site's data from your browser settings. Doing so also discards your anonymous account, which cannot be recovered.
To request deletion of online match records or player information stored on the server, please contact us at the address given below. We will act on requests to the extent that we can verify they come from the account holder. Requests for access, correction, and suspension of use are handled through the same contact.
11. Security measures
- Communication with the server uses encrypted connections.
- The database uses row-level access control (Row Level Security) so that no one other than the account holder can read or write their settings or match records.
- Ratings and overall results can be updated only on the server and cannot be modified directly from the App.
- The API key for the generative AI exists only on the server and is not included in the distributed App.
- Our policy is never to write credentials, tokens, or other secrets to logs, and this is enforced by automated checks.
12. Use by minors
The App is intended for people aged 13 and over. Because we do not collect age information, we cannot verify a user's age. Parents and guardians are asked to supervise their children's use as appropriate.
13. Changes to this policy
This policy may be revised in response to changes in the law or the addition of features. Revisions take effect when they are posted on this page. If a revision materially expands the types of information collected or the purposes of use, we will notify you in the App in advance.
14. Contact
For inquiries about this policy or about how information is handled, and for requests for access, correction, or deletion, please contact:
- Operator
- AICREONEXT LLC (合同会社AICREONEXT)
- contact@aicreonext.com
15. Analytics on the introductory web pages and the column
We measure page views with Google Analytics (GA4) only on the introductory pages you open in a browser (https://napoleonchess.aicreonext.com/ and the same site in each of its other languages; together, the "introductory pages") and on the column (the articles under https://napoleonchess.aicreonext.com/column/, in Japanese only). Only these introductory pages and the column are measured; the introductory pages are measured across all supported language versions. Nothing else is measured: neither the legal pages (terms, this policy, and so on) nor the app version distributed through the App Store / Google Play contains this measurement, and it never runs inside the app. This section also serves as the notice of external transmission required by the Telecommunications Business Act of Japan.
- Recipient
- Google LLC (Google Analytics / Google tag). Processing takes place on its servers, which may be located outside Japan. Measurement data may be sent not only to Google Analytics servers (google-analytics.com and analytics.google.com) but also to Google’s servers at www.google.com.
- What is sent
- The URL and title of the page you viewed; the referrer (the page or search result you came from); device type, operating system, browser name and version, screen size, and language setting; the country and region estimated from your IP address (the IP address itself is not stored); a random identifier stored in a cookie; the date, time, and time spent on the page; and the fact that you pressed a store button (which store, where on the page — on the introductory pages the top or bottom, in a column article partway through or at the end — and in which language), and the fact that you pressed a link in the "Related apps" section at the end of a page that leads to one of our other games or to our company website (including the destination of the link and where you pressed it: at the end of the introductory page or of a column page). On column pages, a category marking the page as part of the column (content_group) is also sent. Your name, email address, and phone number are never sent. Your games, achievements, and settings inside the app are not accessible from these pages and are therefore not sent.
- Purpose
- To count how often the introductory pages and the column are read and which language, which link and which article leads to the stores, so that we can improve these pages. It is not used to serve ads, to measure ad performance, or to profile your interests.
- How to stop it
- (1) If your browser sends "Do Not Track" (DNT) or Global Privacy Control (GPC), the measurement script is not loaded at all. (2) For visitors from the European Economic Area (EEA), the United Kingdom, and Switzerland, no cookie-based measurement takes place by default: no cookie identifying you is created or stored. Cookieless measurement requests are still sent, however, carrying everything listed under "What is sent" except the cookie identifier. To stop the transmission itself, use the DNT / GPC setting in (1). (3) If you refuse cookies in your browser settings, no cookie identifying you is created, but cookieless measurement requests do not stop. To stop the transmission itself, use the DNT / GPC setting in (1). (4) You can install the Google Analytics Opt-out Browser Add-on provided by Google. (5) If you use the app version, this measurement does not happen at all.
The defaults for Consent Mode v2 are as follows. The three advertising signals (ad_storage, ad_user_data, and ad_personalization) are set to "denied" everywhere, regardless of region. The analytics signal (analytics_storage) defaults to "denied" for visitors from the 27 EEA member states, Iceland, Liechtenstein, Norway, the United Kingdom, and Switzerland, and to "granted" elsewhere. We do not present a consent banner, so no cookie-based measurement takes place for visitors from those regions: no cookie identifying you is created or stored, and repeat visits are not linked to the same person. Cookieless measurement requests are still sent, however, carrying everything listed under "What is sent" except the cookie identifier.
For how Google handles this information, please see Google's Privacy Policy (https://policies.google.com/privacy) and "How Google uses information from sites or apps that use our services" (https://policies.google.com/technologies/partner-sites).
This section is about the introductory web pages and the column only. The app version distributed through the App Store / Google Play bundles no analytics tooling. The only communication it performs is what is described in Section 3 (online matches), Section 4 (AI features), and Section 5 (ads and the paid plan).