๐Ÿ”’ Privacy Policy

Sudoku Battle - TheCatsizerLab

๐Ÿ“‹1. Introduction

Sudoku Battle ("the Application") is developed by TheCatsizerLab and available on Google Play Store. We respect your privacy and are committed to processing your personal data transparently and securely in accordance with GDPR and applicable data protection laws worldwide.

This privacy policy explains how we collect, use, share, and protect your personal data when you use our Application.

๐Ÿ‘ค2. Data Controller

TheCatsizerLab

๐Ÿ“ Zigliara, South Corsica, France

๐Ÿ“ง Email: contact.thecatsizerlab@gmail.com

For any data-related inquiries, please contact us at the address above.

2.2 App Package Information

๐Ÿ“Š3. Data We Collect

3.1 Data Collected Directly from You

๐ŸŽฎGoogle Play Games Services (GPGS)

Legal Basis: Consent (explicit upon connection) | Purpose: Authentication, cloud sync, leaderboards, achievements

๐ŸŽฏGame Data

Legal Basis: Service contract | Purpose: Save progression, populate leaderboards, improve gameplay

๐Ÿ‘ฅMultiplayer Data

Legal Basis: Service contract | Purpose: Real-time multiplayer sync, leaderboards, game balancing

๐Ÿ’พMatch Details Backup (Local)

Purpose: Display recent match history offline

Retention: Until manual app data clear

Storage: SharedPreferences (JSON format)

โฑ๏ธDeferred Game Results (Backup System)

Purpose: Prevent lost match results due to disconnects during game_over event

Storage:

Dual-Flag Delivery System:

  1. When a player is offline at match end, result is stored with their delivery flag = FALSE
  2. When player reconnects and retrieves result via GET /api/game_over/check/{playerId}, their flag becomes TRUE
  3. Row is ONLY deleted when BOTH winner_delivered AND loser_delivered are TRUE
  4. This ensures both players receive their match result exactly once

API Endpoints:

Retention:

Privacy:

Security:

โš™๏ธPreference Data

Storage: Device local storage (SharedPreferences)

Legal Basis: Service contract | Purpose: Personalize user experience

๐Ÿ”ŠAudio Preferences

Storage: Device local storage (SharedPreferences)

Legal Basis: Service contract

Purpose: Remember your audio settings across sessions

โ˜๏ธCloud Game Save (GPGS)

Storage: Google Play Games Saved Games

Legal Basis: Service contract (cloud sync)

Purpose: Resume game across devices

Retention: As long as GPGS account exists

Sync: Automatic when GPGS is connected

๐Ÿ”’ Privacy: Cloud saves are encrypted by Google Play Games and only accessible by your account.

๐Ÿ…Achievement Progress Tracking (Local)

Storage: Device local storage (SharedPreferences)

Legal Basis: Service contract

Purpose: Track achievement unlock progress

Sync: Synced with Google Play Games when achievements are unlocked

Retention: As long as app is installed

๐Ÿ“ŠPlayer Profile Statistics

Legal Basis: Service contract

Purpose: Display player performance statistics

Visibility: Private (only visible to you)

Retention: As long as needed to provide the service and maintain integrity of features, subject to security and legal requirements.

๐Ÿ’พProfile Statistics Storage (PostgreSQL)

Storage Structure:

Calculation:

API Endpoints:

Storage Location: PostgreSQL (Neon) - encrypted at rest (AES-256)

Retention: As long as needed to provide the service and maintain integrity of features, subject to security and legal requirements.

Privacy: Statistics are private and only visible to the account owner

๐Ÿ“ŠProfile Statistics Cache (In-Memory)

Purpose: Reduce API calls, improve performance

Storage: Volatile memory (lost on app close)

Retention: Session only (cleared when app is closed)

3.2 Data Collected Automatically

๐Ÿ–ฅ๏ธTechnical Data

Legal Basis: Legitimate interest (technical maintenance, security, analytics) | Purpose: Performance optimization, fraud prevention, debugging

๐Ÿ“ฑConnection Data

Legal Basis: Legitimate interest (service improvement and performance monitoring) | Purpose: Service improvement, usage analysis, performance monitoring

โš ๏ธCrash and Error Data (Firebase Crashlytics)

