Skip to content

Privacy Policy

Effective Date: January 1, 2025
Last Updated: May 5, 2025

Welcome to Breeze Pixel Studio (hereinafter referred to as "this App"). We understand the importance of your personal information and will protect your personal information and privacy in accordance with applicable laws and regulations. Please read and fully understand this Privacy Policy before using this App.

This Privacy Policy applies to the Breeze Pixel Studio client (including iOS, Android, Web, Windows, macOS, Linux and other platform versions) and related services.


1. How We Collect and Use Your Personal Information

1.1 Registration and Account

When you register an account, we need to collect the following information:

Information TypeRequiredPurpose
UsernameYesUnique account identifier for login
PasswordYesAccount security verification, stored using PBKDF2 encryption
NicknameYesCommunity display name
EmailNoAccount security verification, password reset, account deletion confirmation

1.2 Personal Profile

While using this App, you may voluntarily provide the following personal profile information:

  • Avatar: For personal homepage and community display
  • Background image: For personal homepage decoration
  • Gender: For personal homepage display (options: Unknown/Male/Female)
  • Bio: For personal homepage display
  • Title: Virtual titles earned through levels, achievements, events, memberships, etc.

All of the above information is provided voluntarily, and you may modify or delete it at any time.

1.3 Device Information

To ensure stable service operation and optimize user experience, we collect the following device information:

  • Device identifier: UUID v4 generated when the app is first launched, stored locally for session tracking and device binding
  • Operating system version: e.g., Android 14, iOS 17
  • Device model: e.g., Samsung Galaxy S24, iPhone 15 Pro
  • App version: Currently installed app version
  • Platform type: Android / iOS / Web / Windows / macOS / Linux

The above information is reported only when the app starts or returns to the foreground, and is used for:

  • Tracking app usage (session start/end, session duration)
  • Maintaining session heartbeat (every 30 seconds)
  • Binding device to user account after login

1.4 Usage Records

We record the following usage behavior data:

  • Session records: App start time, usage duration, session ID
  • Login records: Last login time
  • Interaction data: Followers/following count, artwork count, likes received, favorites count
  • Notification records: Read/unread status of system notifications and interaction notifications

1.5 User Creative Content

When you create and share using this App, we process the following content:

  • Pixel art works: Canvas data, project files, exported images
  • Collections: Artwork collection information
  • Topics: Topic creation and participation information

The above content is uploaded to the server when you actively publish it. Unpublished works are stored only on your local device.

1.6 Images and Files

We access your images and files in the following scenarios:

  • Selecting images from gallery: For creation reference images, avatar upload, background image upload
  • Taking photos: For creation reference images (requires camera permission)
  • Saving images to gallery: Exporting/saving created pixel art works
  • Selecting files: On desktop platforms (Windows/macOS/Linux) for selecting local image files

2. How We Use Permissions

2.1 Android Permissions

PermissionAPI LevelPurposeCan Be Denied
READ_MEDIA_IMAGESAndroid 13+Read gallery images as reference or upload avatar/backgroundYes, but image selection will be unavailable
READ_EXTERNAL_STORAGEAndroid 12 and belowRead images from external storageYes, but image selection will be unavailable
Camera (runtime)AllTake photos as reference imagesYes, but photo capture will be unavailable

2.2 iOS Permissions

PermissionPurposeCan Be Denied
NSPhotoLibraryUsageDescriptionAccess photo library to select reference images, which help you as visual reference when drawing pixel artYes, but image selection will be unavailable
NSPhotoLibraryAddUsageDescriptionSave images to photo libraryYes, but saving to library will be unavailable
Camera (runtime)Take photos as reference imagesYes, but photo capture will be unavailable

2.3 Permission Notes

  • All permissions require your active authorization; we will not access relevant features without authorization
  • You can revoke granted permissions at any time in system settings
  • Denying permissions will not affect other app features, only the specific features that depend on that permission
  • Before requesting sensitive permissions (such as camera), we will display a dialog explaining the purpose

3. How We Store and Protect Your Personal Information

3.1 Information Storage Methods

Local Storage

  • SharedPreferences: Used to store authentication tokens (Access Token, Refresh Token) and device identifiers
  • SQLite database: Used to store local pixel art documents, animation frames, assets, and other creative data

Data stored locally does not leave your device (unless you actively upload and sync).

Server Storage

  • Cloudflare D1 database: Stores user account information, personal profiles, social relationships, artwork metadata, etc.
  • Cloudflare R2 object storage: Stores user-uploaded image files (avatars, background images, artwork images, etc.)
  • Cloudflare KV: Stores Refresh Tokens for server-side token revocation verification

Servers are located on Cloudflare's global edge network, with all data transmission encrypted via TLS.

3.2 Security Measures

We take the following measures to protect your personal information security:

  • Password protection: PBKDF2 algorithm (100,000 iterations) with salted hash storage; the server does not store plaintext passwords
  • Token security:
    • Access Token valid for 7 days, signed with HS256
    • Refresh Token valid for 30 days, using token rotation mechanism (old tokens automatically invalidated after use)
    • Refresh Token record in KV deleted on logout, implementing server-side token revocation
    • Automatic seamless token refresh when tokens expire; requests queue during refresh
  • Transmission encryption: All network communication uses HTTPS (TLS) encrypted transmission
  • Minimal privilege: API requests carry authentication tokens only when needed; public endpoints do not require authentication
  • Account deletion: Supports account deletion with a cooling-off period during which you can cancel the deletion

