Privacy Policy
LUT Cam — published on Google Play as LUT Cam: Cinematic Video, package app.filmode.lutcam — is a video camera for Android published by FightTech VN. In short: your clips are recorded and saved on your phone, they are never uploaded, and there is no account. The only thing the app sends over the internet by itself is anonymous usage counts and crash reports, which you can switch off in Settings. It also talks to Google Play for purchases. There are no ads, no advertising ID, and we do not sell any data.
What the app does
LUT Cam shows the camera picture with a colour look (a 3D LUT) applied, and records that picture, look included, to an MP4 video file on your phone. All of the processing happens on the phone's own graphics chip and video encoder. Nothing you film is sent to us, to Google or to anyone else.
Permissions the app declares
These are all the permissions in the app's final manifest, including the ones Google's libraries add to it. Android asks you for the runtime ones (camera and microphone) when each is first needed, and you can revoke them later in Settings → Apps → LUT Cam → Permissions.
- Camera (
CAMERA) — the app is a camera, so it asks for this when it first opens. The camera picture is shown on screen and written into the clips you record; it is never streamed or uploaded. The app needs a camera on the device (front or back) to install. - Microphone, optional (
RECORD_AUDIO) — used only to record sound into a clip, and asked for the first time you press record with Sound on in the format sheet. The sound is written into your video file on the device and never transmitted. Deny it, or turn Sound off, and clips record without sound. The microphone is declared optional, so the app also installs on devices without one. - Internet (
INTERNET,ACCESS_NETWORK_STATE) — used for the anonymous usage and crash reports described below, and by Google Play Billing for purchases. The second lets the app and Google's libraries check whether the phone is online before trying. Neither is a runtime permission. - Google Play billing (
com.android.vending.BILLING) — added by Google's Play Billing library for the optional LUT Cam Pro purchase. It lets the app hand a purchase to the Google Play app on your phone. - Background upload and install source (
WAKE_LOCK,com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE) — added by the Firebase SDKs. The first lets a usage or crash report that is already queued finish sending if the screen turns off; the second lets the analytics SDK read, once, which Google Play listing the app was installed from, used only for aggregate install counts and never for advertising. Neither is a runtime permission. (Keeping the screen on while you record uses a window setting, not this permission.) - Storage, on Android 9 and earlier only (
WRITE_EXTERNAL_STORAGE, declared withmaxSdkVersion="28") — asked for on Android 8 and 9 the first time you record, to save clips into the sharedMovies/LUT Camfolder. Without it, clips on those versions are saved to the app's own folder instead. On Android 10 and newer the app saves through the system MediaStore and this permission is neither declared nor requested. - App-internal (
app.filmode.lutcam.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION) — added automatically by Google's AndroidX library. Only LUT Cam itself holds it; it makes sure no other app can send messages to LUT Cam's internal components. It gives access to no data.
No location, no gallery access. The app declares no location permission and writes no location into your clips. It does not declare READ_MEDIA_VIDEO, READ_MEDIA_IMAGES or READ_EXTERNAL_STORAGE, so it cannot browse your gallery; it only opens the clips it recorded itself. It declares no contacts, phone, calendar, SMS, Bluetooth or "all files access" permission.
No advertising permission. AD_ID and the Android Ad Services permissions are explicitly removed from the build, and advertising-ID collection is switched off in the analytics SDK, so the app cannot read your advertising identifier.
The level guide and the 16:9 orientation hint read the phone's motion sensor, which needs no permission; the readings are used on screen and never stored or sent.
Your clips
Clips are recorded as MP4 files into Movies/LUT Cam on your phone, where your gallery and other video apps can see them. They are yours: the app never uploads, copies or shares them. The thumbnail beside the record button opens the clip history described below (or, before there is one, your last clip), and a clip plays in the video player you choose, through Android.
If you leave the app while recording, the recording stops and the clip is saved, so the camera and microphone are never in use while LUT Cam is in the background.
Clip history
So you can find a clip again and record with the same look, the app keeps a history of the clips it saved. You open it from the thumbnail beside the record button or under Settings → Clip history. It stays on your phone: it is kept in the app's private storage, is left out of Android backup and device transfer, and is never uploaded.
- For each clip it keeps the date and time; the look it was recorded with, and the one it ended on if you changed looks while recording (for an imported look, the name it had then); the intensity; the resolution, frame rate, codec, 9:16 or 16:9, stabilization and whether sound was on; the frame lines, if any; the length; the link to the video in
Movies/LUT Cam; and one small still frame from the start of the clip (at most 320 pixels on the long edge) to show in the list. It keeps no sound and no other part of the video. - Recent looks. It counts which looks you picked and recorded with, and when, to offer the most recent ones first. Removing an imported look takes it off this list.
- It holds the last 500 clips; older entries drop off by themselves.
To clear it: tap Clear history at the end of the clip history or under Settings, or remove a single clip from the list. This deletes the list, its still frames and the recent looks. Your videos stay in Movies/LUT Cam; if you delete one there, its history entry shows it as missing until you remove it. Uninstalling the app or clearing its storage also deletes the whole history.
Looks and imported LUT files
The 20 curated looks are built into the app and are never downloaded. When you tap + Import .cube, Android's file picker opens and hands the app only the file you choose. The app reads the colour table from it and keeps a copy in its private storage, so the look still works if the original file moves; removing the look from the carousel deletes that copy. The file's name is shown in the app but is never sent anywhere. Your choices — look, intensity, format, guides, the sample scene — are stored in the app's private settings on the phone.
Sample photos
The eight sample photos that the look cards and the before/after compare are drawn on are built into the app. They are Wikimedia Commons Picture of the Year finalists by other photographers, used under their Creative Commons licences and credited in the app under Settings → Photo credits and on the home page. Showing them sends nothing anywhere.
Analytics and crash reporting
The app uses Google Analytics for Firebase and Firebase Crashlytics, both provided by Google, to learn which features get used and to fix crashes. Both are on by default and both stop when you switch off Settings → Usage and crash reports; the choice is remembered across launches.
- Usage counts — the events listed below, plus what the Firebase SDK records by itself: that the app was opened for the first time, sessions and their length, which screen was shown, the app version, the phone model, Android version, language and country, and a random app-instance ID that Firebase creates on install. Google Analytics also records a completed Google Play purchase automatically, with the product ID, product name, price and currency. Country is derived by Google from the connection; Google Analytics does not log or store IP addresses.
- Crash reports — when the app fails, or hits an error it recovers from, the stack trace and the part of the app where it happened, the phone model, Android version, free memory and disk space, orientation, a random Crashlytics installation ID, and the list of app events (from the list below) that led up to it.
What is never sent: your clips or any frame of them, the camera picture, sound, thumbnails, the clip history, file names, the names or contents of LUT files you import, your location, your advertising identifier, your name, email or any account identifier.
This data is processed by Google on our behalf, under the Firebase privacy and security terms. It is used only to improve the app, never for advertising, never combined with other data to identify you, and never sold.
No advertising. The app contains no ads and no ad SDK.
Every event the app sends
This is the complete list of LUT Cam's own events, with every value each one carries. A look is identified by its built-in catalogue ID (for example golden or Cinematic-5); an imported look is always sent as imported, never by its name.
Recording
| Event | When | Values |
|---|---|---|
record_start | A recording starts | resolution, frame rate, codec, 9:16 or 16:9, sound on or off, stabilization on or off, look, intensity |
record_stop | A recording ends | length in seconds, whether it was saved, and why it stopped (you pressed stop, the app went to the background, the 4 GB file limit, or an error) |
record_error | The phone's encoder or recorder refuses a format or fails mid-recording | the stage that failed (start, encoder or recording), with the codec, resolution and frame rate, or the recorder's numeric error code |
clip_open | You play a clip, from the last clip's thumbnail or from the clip history | none; from the clip history, from = history |
history_open | You open the clip history | where from (the last clip's thumbnail or Settings) |
history_reuse | You pick a look again from the clip history | kind (look), the look, where from (recent looks or a clip) |
history_delete | You remove a clip from the history or clear it | one or all, how many entries; where from (a clip, the history or Settings) |
Looks and settings
| Event | When | Values |
|---|---|---|
look_select | You pick a look | look, whether it is a Pro look, whether you were recording |
look_import | You import a LUT file | result (ok, no colour table found, or failed) and the kind of file (for example CUBE) |
look_remove | You remove an imported look | none |
scene_select | You pick a sample scene in the look preview | the scene (for example canal) |
format_change | You change a setting in the format sheet | which setting, and its new value |
guides_change | You change a guide | which guide (frame lines, thirds or level), and its new value |
Screens
screen_view, with the screen's name: record, format, guides, settings, paywall, look_preview, photo_credits or clip_history.
LUT Cam Pro
| Event | When | Values |
|---|---|---|
paywall_open | The Pro screen opens | what opened it (for example a Pro look or 60 fps) and the look or setting involved |
paywall_plan_select | You pick a plan on it | product ID, offer ID (the Google Play discount offer, such as a launch sale, or none) |
paywall_dismiss | You close it | what opened it, seconds it was open, the plan and offer selected |
purchase_start | You start a purchase | product ID, offer ID, what opened the Pro screen |
purchase | A purchase completes | product ID, offer ID, what opened the Pro screen, price, currency, whether it began with a free trial |
purchase_cancel | You cancel the Google Play purchase sheet | product ID, offer ID, what opened the Pro screen |
purchase_fail | A purchase cannot complete | product ID, offer ID, and the reason: billing unavailable, a Google Play error code, or a purchase whose signature did not verify |
purchase_restore | You tap Restore purchases | the result |
pro_state | The app checks your purchases with Google Play | whether Pro is on, and the product ID that grants it |
Camera engine
camera_busy— the camera could not be opened because another app is using it; carries whether it was the front camera.- Error reports (Crashlytics non-fatals) when the camera fails to start or to reconfigure:
camerax_bind,camerax_dual_bind,camera2_open, and, from shared camera code that LUT Cam does not normally reach,camerax_take_picture,camera2_take_pictureanddng_write. Each carries only the error and where it happened.
Labels on every report
A user property app_variant = lutcam on usage counts, and a key app = lutcam on crash reports, so LUT Cam can be told apart from our other apps in the same Firebase project.
Data we collect
Only the anonymous usage counts and crash reports described above, which we see as totals and individual crash reports in the Firebase console. We — FightTech VN — hold no database of users, and we never see your clips, your imported looks or your settings. There is no account system and no newsletter. If you email us, we receive what you choose to write, and use it only to answer you.
Purchases
LUT Cam Pro (every look, 60 fps, HEVC, 2160p where the phone allows it, and unlimited imported looks) is sold as a monthly or yearly subscription or a one-time lifetime purchase through Google Play Billing. Google processes the payment under the Google Privacy Policy; your card details and billing address are never given to us or to the app. As the seller, Google Play Console shows us the order record for each purchase — order ID, product, date, price and country — which we use only for refunds, tax and support, and not to identify or contact you. The app checks the purchase on your phone against Google's signature and remembers the result locally; it sends nothing about it to us, apart from the anonymous purchase events listed above. Everything outside Pro is free and needs no purchase.
Data shared with third parties
None is sold or shared for advertising. The only other company involved is Google, which runs Firebase (the usage counts and crash reports, as our processor) and Google Play Billing (any Pro purchase, as described above). Google never receives your clips.
Android backup
If you use Android's own backup or move to a new phone with Android's transfer tool, Android may include LUT Cam's private data — your settings and imported looks — in a backup stored in your Google account or copied to your new phone. That is done by Android and Google under your account and its settings; we have no access to it. The clip history, its still frames and the recent looks are left out of both. Your clips in Movies/LUT Cam are backed up, or not, like any other video on your phone.
Data retention and deletion
Your settings, imported looks and clip history live on your device and are removed when you uninstall the app or clear its storage; you can also clear the history on its own (see Clip history). Clips you recorded are yours and stay in Movies/LUT Cam until you delete them.
Firebase Crashlytics keeps crash reports for 90 days. Google Analytics keeps user-level event data for the retention period set in our project, at most 14 months, after which only aggregated totals remain. Switching off Usage and crash reports stops any new data; clearing the app's data or reinstalling it creates a new random app-instance ID, so earlier data can no longer be linked to your phone. You can cancel a subscription or ask for a refund in the Google Play app under Payments & subscriptions.
To delete your LUT Cam data:
- Your clips are not affected by any of the steps below; everything in
Movies/LUT Camstays where it is until you delete it yourself. - In LUT Cam, open Settings and switch off Usage and crash reports, so nothing new is sent.
- Uninstall LUT Cam, or clear its storage in Android's Settings → Apps → LUT Cam → Storage → Clear storage. This deletes your settings, imported looks and clip history from the phone, and resets the random app-instance ID.
- To have the usage counts and crash reports already sent deleted too, email trunghieu4121993@gmail.com with the subject "LUT Cam data deletion". We will delete them from Firebase within 30 days and reply to confirm. Otherwise they are removed automatically after the retention periods above.
Google Play keeps its own order records for purchases under the Google Privacy Policy. We keep nothing else about you.
Security
Your settings, imported looks and clip history sit in the app's private storage, which Android keeps out of reach of other apps. Reports to Firebase are sent over HTTPS. Purchases are verified with Google's signature on the device. No system is perfectly secure, but because your clips never leave the phone, there is no copy of them on any server of ours to leak.
Children
The app is not directed at children under 13 and does not knowingly collect personal information from children.
Your responsibility
You are responsible for what you film and share, including the consent of the people you record and the rules of the places you record in.
Changes to this policy
If the app's data practices change, this page will be updated and the date above revised before the new version is released. If a future version adds a permission, an event or an SDK, it will be listed here first. Written on September 28, 2026 for the first release of LUT Cam: Cinematic Video.
Contact
FightTech VN, Vietnam. Questions about this policy, or a request about your data? Email trunghieu4121993@gmail.com.