Automatic Collection: Firebase Crashlytics automatically captures and sends crash reports when the app crashes.

Data NOT collected by Crashlytics:

Storage & Retention:

Legal Basis: Legitimate interest (GDPR Article 6.1.f - technical maintenance, security, app stability)

Purpose: Detect and fix crashes, improve app stability, prevent future errors

๐Ÿ”’ Privacy Protection: Crash reports are intended to contain technical diagnostics (such as stack traces and device/app state). We do not intentionally send direct identifiers like your GPGS Player ID within Crashlytics.

User Controls:

  • In-app controls: The Application does not provide an in-app switch to disable essential diagnostics or basic usage measurement.
  • Google/Android controls: Some advertising-related controls (such as ad personalization preferences and Advertising ID controls) may be available through your Google account and Android settings.
  • Stop collection: Uninstalling the Application stops data collection from the app.

๐Ÿ”Android Permissions

The Application requests the following Android permissions:

Permission Purpose Required
INTERNET Connect to leaderboard servers, daily challenges, multiplayer โœ… Yes
ACCESS_NETWORK_STATE Check network availability before server requests โœ… Yes
VIBRATE Haptic feedback on correct/incorrect moves (can be disabled in Settings) โœ… Yes (declared in manifest)
BILLING In-App Purchases (Google Play Billing) โœ… Yes

Note: All permissions are requested at runtime and can be revoked in Android Settings > Apps > Sudoku Battle > Permissions.

3.3 Payment Data

๐Ÿ’ณIn-App Purchase Transactions

Legal Basis: Service contract | Purpose: Purchase management, product attribution, fraud prevention

โœ… Important: Your payment information is never shared with Catsizer Lab. All payments are processed securely through Google Play Billing, which complies with PCI DSS standards. Purchase tokens are sent to our server exclusively for validation purposes.

๐Ÿ”„Purchase Restoration

Purpose: Ensure purchases are not lost on device change/reinstall

Security: Dual validation (Google Play + server-side)

3.4 Third-Party Data

๐Ÿ“ขGoogle AdMob (Advertising)

Advertisements displayed in the Application are managed by Google through AdMob.

Data collected by Google:

Regional Notice: In certain regions (such as the EEA, UK, and Switzerland), Google may require a consent message for personalized ads. When required, consent is handled according to Google's requirements and supported consent solutions.

Legal Basis: Consent (compliant with Google policy) | Purpose: Personalized ad delivery, app monetization

Manage Ad Preferences: Go to Settings > Google > Manage your Google Account > Data & Privacy > Ad Settings

๐Ÿ”ฅFirebase Services (Google)

Firebase Analytics

Provider: Google LLC

Privacy Policy: firebase.google.com/support/privacy

Firebase Crashlytics

Provider: Google LLC

Privacy Policy: firebase.google.com/support/privacy/crashlytics

Legal Basis: Legitimate interest (GDPR Article 6.1.f)

Retention: Retention periods are controlled by Google's Firebase policies and configuration. We do not implement custom deletion routines for Firebase Analytics or Crashlytics data.

โšกPower-Up Cooldown & Energy Management

Cooldown System:

Energy Deduction:

Refund Scenarios (Energy returned to player):

Power-Up Targeting:

Storage: RAM only (session-based, not persistent)

Purpose: Prevent power-up spam, ensure fair energy consumption, maintain game balance

Retention: Until match ends or player disconnects (volatile memory)

๐ŸŽฌRewarded Video Ads

Legal Basis: Consent (Google ToS)

Purpose: Provide optional rewards in exchange for ad views

Provider: Google AdMob

Control: You can refuse to watch ads (feature unavailable without viewing)

โฑ๏ธRewarded Ad Cooldown

Purpose: Prevent ad spam exploitation

Control: Premium subscription removes ads entirely

โฑ๏ธInterstitial Ad Frequency Control

Storage: Device local storage (SharedPreferences)

Purpose: Limit ad annoyance, respect user experience

Control: Premium subscription removes all interstitial ads

โœ… User-Friendly: Ads are limited to once every 3 minutes AND after 3 completed games to avoid disrupting gameplay.

๐Ÿ†Google Play Games Services (Leaderboards & Achievements)