3.3 Data Retention Period

  • Account information: Retained during your use of the App; deleted or anonymized after account deletion
  • Authentication tokens: Access Token expires after 7 days; Refresh Token expires after 30 days or is deleted on logout
  • Device identifiers: Stored locally; automatically deleted when the app is uninstalled
  • Session data: Used for statistical analysis, retained for no more than 180 days
  • Creative content: Retained until you delete it or your account is deleted

4. How We Share, Transfer, and Publicly Disclose Your Personal Information

4.1 Sharing

We do not sell your personal information to any third party. We may share your information in the following circumstances:

  • Service providers: We use Cloudflare for server hosting, database, object storage, and CDN services. Cloudflare only processes your data as necessary to provide these services
  • Legal requirements: We may need to share your information as required by laws, regulations, litigation, or government mandatory requirements

4.2 Public Disclosure

The following information may be visible to other users:

  • Public profile: Nickname, avatar, gender, bio, current title, level, followers/following/artwork/likes/favorites count
  • Public works: Works you have published as public
  • Public collections: Collections you have created
  • Social relationships: Following list, followers list

You can control whether your works are visible to other users by setting work visibility (public/private).

4.3 Information We Do Not Share

We do not share the following information with third parties:

  • Your password (encrypted storage, no one can view the plaintext)
  • Your authentication tokens
  • Your email address (not displayed to other users)
  • Your device identifiers
  • Your unpublished works

5. Your Rights

5.1 Access and Correction

You have the right to access and correct your personal information through the following methods:

  • Personal profile: View and modify nickname, avatar, background image, gender, bio on the "Edit Profile" page
  • Email: Change bound email in account settings (verification code confirmation required)
  • Artwork management: View, edit, and delete your published works

5.2 Deletion

  • Artwork deletion: You can delete published works and collections
  • Account deletion: You can apply for account deletion in account settings
    • After submitting a deletion request, a cooling-off period begins (specific duration as indicated in the app)
    • During the cooling-off period, you can log in and cancel the deletion
    • After the cooling-off period ends, the account and associated data will be permanently deleted

5.3 Permission Revocation

You can revoke granted permissions at any time in your device's system settings:

  • Android: Settings → Apps → Breeze Pixel Studio → Permissions
  • iOS: Settings → Privacy & Security → Corresponding permission

5.4 Data Export

You can export locally stored pixel art work files (.pxa format or image format), but batch export of server-side data is not currently supported.


6. Protection of Minors

We attach great importance to the protection of minors' personal information. If you are a minor under the age of 14, please use this App under the guidance and supervision of a guardian, and obtain your guardian's consent before registering and providing personal information.

If we discover that we have collected a minor's personal information without obtaining the guardian's consent, we will delete the relevant information as soon as possible.


7. Updates to This Privacy Policy

We may revise this Privacy Policy from time to time. The updated Privacy Policy will be notified to you through in-app announcements or other appropriate means. For major changes, we will provide more prominent notifications.

If you continue to use this App after the Privacy Policy is updated, it means you agree to be bound by the revised Privacy Policy.


8. Contact Us

If you have any questions, opinions, or suggestions about this Privacy Policy, you can contact us through the following methods:

  • In-app feedback: Submit through the in-app feedback feature
  • Email: Please contact us through the contact information published in the app

We will respond to your request within 15 business days.


Appendix: Third-Party SDK List

The third-party SDKs integrated in this App and the information they may collect are as follows:

SDK NamePurposeInformation Possibly CollectedPrivacy Policy
Flutter FrameworkApp development frameworkDevice info, app infohttps://flutter.dev/privacy
image_pickerImage selectionGallery access (requires authorization)https://pub.dev/packages/image_picker
file_pickerFile selection (desktop)File access (requires user action)https://pub.dev/packages/file_picker
share_plusSystem sharingDoes not collect personal informationhttps://pub.dev/packages/share_plus
permission_handlerPermission managementDoes not collect personal informationhttps://pub.dev/packages/permission_handler
url_launcherOpen external linksDoes not collect personal informationhttps://pub.dev/packages/url_launcher
shared_preferencesLocal key-value storageDoes not collect personal informationhttps://pub.dev/packages/shared_preferences
sqfliteLocal databaseDoes not collect personal informationhttps://pub.dev/packages/sqflite
device_info_plusDevice informationDevice model, system versionhttps://pub.dev/packages/device_info_plus
package_info_plusApp informationApp version numberhttps://pub.dev/packages/package_info_plus
httpNetwork requestsDoes not collect additional informationhttps://pub.dev/packages/http
Cloudflare WorkersBackend API serviceRequest logs (automatic)https://www.cloudflare.com/privacypolicy/
Cloudflare R2File object storageDoes not collect additional informationhttps://www.cloudflare.com/privacypolicy/

Last updated: