1. Summary

2. Information collected automatically

Data Collected by Purpose
Crash logs: stack trace and app state at the time of a crash Firebase Crashlytics Find and fix crashes
Device information at the time of a crash (device model, OS version, free memory/disk, orientation) Firebase Crashlytics Find and fix crashes
Crashlytics installation ID (random ID created by the app) Firebase Crashlytics Count how many users a crash affects
App interactions: screen views, sessions, and basic app events Google Analytics for Firebase Understand which features are used and improve the app
App-instance ID and Android Advertising ID Google Analytics for Firebase Count users and sessions (not used for advertising — the app shows no ads)
Approximate location (country/region derived from a masked IP address) Google Analytics for Firebase, Microsoft Clarity Aggregate usage statistics
Session recordings: screen captures of the app, taps, scrolls, and screen transitions Microsoft Clarity Understand how the app is used and find usability problems
Device information (device model, OS version, screen size) and a random Clarity user/session ID Microsoft Clarity Group recordings by session and device type

Session recordings capture what the app displays. Text and images the app is configured to mask are hidden before a recording leaves the device; anything not masked, which can include thumbnails of photos and videos shown in the app, may appear in the recording.

This data is sent over an encrypted connection (HTTPS). It is not sold and is not shared with third parties other than Google and Microsoft, which process it as service providers.

You can reset or delete your Advertising ID in your device's Android settings (Settings → Privacy → Ads, depending on the device).

3. Information we do not collect

4. How the app uses your photos, videos, and audio

When you choose files to compress, the app reads them from your device's media library using the Android permissions listed below and processes them using Android's built-in media encoder (Media3 Transformer) or, for a small number of formats it cannot handle natively, a bundled encoder library (FFmpegKit). The compressed result is written to your device's storage, in the Pictures/Media_Compress, Movies/Media_Compress, or Music/Media_Compress folder. Your original file is never modified, overwritten, or deleted by this process.

5. Permissions the app requests

See permissions_review.md in this same package for the full list and the exact reason each permission is requested. Media permissions exist solely so the app can read the media files you choose and save the results. INTERNET, ACCESS_NETWORK_STATE, WAKE_LOCK, and the Advertising ID permission are added by the Firebase and Clarity SDKs to send the data described in section 2.

6. Third-party SDKs