Legal Basis: Service contract | Purpose: Leaderboards, social features

๐Ÿ“ŠPrivate Statistics Leaderboards (GPGS)

In addition to public leaderboards, we maintain private leaderboards for internal tracking:

Visibility: Private (only visible to you via GPGS)

Status: These leaderboards are coded in the app but currently disabled in the Google Play Console (for internal use only)

Google Play IDs:

3.5 Daily Challenge Data

๐Ÿ“…Daily Puzzle Progress

Legal Basis: Service contract | Purpose: Daily challenge leaderboards, player engagement tracking

Storage: PostgreSQL database (Neon) via Fly.io servers (USA)

Retention: Indefinite (for leaderboard integrity and historical rankings)

๐Ÿ†Daily Leaderboards

Visibility: All daily challenge scores are publicly visible in leaderboards

๐Ÿ“ข Public Data Notice: When you complete a Daily Challenge, your player name, score, and completion time will be publicly visible in the global leaderboard. This data is shared with all users of the application.

๐Ÿ”’Duplicate Submission Prevention

Server-Side Validation:

Client-Side Check:

Purpose: Ensure fair leaderboards, prevent score manipulation, maintain competitive integrity

Legal Basis: Legitimate interest (fraud prevention - GDPR Article 6.1.f)

๐Ÿ“ŠAnti-Cheat Validation

3.6 Friends System Data

๐Ÿ‘ฅFriend Connections

Legal Basis: Consent + Service contract | Purpose: Social features, friend-to-friend matching

๐Ÿ”Friend Code Generation

Your friend code is generated using a deterministic, non-reversible hash algorithm based on your Player ID. This means:

โšกFriend Invitations

Retention: 60 seconds (auto-expire if not responded), then permanently deleted

Storage: PostgreSQL database (Neon) via Fly.io servers (USA)

โœ… Privacy by Design: Friend invitations automatically expire after 60 seconds and are permanently deleted from our servers. Only accepted friendships are retained.
โš ๏ธ Important: Friend codes and friendships are tied to your Google Play Games account. If you delete your GPGS account, all associated friend data will be deleted within 12 months.

3.7 Challenge System Data

โš”๏ธPlayer-to-Player Challenges

Legal Basis: Service contract | Purpose: Facilitate direct player-to-player matches

Retention: 60 seconds maximum (auto-expire), then permanently deleted

Storage: Temporary in-memory storage (server RAM), no persistent database storage

โฐ Auto-Cleanup: All challenge data is automatically deleted after 60 seconds, whether accepted, declined, or ignored. No long-term storage is performed.

3.8 Authentication Tokens

๐Ÿ”‘JWT Authentication

Legal Basis: Service contract + Security (legitimate interest)

Purpose: Secure API authentication for leaderboards, daily challenges, friends system

Expiration: 30 days (automatic renewal on reconnection)

Storage Location: Device local storage (encrypted) + server-side validation

Security: Tokens are signed using industry-standard HS256 algorithm with a 32+ character secret key

๐Ÿ”’ Token Security: JWT tokens are encrypted and cannot be reverse-engineered to extract your Player ID or personal information. They automatically expire after 30 days for security.

3.9 Real-Time Multiplayer Data (WebSocket/Socket.IO)

๐ŸŒWebSocket Connection

During multiplayer matches, your device establishes a real-time WebSocket connection to our game server.

Data Type Details Retention
IP Address Used for WebSocket routing and connection management Session only
Socket ID Temporary unique identifier for your WebSocket connection Until disconnect
Room ID Temporary match identifier (shared with opponent) Until match ends
Game Moves Row, column, value placed in real-time Match duration
Player Stats Progress, combo, errors, energy (synced live) Match duration
Heartbeat Signals Connection alive pings (throttled to max 1 per 3 seconds) Not stored
Power-Up Events Type, duration, target player Match duration
Match Start Timestamp Unix timestamp (ms) when room was created (startTime) Session only
Server Timestamp Current server time (ms) for client synchronization (serverTime) Not stored
Time Consumed (Time Attack) Elapsed time in seconds (calculated from personalEndTime - currentTime) Session only

Timestamp Synchronization:

