๐Ÿ”’ Privacy Policy

Sudoku Puzzle - TheCatsizerLab

๐Ÿ“‹1. Introduction

Sudoku Puzzle ("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 GPGS account exists + 90 days after deletion

๐Ÿ’พProfile Statistics Storage (PostgreSQL)

Storage Structure:

Calculation:

API Endpoints:

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

Retention: As long as GPGS account exists + 90 days after deletion

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 (analytics - collecte obligatoire) | 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 anonymized and contain only technical data. No personal information (scores, game data, Player ID) is sent unless explicitly logged by developers for debugging.
โš™๏ธ Opt-Out: Crashlytics cannot be disabled within the app as it's essential for technical maintenance. However, you can:
  • Uninstall the app to stop all data collection
  • Request crash data deletion via email (see Section 7.3)

๐Ÿ”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 Puzzle > 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:

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: 90 days (Crashlytics), 14 months (Analytics)

โšก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

5.1 Game Data Retention

5.2 Payment Data Retention

5.3 Profile & Preference Data

5.4 Friends & Social Data

โš ๏ธ 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.

๐Ÿ”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 Puzzle 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) โœ…

Your choice: Keep your account with all features OR delete your Google Play Games account (removes everything via Google).

๐Ÿ”„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: All GPGS data deleted within 30 days (managed by Google)
  2. Uninstall Sudoku Puzzle
    • 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:

Conclusion: If you want to stop using the app but keep your GPGS account active, simply uninstall the app. If you want complete erasure, you must delete your Google Play Games account (which we don't control).

โœ… Your Rights Protected: You can stop using the service anytime (uninstall). Complete data erasure requires closing your Google account (standard industry practice for games).

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 limit how your data is processed while addressing

โš–๏ธ8. Legal Compliance

8.1 GDPR (European Union)

Sudoku Puzzle 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 Puzzle complies with French Law nยฐ78-17 of January 6, 1978:

8.4 Other Jurisdictions

๐ŸŽฏ9. Consent & Preference Management

9.1 Initial Consent

A consent modal is displayed on the first app launch containing:

Option Description
โœ… Personalized Ads Allow AdMob to show targeted advertisements
โœ… Game Data Allow cloud synchronization of progression
๐Ÿ”— Link to Policy Direct access to this privacy policy

Actions:

๐Ÿ“„ Privacy Policy Access: The full privacy policy is accessible via:

9.2 Managing Your Preferences

Modify consent anytime via: Settings > Privacy & Security

Setting Impact if Disabled Can Disable?
Personalized Ads Generic ads instead of targeted โœ… Yes
Game Analytics Collecte automatique (requis pour le fonctionnement) โŒ No
Cloud Sync Local storage only โœ… Yes
Push Notifications Silent mode โœ… Yes

9.3 Withdraw Consent

You can withdraw consent at any time by:

  1. Changing preferences in the app settings
  2. Emailing us at contact.thecatsizerlab@gmail.com
  3. Disabling services in Google Privacy Dashboard

Withdrawal is effective immediately. Previously collected data remains processed per this policy.

a

๐Ÿช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: Anonymized and aggregated, retained 14 months 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: Firebase servers (Google Cloud, USA), retained 90 days

Legal Basis: Legitimate interest (technical maintenance)

๐Ÿ”’ Privacy: Both services are managed by Google and comply with Google's Privacy Policy. Data is anonymized and cannot be traced back to individual users without explicit identifiers (which we don't send).

Opt-Out:

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 (WebSocket) real-time data, Backend server infrastructure details (Fly.io, Neon PostgreSQL), Rewarded/Interstitial ads timing, Audio preferences, Achievement tracking, Cloud sync conflict resolution, Request retry logic, Private GPGS leaderboards, Friend code validation format, Purchase restoration process, Vibration permission clarification
1.3 January 10, 2026 Clarified: Local storage uses SharedPreferences (not Hive), encryption details corrected to reflect actual implementation (GPGS cloud encryption, PostgreSQL server encryption)

๐Ÿ“ž14. Contact & Complaints

14.1 Questions or Issues

Email: contact.thecatsizerlab@gmail.com

Response Time: 7 business days

Required Information:

  • Subject (data access, concern, rights exercise)
  • Detailed description
  • Supporting documents if applicable

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 Puzzle by TheCatsizerLab.

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

Last Updated: January 10, 2026 (Version 1.3)