Barcode Generator

Privacy Policy

This policy describes how Barcode Generator, an Android application provided by Semicolon Chang, processes data, including its use, storage and retention, third-party services, deletion, and contact information.

1. Scope

This policy explains how the Barcode Generator Android app (條碼產生器), provided by Semicolon Chang, handles data. It also explains how information is used when you contact the developer by email.

The app does not require an account and does not include advertising or the Google Analytics SDK. Versions with Firebase Crashlytics automatically send crash diagnostics and basic app session information to Google/Firebase to monitor stability. Barcode generation and history remain on your device; the app does not intentionally attach barcode content or history to crash reports.

2. Local data and purposes of use

  • Barcode records: Barcode content, format, creation time, and record identifiers are used to find records in your history, display barcodes again, and share or export images.
  • Scan history: Only when you choose to save a result, decoded content, format, scan time, and an identifier are stored for local viewing, copying, sharing, and deletion. Identical format and content are not saved twice.
  • Preferences: Your theme setting and whether guidance has been shown are stored to preserve your preferences.
  • Home screen widget settings: Associations between widgets and barcode records are stored to open the barcode you selected.
  • Temporary sharing images: Barcode images generated for sharing are stored in the app’s cache so the receiving app you select can read them.

Camera permission is used only for on-device barcode recognition while the scanning screen is active. Camera frames are not saved or sent to the developer. Camera use stops when you leave the scanning screen or the app enters the background.

You enter or scan the barcode content yourself, and it may contain personal or sensitive information. Anyone who can see or obtain a barcode image may be able to read its contents. Please check the information before displaying or sharing it.

3. Crash and diagnostic data

In app versions that include Firebase Crashlytics, the SDK automatically collects crash stack traces, relevant app state, device and app details, and a Crashlytics installation identifier. Its Firebase Installations and Sessions dependencies collect a per-installation identifier, app and device details, and session-start activity such as when the app enters the foreground, to provide crash and stability metrics. The app does not add custom user IDs, Analytics events, barcode content, or scan history to these reports.

Google/Firebase processes this data to diagnose crashes and monitor app stability. Collection is automatic in those app versions, and there is currently no in-app setting to turn it off.

Firebase transmits collected data over HTTPS. Crashlytics retains crash reports and associated identifiers for 90 days before starting removal; other Firebase services may have different retention periods.

The app does not currently offer a process to request deletion of Firebase diagnostic reports. Deleting local records does not remove reports already sent to Firebase. See Firebase Privacy and Security for current handling details.

4. Copying, sharing, and exporting

You can choose to copy scanned text to the system clipboard or send it to an app you select through the Android share sheet. Subsequent processing depends on your system and the receiving service. The developer does not receive this content.

When you choose to share, the app generates an image containing the barcode, its format, and its content as text. Through the Android share sheet, it grants the receiving app you select permission to read that image. How the image is subsequently sent, stored, or used depends on your actions and that service’s privacy policy.

When you choose to export an image, it is saved to your device’s photo gallery. If you have enabled cloud photo synchronization, your photo service may upload the image. Sharing and exporting are actions you initiate; the developer does not receive the image as a result.

5. System backups and device transfers

The app allows Android system backups. Its local database and preferences may be copied to the cloud or another device through system backup or device transfer features. What is included depends on your Android version, device manufacturer, and backup settings.

These operations are handled by the system and the backup service you use. The developer cannot access your system backups. You can manage backups in your device or backup service settings. Previously backed-up data may be restored when you reinstall the app or move to another device.

6. Data retention and deletion

Local records and preferences are retained until you delete records, clear the app’s storage, or uninstall the app. Copies in different locations must be managed separately:

  • Individual history records: You can delete a record from the app’s history.
  • All local app data: You can clear the app’s storage in Android settings to remove its local database, preferences, and cache. Uninstalling also removes the app’s dedicated local data.
  • Sharing cache: Subsequent sharing overwrites the same temporary image. You can also clear the app’s cache in Android settings.
  • Exported images: These must be deleted separately from your photo gallery. If cloud synchronization is enabled, also check the service’s copies and trash.
  • Shared copies: These must be managed in the receiving app or service, or by contacting the recipient. Barcode Generator cannot recall or delete copies that recipients have already obtained.
  • System backups: Manage these through the system or backup service. Deleting local data does not mean existing backups are also deleted, and data may reappear when a backup is restored.

Deleting a history record does not also delete earlier sharing cache images, gallery images, shared copies, or system backups.

7. Data security

The local database and preferences are stored in the app’s dedicated storage, using Android’s application isolation mechanisms. When you share an image, the receiving app is granted permission to read that image.

The app does not provide additional database encryption or password protection for barcodes. Please secure your device with a screen lock and choose recipients carefully. No storage or transmission method can guarantee absolute security.

8. Email correspondence

If you send an email, the developer receives your sender address, message, and any attachments you voluntarily provide. This information is used to respond to your inquiry and address related issues. Email is processed by email service providers and is subject to their applicable policies.

Correspondence is retained only while needed to handle your inquiry and necessary follow-up, and is deleted when no longer needed, unless retention is required by law. You may use the email address below to ask about or request deletion of your correspondence data. Please do not include passwords or unnecessary sensitive information in your messages.

9. Data processing on this policy website

This policy website is hosted by Cloudflare. When you visit it over the internet, Cloudflare may process connection data such as your IP address, browser information, request time, and requested URL to deliver pages, maintain the service, and provide security protection. This website connection data is separate from the barcode records the app stores on your device.

The page itself does not include analytics or advertising trackers and does not set cookies. For the hosting provider’s data handling practices, see the Cloudflare Privacy Policy.

10. Policy updates

When the app’s features or data handling practices change, the developer will update this policy and the last updated date at the top of the page. Material changes affecting your rights will be communicated through an appropriate means.

11. Contact information

For questions about this policy or data processing, or to request access to or deletion of information held by the developer, please contact:

Semicolon Chang
semicolon.chang@gmail.com