Time Attack - Time Consumed:

Server: sudokupuzzle-server.fly.dev (Fly.io infrastructure, USA)

Transport Security: WebSocket Secure (WSS) over TLS 1.3

Legal Basis: Service contract (multiplayer functionality)

Purpose: Enable real-time 1v1 synchronization

โšก Session-Based: All WebSocket data is deleted immediately when the match ends or a player disconnects. No persistent storage is performed.
๐Ÿ”’ Privacy: Your IP address is only used for connection routing and is never stored or shared with other players. Only your GPGS Player Name is visible to opponents.

๐Ÿ”„Reconnection Dialog

When you reconnect after temporary disconnect (within 60 seconds), server sends:

Score Recalculation on Reconnection:

Data Source: All data retrieved from server RAM (rooms object), no database queries

Retention: Sent once on reconnection, not stored client-side beyond session

3.10 Backend Server Infrastructure

๐Ÿ†Leaderboard Backend Server

๐Ÿ’พPostgreSQL Database (Neon)

๐ŸŽฏ4. How We Use Your Data

4.1 Primary Purposes

Purpose Data Used Legal Basis
Provide game service Game data, player profile Contract
Cloud synchronization Progression data Contract
Leaderboards & Achievements Scores, name, stats Contract
Performance optimization Technical data, crash logs Legitimate Interest
Security & fraud prevention IP, device ID, transactions Legitimate Interest
Personalized ads Advertising ID, interests Consent (Google)
Technical maintenance All relevant logs Legitimate Interest
Legal compliance Relevant data Legal Obligation

๐Ÿ”„Cloud Sync Conflict Resolution

When syncing data between device and cloud (GPGS), we use a MAX merge strategy:

Example: If you have 10 wins locally and 15 wins in cloud, we keep 15.

Rationale: This prevents accidental data loss from reinstalls or device changes.

4.2 Data Sharing

Your data is NEVER sold to third parties.

Third Party Data Shared Reason Data Processing Agreement
Google Play Games Player ID, name, scores Authentication & leaderboards โœ… Yes (Google ToS)
Google AdMob Advertising ID Ad personalization โœ… Yes (Google ToS)
Game Server (Fly.io) Multiplayer stats Real-time sync โœ… Yes (encrypted)
Google Play Billing Transaction data Payment processing โœ… Yes (PCI DSS)
PostgreSQL (Neon) Scores, daily data, friends, challenges Persistent database storage โœ… Yes (encrypted at rest)
JWT Tokens (Local) Authentication tokens (Player ID + Name) API authentication โœ… Yes (30-day expiry, HS256 signed)
Legal Authorities Relevant data Legal obligation upon request N/A

โณ5. Data Retention

We retain data only for as long as necessary to provide the Application, maintain competitive integrity (such as leaderboards), prevent abuse, and comply with legal obligations.

5.1 Local Device Data

Some preferences and gameplay-related data may be stored locally on your device (e.g., settings, cached data, recent matches). This data remains on your device until you clear the app data or uninstall the Application.

5.2 Server Data (Game Features)

Where server-side features are provided (such as multiplayer, friends, and leaderboards), related records may be retained as long as needed for the operation and integrity of these features and for security/fraud prevention.

5.3 Third-Party Services (Google)

Some data is processed by third-party services such as Google Play Games Services, Google AdMob, and Firebase (Analytics/Crash reporting). Retention for those services is governed by their policies and configuration. We do not implement custom deletion routines for data stored and retained by these third-party services.

5.4 Legal and Accounting

Where required by law (for example, for accounting, taxation, or fraud prevention), certain transaction-related records may be retained for the legally required period.

๐Ÿ”6. Data Security

6.1 Technical Measures

๐Ÿ”„WebSocket Connection Retry Logic

Purpose: Handle temporary network interruptions, prevent match loss due to brief disconnects

๐Ÿ›ก๏ธRate Limiting

Protection Levels:

Data Collected for Rate Limiting:

Implementation:

Retention: 60 seconds (rolling window), then automatically cleared

Purpose: Prevent API abuse, DDoS attacks, score manipulation via spam

Legal Basis: Legitimate interest (security - GDPR Article 6.1.f)

๐ŸšจAnti-Cheat - Suspicious Score Flagging

Detection Criteria:

Flagging Process:

Storage & Retention:

Your Rights:

Purpose: Detect and prevent score manipulation, maintain leaderboard integrity, protect fair play

Legal Basis: Legitimate interest (fraud prevention - GDPR Article 6.1.f)

โš ๏ธ Fair Play Policy: Repeatedly flagged scores may result in account review. Proven cheating may lead to leaderboard removal or account suspension.

6.2 Organizational Measures

โš ๏ธ Disclaimer: While we implement industry-standard security measures, no system is 100% secure. You acknowledge that Internet data transfer carries inherent risks.

โœ‹7. Your Privacy Rights

7.1 Right of Access (GDPR Article 15)

You can request access to your personal data.

How to Request:

Data Accessible Directly:

7.2 Right of Correction (GDPR Article 16)

You can correct inaccurate data about yourself.

7.3 Right to Erasure (GDPR Article 17)

You can request deletion of your personal data. However, certain data must be retained for the app to function properly.

๐Ÿ—‘๏ธWhat Can Be Deleted

Data Type Deletion Method Effect
Google Play Games Profile Delete GPGS account via Google Settings Complete account removal from GPGS (managed by Google)
Local Device Data Uninstall app or Clear Data in Android Settings All local progress deleted
Specific Friendships Settings > Friends > Remove Friend Individual friend removed from your list
JWT Tokens Automatic after 30 days OR manual logout Re-authentication required
Temporary Game Backups Automatic after 1 hour No manual action needed

๐Ÿ”’What CANNOT Be Deleted (Service Integrity)

The following data is essential for the app to function and cannot be deleted while you maintain an active account:

Data Type Reason for Retention Legal Basis (GDPR)
Leaderboard Scores Required for competitive ranking integrity. Deleting scores would artificially boost other players' ranks. Article 17.3.b (Public Interest) + Article 6.1.b (Contract)
Player Profile Statistics
(games played, win rate, etc.)
Core functionality of your account. Without stats, profile features are non-functional. Article 6.1.b (Contract - necessary for service provision)
Friend Connections Social feature foundation. Your friends list is part of your account data. Article 6.1.b (Contract) + Article 6.1.a (Consent - given when adding friends)
Friend Code Unique identifier for friend system. Required for other players to find you. Article 6.1.b (Contract)
Daily Challenge History Historical leaderboard integrity. Past rankings cannot be retroactively altered. Article 17.3.b (Public Interest)
Match History Used for matchmaking balancing and anti-cheat systems. Article 6.1.f (Legitimate Interest - fraud prevention)
Premium Purchases Legal requirement for tax records and fraud prevention. Article 17.3.b (Legal Obligation - 7 years retention, France/EU law)
Player Name (GPGS) Managed by Google Play Games Services. We cannot delete GPGS data. Third-party service (see Google's Privacy Policy)
โš ๏ธ Important Understanding: Sudoku Battle is a competitive multiplayer game with persistent rankings. The "Right to Erasure" under GDPR has exceptions when:
  • Data is necessary for contract performance (Article 6.1.b) โœ…
  • Data serves a public interest (leaderboard integrity - Article 17.3.b) โœ…
  • Data is required by law (tax records - Article 17.3.b) โœ…

Note: Deleting data linked to Google Play Games is managed by Google through Google Play Games settings. For our own server-side records, we can delete or anonymize where feasible, subject to integrity and legal obligations.

๐Ÿ”„How to Completely Remove Your Data

If you want to completely erase your presence from the app, you must:

  1. Delete Your Google Play Games Account
    • Open Google Play Games app
    • Tap Profile > Settings
    • Select "Delete Play Games account & data"
    • Effect: Google manages deletion timelines according to its own policies and processes.
  2. Uninstall Sudoku Battle
    • Long-press app icon > Uninstall
    • Effect: All local device data deleted immediately
  3. Request Server Data Cleanup (Optional)
    • Email contact.thecatsizerlab@gmail.com
    • Provide proof of GPGS account deletion
    • We will delete: Orphaned server records (scores, friendships, etc.) within 90 days
    • We will retain: Purchase records (7 years - legal requirement)
๐Ÿ“ง Manual Deletion Request: If you've deleted your GPGS account and want us to expedite server cleanup, email us with:
  • Your former Player ID (if known)
  • Your former display name
  • Screenshot of GPGS account deletion confirmation

Processing time: 30 days maximum

โš–๏ธGDPR Compliance Justification

We comply with GDPR while maintaining service integrity through these legal bases:

โœ… Practical Options:

You can stop app data collection by uninstalling the Application. You may also request deletion or anonymization of our server-side records where feasible, subject to leaderboard integrity and legal obligations. Data handled by Google services (Play Games / Firebase / AdMob) is managed under Google's controls.

7.3.1 Partial Data Deletion

You can request deletion of specific types of data without deleting everything:

Data Type How to Delete Impact
Leaderboard Scores Email request with Player ID Your scores removed from public leaderboards
Friends List Settings > Friends > Remove individual friends Removes specific friendships only
Daily Challenge History Email request with Player ID Your daily challenge scores removed from rankings
Match History Email request with Player ID Past game records deleted from our database
Local Device Data App Settings > Storage > Clear Data All local progress and settings deleted
GPGS Cloud Saves Google Play Games > Settings > Delete saved game Cloud backup removed (local data remains)
Purchase History Cannot be deleted Legal requirement (7 years retention)
GPGS Achievements Cannot be selectively deleted Must delete entire GPGS profile via Google

To request partial deletion: Email contact.thecatsizerlab@gmail.com with your Player ID and specify exactly which data you want deleted.

7.4 Right to Data Portability (GDPR Article 20)

You can request your data in a structured, portable format.

How: Email a request to contact.thecatsizerlab@gmail.com with proof of identity

7.5 Right to Object (GDPR Article 21)

7.6 Right to Restrict Processing (GDPR Article 18)

You can request to restrict certain processing of your personal data in specific situations defined by applicable law. To make a request, contact us by email.

โš–๏ธ8. Legal Compliance

8.1 GDPR (European Union)

Sudoku Battle complies with the General Data Protection Regulation (GDPR):

8.2 CCPA (California, USA)

For California residents, you have additional rights:

CCPA Request Process: Send verified request to contact.thecatsizerlab@gmail.com with:

Response Time: 45 days

8.3 France - Loi Informatique et Libertรฉs

Sudoku Battle complies with French Law nยฐ78-17 of January 6, 1978:

8.4 Other Jurisdictions

๐ŸŽฏ9. Consent & Controls

9.1 Essential Services

Sudoku Battle relies on certain services that are necessary to operate, maintain, and improve the Application. For this reason, we do not provide in-app switches to disable essential diagnostics and basic usage measurement.

Legal Basis: Legitimate Interest (GDPR Article 6.1.f) and/or Contract Necessity (GDPR Article 6.1.b), depending on the context and the data involved.

9.2 Advertising Controls (Google)

The Application displays ads using Google AdMob. Ad delivery and personalization preferences are primarily managed by Google through your device and Google account settings.

Note: The availability of certain ad controls depends on your region, device, and Google settings.

9.3 How to Stop Data Collection

You can stop all data collection from the Application by uninstalling it. You can also clear local data via Android Settings (this removes locally stored preferences and progress saved on the device).

๐Ÿช10. Cookies & Tracking Technologies

10.1 Local Storage

The app uses SharedPreferences (Android local storage) to store:

Cloud storage via Google Play Games Services for:

Technically these are not "cookies" but persistent local files.

10.2 Firebase Analytics & Crashlytics

๐Ÿ“ŠFirebase Analytics

Google Firebase Analytics collects usage data automatically:

Storage & Retention: Analytics data is processed and retained under Google's Firebase Analytics policies and configuration. Retention settings may vary and are managed by Google.

Legal Basis: Legitimate interest (GDPR Article 6.1.f - analytics for service improvement)

โš ๏ธFirebase Crashlytics

Automatic crash reporting system (see Section 3.2 for full details):

Storage & Retention: Crash reports are processed and retained under Google's Firebase Crashlytics policies and configuration. Retention settings may vary and are managed by Google.

Legal Basis: Legitimate interest (technical maintenance)

๐Ÿ”’ Privacy: These services are provided by Google and operate under Google's policies. We do not intentionally include your GPGS Player ID in Analytics/Crash reports. Google may process device/app identifiers needed to provide these services.

User Controls:

10.3 Google Advertising ID

Google assigns you a unique advertising ID for:

Manage: Settings > Google > Manage Account > Privacy > Ad Settings

Reset: Settings > Google > Privacy > Reset Advertising ID

10.4 Tracking Links (UTM)

Promotional links may include UTM parameters to measure campaign effectiveness.

๐Ÿ‘ถ11. Children's Privacy (COPPA & GDPR)

11.1 Age Requirements

11.2 Minors' Data Protection

If you are under the age of digital consent in your jurisdiction:

11.3 Parental Controls

Parents/guardians can:

  1. Restrict IAP: Google Play > Parental Controls > Require Authentication
  2. Limit Ads: Disable personalized advertising
  3. View History: Google Play Family Library
  4. Delete Account: Request via email with proof

11.4 Report Inappropriate Content

If you find content unsuitable for children: contact.thecatsizerlab@gmail.com with screenshot

๐ŸŒ12. International Data Transfers

12.1 Server Locations

12.2 Legal Safeguards

For transfers outside EU to USA, we rely on:

12.3 Your Control

You can request:

๐Ÿ“13. Policy Changes

13.1 Right to Modify

We may update this policy for:

13.2 Notification

13.3 Version History

Version Date Changes
1.0 December 19, 2025 Initial publication
1.1 December 20, 2025 Added: Daily Challenge system, Friends system, Challenge system, JWT tokens, PostgreSQL database, Purchase validation details
1.2 December 27, 2025 Added: Socket.IO real-time data, backend infrastructure details, rewarded/interstitial ad timing, audio preferences, achievement tracking, cloud sync conflict resolution, retry logic, private leaderboards, friend code validation, purchase restoration process
1.3 January 10, 2026 Clarified: Local storage (SharedPreferences), encryption wording, and data processing descriptions for consistency

๐Ÿ“ž14. Contact & Complaints

14.1 Questions or Issues

Email: contact.thecatsizerlab@gmail.com

Response Time: 7 business days

Required Information:

14.2 File a Complaint with Authorities

If you believe we violate your rights, you can lodge complaints with:

14.3 Complaint Procedure

Before escalating to authorities:

  1. Contact us directly (see 14.1)
  2. Allow 30 days for resolution
  3. Provide evidence of resolution attempts

โ„น๏ธ15. Additional Information

15.1 Sensitive Data

We NEVER collect:

15.2 Profiling & Automated Decisions

15.3 External Links

This policy does NOT cover:

Please review their privacy policies separately.

โšก16. Final Provisions

16.1 Complete Agreement

This policy is the complete agreement between you and TheCatsizerLab regarding personal data processing. It supersedes all previous versions.

16.2 Severability

If any provision is invalid, remaining clauses remain enforceable.

16.3 No Waiver

Non-exercise of a right does not constitute waiver of that right.

16.4 Governing Law

16.5 Prescription Period

GDPR rights must be exercised within 3 years of becoming aware of the violation.

๐Ÿ“š17. Glossary

GDPR
General Data Protection Regulation (European Union data protection law)
CCPA
California Consumer Privacy Act (US state law)
COPPA
Children's Online Privacy Protection Act (US federal law)
DPO
Data Protection Officer
SCC
Standard Contractual Clauses (for international data transfers)
IAP
In-App Purchase
GPGS
Google Play Games Services
SharedPreferences
Android local key-value storage system for app preferences
Fly.io
Backend hosting platform with global CDN
Socket.IO
Real-time WebSocket library for multiplayer synchronization
JWT
JSON Web Token - Secure authentication token format
PostgreSQL (Neon)
Serverless PostgreSQL database provider
Consent
Explicit user agreement to data processing

โค๏ธThank You

Thank you for taking the time to read our privacy policy. Your trust is important to us.

โœ… PRIVACY POLICY COMPLETE

This document contains the complete Privacy Policy for Sudoku Battle by TheCatsizerLab.

Total Sections: 17 complete sections covering all data collection, processing, security, and user rights.

Last Updated: March 6, 2026 (Version 1.3)